@pingux/astro 2.170.1-alpha.0 → 2.172.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/Avatar/Avatar.js +13 -2
- package/lib/cjs/components/Avatar/Avatar.test.js +95 -1
- package/lib/cjs/components/Avatar/constants.d.ts +2 -0
- package/lib/cjs/components/Avatar/constants.js +8 -0
- package/lib/cjs/components/Avatar/getColorFromUuid.d.ts +2 -0
- package/lib/cjs/components/Avatar/getColorFromUuid.js +37 -0
- package/lib/cjs/components/Icon/Icon.js +15 -49
- package/lib/cjs/components/Icon/Icon.test.js +7 -36
- package/lib/cjs/components/Icon/IconDefault.d.ts +4 -0
- package/lib/cjs/components/Icon/IconDefault.js +63 -0
- package/lib/cjs/components/Icon/IconDefault.test.js +92 -0
- package/lib/cjs/components/Icon/IconSymbol.d.ts +4 -0
- package/lib/cjs/components/Icon/IconSymbol.js +60 -0
- package/lib/cjs/components/Icon/IconSymbol.mdx +46 -0
- package/lib/cjs/components/Icon/IconSymbol.test.js +80 -0
- package/lib/cjs/components/Icon/MaterialSymbolIcon.stories.d.ts +7 -0
- package/lib/cjs/components/Icon/MaterialSymbolIcon.stories.js +207 -0
- package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +31 -31
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +31 -31
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +31 -31
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +18 -20
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +18 -20
- package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +32 -29
- package/lib/cjs/styles/themeOverrides/onyxSideNav.js +3 -0
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +3 -2
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +32 -32
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.js +1 -32
- package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +32 -32
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +60 -56
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +28 -24
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +28 -24
- package/lib/cjs/types/avatar.d.ts +2 -0
- package/lib/cjs/types/icon.d.ts +3 -1
- package/lib/cjs/types/navBar.d.ts +2 -1
- package/lib/components/Avatar/Avatar.js +14 -3
- package/lib/components/Avatar/Avatar.test.js +95 -1
- package/lib/components/Avatar/constants.js +2 -0
- package/lib/components/Avatar/getColorFromUuid.js +29 -0
- package/lib/components/Icon/Icon.js +11 -47
- package/lib/components/Icon/Icon.test.js +5 -34
- package/lib/components/Icon/IconDefault.js +53 -0
- package/lib/components/Icon/IconDefault.test.js +84 -0
- package/lib/components/Icon/IconSymbol.js +50 -0
- package/lib/components/Icon/IconSymbol.mdx +46 -0
- package/lib/components/Icon/IconSymbol.test.js +77 -0
- package/lib/components/Icon/MaterialSymbolIcon.stories.js +200 -0
- package/lib/index.js +1 -1
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +18 -20
- package/lib/styles/themeOverrides/onyxSideNav.js +3 -0
- package/lib/styles/themes/next-gen/convertedComponentList.js +3 -2
- package/lib/styles/themes/next-gen/customProperties/icons.js +1 -32
- package/lib/styles/themes/next-gen/variants/variants.js +28 -24
- package/lib/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +4 -2
|
@@ -21,8 +21,10 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-c
|
|
|
21
21
|
var _react = _interopRequireWildcard(require("react"));
|
|
22
22
|
var _themeUi = require("theme-ui");
|
|
23
23
|
var _hooks = require("../../hooks");
|
|
24
|
+
var _constants = require("./constants");
|
|
25
|
+
var _getColorFromUuid = _interopRequireDefault(require("./getColorFromUuid"));
|
|
24
26
|
var _react2 = require("@emotion/react");
|
|
25
|
-
var _excluded = ["alt", "defaultText", "color", "className", "size", "src", "sx", "children", "isSquare", "isLogo"];
|
|
27
|
+
var _excluded = ["alt", "defaultText", "color", "colorId", "className", "size", "src", "sx", "children", "isSquare", "isLogo"];
|
|
26
28
|
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
27
29
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
30
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -32,6 +34,7 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
32
34
|
_props$defaultText = props.defaultText,
|
|
33
35
|
defaultText = _props$defaultText === void 0 ? 'AA' : _props$defaultText,
|
|
34
36
|
color = props.color,
|
|
37
|
+
colorId = props.colorId,
|
|
35
38
|
className = props.className,
|
|
36
39
|
_props$size = props.size,
|
|
37
40
|
size = _props$size === void 0 ? 'sm' : _props$size,
|
|
@@ -41,7 +44,15 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
41
44
|
isSquare = props.isSquare,
|
|
42
45
|
isLogo = props.isLogo,
|
|
43
46
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
44
|
-
|
|
47
|
+
|
|
48
|
+
// this will use color prop if provided,
|
|
49
|
+
// else will map colorId to a color, else defaults to 'green'
|
|
50
|
+
var finalColor = (0, _react.useMemo)(function () {
|
|
51
|
+
if (color) return color;
|
|
52
|
+
if (colorId) return (0, _getColorFromUuid["default"])(colorId, _constants.avatarColors);
|
|
53
|
+
return 'green';
|
|
54
|
+
}, [color, colorId, _constants.avatarColors]);
|
|
55
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, "is-".concat(finalColor), finalColor), "size-".concat(size), size), "font-size-".concat(size), src ? false : size), 'is-square', isSquare), 'is-image', src), 'is-logo', isLogo)),
|
|
45
56
|
classNames = _useStatusClasses.classNames;
|
|
46
57
|
if (src) {
|
|
47
58
|
return (0, _react2.jsx)(_themeUi.Box, (0, _extends2["default"])({
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
|
5
|
+
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
|
6
|
+
var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
|
|
7
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
4
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
5
9
|
var _react = _interopRequireDefault(require("react"));
|
|
6
10
|
var _faker = require("@faker-js/faker");
|
|
11
|
+
var _nodeCrypto = require("node:crypto");
|
|
7
12
|
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
|
8
13
|
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
|
14
|
+
var _constants = require("./constants");
|
|
15
|
+
var _getColorFromUuid = _interopRequireDefault(require("./getColorFromUuid"));
|
|
9
16
|
var _ = _interopRequireDefault(require("."));
|
|
10
17
|
var _react2 = require("@emotion/react");
|
|
11
18
|
var src = _faker.faker.image.lorempicsum.imageUrl(150, 150, false, undefined, '1');
|
|
19
|
+
var datatestId = 'avatar-component';
|
|
12
20
|
var defaultProps = {
|
|
13
|
-
src: src
|
|
21
|
+
src: src,
|
|
22
|
+
'data-testid': datatestId
|
|
14
23
|
};
|
|
15
24
|
var getComponent = function getComponent() {
|
|
16
25
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -43,4 +52,89 @@ test('an avatar is rendered with custom alt', function () {
|
|
|
43
52
|
});
|
|
44
53
|
var avatar = _testWrapper.screen.getByText('KL');
|
|
45
54
|
expect(avatar).toBeInTheDocument();
|
|
55
|
+
});
|
|
56
|
+
describe('getColorFromUUID', function () {
|
|
57
|
+
test('returns a consistent color for the same UUID', function () {
|
|
58
|
+
var uuid = '123e4567-e89b-12d3-a456-426614174000';
|
|
59
|
+
var result1 = (0, _getColorFromUuid["default"])(uuid, _constants.avatarColors);
|
|
60
|
+
var result2 = (0, _getColorFromUuid["default"])(uuid, _constants.avatarColors);
|
|
61
|
+
expect(result1).toBe(result2);
|
|
62
|
+
});
|
|
63
|
+
test('returns a color from the provided array', function () {
|
|
64
|
+
var uuid = 'random-id';
|
|
65
|
+
var result = (0, _getColorFromUuid["default"])(uuid, _constants.avatarColors);
|
|
66
|
+
expect(_constants.avatarColors).toContain(result);
|
|
67
|
+
});
|
|
68
|
+
test('distributes colors differently for different UUIDs', function () {
|
|
69
|
+
var colorA = (0, _getColorFromUuid["default"])('id-1', _constants.avatarColors);
|
|
70
|
+
var colorB = (0, _getColorFromUuid["default"])('id-2', _constants.avatarColors);
|
|
71
|
+
|
|
72
|
+
// While collisions are mathematically possible, for 2 items in a 10-item list,
|
|
73
|
+
// these specific IDs yield different results in FNV-1a.
|
|
74
|
+
expect(colorA).not.toBe(colorB);
|
|
75
|
+
});
|
|
76
|
+
test('throws error if color array is empty', function () {
|
|
77
|
+
expect(function () {
|
|
78
|
+
return (0, _getColorFromUuid["default"])('uuid', []);
|
|
79
|
+
}).toThrow('Color array cannot be empty.');
|
|
80
|
+
});
|
|
81
|
+
test('uses the specific color class when color prop is provided', function () {
|
|
82
|
+
getComponent({
|
|
83
|
+
color: 'blue',
|
|
84
|
+
colorId: 'some-id'
|
|
85
|
+
});
|
|
86
|
+
var avatar = _testWrapper.screen.getByTestId(datatestId);
|
|
87
|
+
|
|
88
|
+
// Checking for 'is-blue'
|
|
89
|
+
expect(avatar).toHaveClass('is-blue');
|
|
90
|
+
});
|
|
91
|
+
test('applies a hashed color class from colorId', function () {
|
|
92
|
+
var uuid = '550e8400-e29b-41d4-a716-446655440000';
|
|
93
|
+
getComponent({
|
|
94
|
+
colorId: uuid
|
|
95
|
+
});
|
|
96
|
+
var avatar = _testWrapper.screen.getByTestId(datatestId);
|
|
97
|
+
|
|
98
|
+
// We check that it has *a* class starting with 'is-'
|
|
99
|
+
// and specifically isn't the default 'is-green'
|
|
100
|
+
var classList = (0, _from["default"])(avatar.classList);
|
|
101
|
+
var colorClass = (0, _find["default"])(classList).call(classList, function (cls) {
|
|
102
|
+
return (0, _startsWith["default"])(cls).call(cls, 'is-');
|
|
103
|
+
});
|
|
104
|
+
expect(colorClass).toBeDefined();
|
|
105
|
+
expect(avatar).not.toHaveClass('is-green');
|
|
106
|
+
});
|
|
107
|
+
test('defaults to is-green when no color props are passed', function () {
|
|
108
|
+
getComponent();
|
|
109
|
+
var avatar = _testWrapper.screen.getByTestId(datatestId);
|
|
110
|
+
expect(avatar).toHaveClass('is-green');
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('getColorFromUUID Distribution', function () {
|
|
114
|
+
test('distributes 10,000 UUIDs evenly across 10 colors', function () {
|
|
115
|
+
var iterations = 10000;
|
|
116
|
+
var distribution = {};
|
|
117
|
+
|
|
118
|
+
// Initialize counts
|
|
119
|
+
(0, _forEach["default"])(_constants.avatarColors).call(_constants.avatarColors, function (c) {
|
|
120
|
+
distribution[c] = 0;
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
// Generate and hash
|
|
124
|
+
for (var i = 0; i < iterations; i += 1) {
|
|
125
|
+
// Use the imported randomUUID function directly
|
|
126
|
+
var uuid = (0, _nodeCrypto.randomUUID)();
|
|
127
|
+
var selectedColor = (0, _getColorFromUuid["default"])(uuid, _constants.avatarColors);
|
|
128
|
+
distribution[selectedColor] += 1;
|
|
129
|
+
}
|
|
130
|
+
var expectedMean = iterations / _constants.avatarColors.length;
|
|
131
|
+
// 15% variance is a safe threshold for 10k iterations
|
|
132
|
+
var allowedVariance = 0.15;
|
|
133
|
+
(0, _forEach["default"])(_constants.avatarColors).call(_constants.avatarColors, function (color) {
|
|
134
|
+
var count = distribution[color];
|
|
135
|
+
// Assert that each color is roughly 10% of the total
|
|
136
|
+
expect(count).toBeGreaterThan(expectedMean * (1 - allowedVariance));
|
|
137
|
+
expect(count).toBeLessThan(expectedMean * (1 + allowedVariance));
|
|
138
|
+
});
|
|
139
|
+
});
|
|
46
140
|
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.avatarColors = void 0;
|
|
8
|
+
var avatarColors = exports.avatarColors = ['green', 'purple', 'pink', 'red', 'orange', 'yellow', 'teal', 'cyan', 'blue', 'indigo'];
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _imul = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/math/imul"));
|
|
10
|
+
// * Maps a UUID to a specific color from a provided array.
|
|
11
|
+
// * @param uuid - The unique identifier string.
|
|
12
|
+
// * @param colors - An array of color strings/objects.
|
|
13
|
+
// * @returns A single color from the array.
|
|
14
|
+
|
|
15
|
+
var getColorFromUUID = function getColorFromUUID(uuid, colors) {
|
|
16
|
+
if (colors.length === 0) {
|
|
17
|
+
throw new Error('Color array cannot be empty.');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// FNV-1a Hash implementation
|
|
21
|
+
// This spreads the bits of the UUID string evenly across a 32-bit integer
|
|
22
|
+
var hash = 2166136261;
|
|
23
|
+
for (var i = 0; i < uuid.length; i += 1) {
|
|
24
|
+
/* eslint-disable no-bitwise */
|
|
25
|
+
hash ^= uuid.charCodeAt(i);
|
|
26
|
+
// Standard FNV prime (using Math.imul for 32-bit integer multiplication)
|
|
27
|
+
|
|
28
|
+
hash = (0, _imul["default"])(hash, 16777619);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Convert to an unsigned index using the modulo operator
|
|
32
|
+
// The >>> 0 ensures we are dealing with an unsigned 32-bit integer
|
|
33
|
+
/* eslint-disable no-bitwise */
|
|
34
|
+
var index = (hash >>> 0) % colors.length;
|
|
35
|
+
return colors[index];
|
|
36
|
+
};
|
|
37
|
+
var _default = exports["default"] = getColorFromUUID;
|
|
@@ -1,63 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
5
|
-
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
6
|
-
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
7
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
-
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
9
|
-
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
10
|
-
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
11
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
12
4
|
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
13
7
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
14
8
|
_Object$defineProperty(exports, "__esModule", {
|
|
15
9
|
value: true
|
|
16
10
|
});
|
|
17
11
|
exports["default"] = void 0;
|
|
18
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
20
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/typeof"));
|
|
21
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
22
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
23
|
-
var
|
|
24
|
-
var
|
|
14
|
+
var _IconDefault = _interopRequireDefault(require("./IconDefault"));
|
|
15
|
+
var _IconSymbol = _interopRequireDefault(require("./IconSymbol"));
|
|
25
16
|
var _react2 = require("@emotion/react");
|
|
26
|
-
var
|
|
27
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
|
-
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
30
18
|
var Icon = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var _useTShirtSize = (0, _hooks.useTShirtSize)({
|
|
41
|
-
size: size,
|
|
42
|
-
sizes: theme.tShirtSizes
|
|
43
|
-
}),
|
|
44
|
-
sizeProps = _useTShirtSize.sizeProps;
|
|
45
|
-
var defaultIconColor = theme.defaultIconColor;
|
|
46
|
-
var resolvedTitle = title !== null && title !== void 0 ? title : (0, _typeof2["default"])(IconComponent) === 'object' && 'type' in IconComponent ? {
|
|
47
|
-
name: IconComponent.type.name
|
|
48
|
-
} : '';
|
|
49
|
-
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
|
50
|
-
as: IconComponent,
|
|
51
|
-
ref: ref,
|
|
52
|
-
role: "img",
|
|
53
|
-
title: resolvedTitle,
|
|
54
|
-
variant: variant,
|
|
55
|
-
size: sizeProps.size,
|
|
56
|
-
sx: _objectSpread({
|
|
57
|
-
fill: color || defaultIconColor,
|
|
58
|
-
minWidth: sizeProps.size
|
|
59
|
-
}, sx)
|
|
60
|
-
}, others));
|
|
19
|
+
var icon = props.icon;
|
|
20
|
+
if (typeof icon === 'string') {
|
|
21
|
+
return (0, _react2.jsx)(_IconSymbol["default"], (0, _extends2["default"])({}, props, {
|
|
22
|
+
ref: ref
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
return (0, _react2.jsx)(_IconDefault["default"], (0, _extends2["default"])({}, props, {
|
|
26
|
+
ref: ref
|
|
27
|
+
}));
|
|
61
28
|
});
|
|
62
|
-
Icon.displayName = 'Icon';
|
|
63
29
|
var _default = exports["default"] = Icon;
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _EarthIcon = _interopRequireDefault(require("@pingux/mdi-react/EarthIcon"));
|
|
11
11
|
var _react2 = require("@testing-library/react");
|
|
12
12
|
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
|
13
|
-
var
|
|
13
|
+
var _Icon = _interopRequireDefault(require("./Icon"));
|
|
14
14
|
var _react3 = require("@emotion/react");
|
|
15
15
|
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
16
|
var testId = 'test-icon';
|
|
@@ -24,7 +24,7 @@ var defaultProps = {
|
|
|
24
24
|
};
|
|
25
25
|
var getComponent = function getComponent() {
|
|
26
26
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
27
|
-
return (0, _react2.render)((0, _react3.jsx)(
|
|
27
|
+
return (0, _react2.render)((0, _react3.jsx)(_Icon["default"], (0, _extends2["default"])({}, defaultProps, props)));
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
// The mdi-react and @pingux/mid-react libraries don't support ref forwarding
|
|
@@ -42,7 +42,7 @@ var SVGTestComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
|
42
42
|
// Needs to be added to each components test file
|
|
43
43
|
(0, _universalComponentTest.universalComponentTests)({
|
|
44
44
|
renderComponent: function renderComponent(props) {
|
|
45
|
-
return (0, _react3.jsx)(
|
|
45
|
+
return (0, _react3.jsx)(_Icon["default"], (0, _extends2["default"])({
|
|
46
46
|
icon: SVGTestComponent
|
|
47
47
|
}, props));
|
|
48
48
|
}
|
|
@@ -53,40 +53,11 @@ test('default icon', function () {
|
|
|
53
53
|
expect(icon).toBeInstanceOf(SVGSVGElement);
|
|
54
54
|
expect(icon).toBeInTheDocument();
|
|
55
55
|
});
|
|
56
|
-
test('icon
|
|
56
|
+
test('icon render for type symbol', function () {
|
|
57
57
|
getComponent({
|
|
58
|
-
|
|
58
|
+
icon: 'search'
|
|
59
59
|
});
|
|
60
|
-
var xsIcon = _react2.screen.getByTestId(testId);
|
|
61
|
-
expect(xsIcon).toHaveStyleRule('width', '9px');
|
|
62
|
-
});
|
|
63
|
-
test('icon renders correct xsmall tshirt size', function () {
|
|
64
|
-
getComponent({
|
|
65
|
-
size: 'xs'
|
|
66
|
-
});
|
|
67
|
-
var xsIcon = _react2.screen.getByTestId(testId);
|
|
68
|
-
expect(xsIcon).toHaveStyleRule('width', '15px');
|
|
69
|
-
});
|
|
70
|
-
test('icon renders correct small tshirt size', function () {
|
|
71
|
-
getComponent({
|
|
72
|
-
size: 'sm'
|
|
73
|
-
});
|
|
74
|
-
var smIcon = _react2.screen.getByTestId(testId);
|
|
75
|
-
expect(smIcon).toHaveStyleRule('width', '20px');
|
|
76
|
-
});
|
|
77
|
-
test('icon renders correct medium tshirt size', function () {
|
|
78
|
-
getComponent({
|
|
79
|
-
size: 'md'
|
|
80
|
-
});
|
|
81
|
-
var mdIcon = _react2.screen.getByTestId(testId);
|
|
82
|
-
expect(mdIcon).toHaveStyleRule('width', '25px');
|
|
83
|
-
});
|
|
84
|
-
test('icon renders with associated title', function () {
|
|
85
|
-
getComponent();
|
|
86
60
|
var icon = _react2.screen.getByTestId(testId);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
expect(icon).toBeInTheDocument();
|
|
90
|
-
expect(icon).toHaveAttribute('aria-labelledby', 'title-id');
|
|
91
|
-
expect(title).toBeInTheDocument();
|
|
61
|
+
expect(icon).toHaveClass('material-symbols-outlined');
|
|
62
|
+
_react2.screen.getByText(/search/i);
|
|
92
63
|
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof3 = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
6
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
10
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
11
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
12
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
14
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
exports["default"] = void 0;
|
|
18
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
20
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/typeof"));
|
|
21
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
22
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
23
|
+
var _hooks = require("../../hooks");
|
|
24
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
|
25
|
+
var _react2 = require("@emotion/react");
|
|
26
|
+
var _excluded = ["color", "icon", "sx", "size", "variant", "title"];
|
|
27
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
|
+
var IconDefault = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
31
|
+
var theme = (0, _hooks.useGetTheme)();
|
|
32
|
+
var color = props.color,
|
|
33
|
+
IconComponent = props.icon,
|
|
34
|
+
sx = props.sx,
|
|
35
|
+
_props$size = props.size,
|
|
36
|
+
size = _props$size === void 0 ? theme.defaultIconSize : _props$size,
|
|
37
|
+
variant = props.variant,
|
|
38
|
+
title = props.title,
|
|
39
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
40
|
+
var _useTShirtSize = (0, _hooks.useTShirtSize)({
|
|
41
|
+
size: size,
|
|
42
|
+
sizes: theme.tShirtSizes
|
|
43
|
+
}),
|
|
44
|
+
sizeProps = _useTShirtSize.sizeProps;
|
|
45
|
+
var defaultIconColor = theme.defaultIconColor;
|
|
46
|
+
var resolvedTitle = title !== null && title !== void 0 ? title : (0, _typeof2["default"])(IconComponent) === 'object' && 'type' in IconComponent ? {
|
|
47
|
+
name: IconComponent.type.name
|
|
48
|
+
} : '';
|
|
49
|
+
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
|
50
|
+
as: IconComponent,
|
|
51
|
+
ref: ref,
|
|
52
|
+
role: "img",
|
|
53
|
+
title: resolvedTitle,
|
|
54
|
+
variant: variant,
|
|
55
|
+
size: sizeProps.size,
|
|
56
|
+
sx: _objectSpread({
|
|
57
|
+
fill: color || defaultIconColor,
|
|
58
|
+
minWidth: sizeProps.size
|
|
59
|
+
}, sx)
|
|
60
|
+
}, others));
|
|
61
|
+
});
|
|
62
|
+
IconDefault.displayName = 'Icon';
|
|
63
|
+
var _default = exports["default"] = IconDefault;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
7
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _EarthIcon = _interopRequireDefault(require("@pingux/mdi-react/EarthIcon"));
|
|
11
|
+
var _react2 = require("@testing-library/react");
|
|
12
|
+
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
|
13
|
+
var _IconDefault = _interopRequireDefault(require("./IconDefault"));
|
|
14
|
+
var _react3 = require("@emotion/react");
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
var testId = 'test-icon';
|
|
17
|
+
var defaultProps = {
|
|
18
|
+
'data-testid': testId,
|
|
19
|
+
icon: _EarthIcon["default"],
|
|
20
|
+
title: {
|
|
21
|
+
id: 'title-id',
|
|
22
|
+
name: 'Earth Icon'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var getComponent = function getComponent() {
|
|
26
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
27
|
+
return (0, _react2.render)((0, _react3.jsx)(_IconDefault["default"], (0, _extends2["default"])({}, defaultProps, props)));
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// The mdi-react and @pingux/mid-react libraries don't support ref forwarding
|
|
31
|
+
// A simple implementation of an SVG component demonstrates ref forwarding
|
|
32
|
+
var SVGTestComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
33
|
+
return (0, _react3.jsx)("svg", (0, _extends2["default"])({
|
|
34
|
+
ref: ref
|
|
35
|
+
}, props, {
|
|
36
|
+
"aria-labelledby": "id"
|
|
37
|
+
}), (0, _react3.jsx)("title", {
|
|
38
|
+
id: "id"
|
|
39
|
+
}, "title"));
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// Needs to be added to each components test file
|
|
43
|
+
(0, _universalComponentTest.universalComponentTests)({
|
|
44
|
+
renderComponent: function renderComponent(props) {
|
|
45
|
+
return (0, _react3.jsx)(_IconDefault["default"], (0, _extends2["default"])({
|
|
46
|
+
icon: SVGTestComponent
|
|
47
|
+
}, props));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
test('default icon', function () {
|
|
51
|
+
getComponent();
|
|
52
|
+
var icon = _react2.screen.getByTestId(testId);
|
|
53
|
+
expect(icon).toBeInstanceOf(SVGSVGElement);
|
|
54
|
+
expect(icon).toBeInTheDocument();
|
|
55
|
+
});
|
|
56
|
+
test('icon renders correct xxsmall tshirt size', function () {
|
|
57
|
+
getComponent({
|
|
58
|
+
size: 'xxs'
|
|
59
|
+
});
|
|
60
|
+
var xsIcon = _react2.screen.getByTestId(testId);
|
|
61
|
+
expect(xsIcon).toHaveStyleRule('width', '9px');
|
|
62
|
+
});
|
|
63
|
+
test('icon renders correct xsmall tshirt size', function () {
|
|
64
|
+
getComponent({
|
|
65
|
+
size: 'xs'
|
|
66
|
+
});
|
|
67
|
+
var xsIcon = _react2.screen.getByTestId(testId);
|
|
68
|
+
expect(xsIcon).toHaveStyleRule('width', '15px');
|
|
69
|
+
});
|
|
70
|
+
test('icon renders correct small tshirt size', function () {
|
|
71
|
+
getComponent({
|
|
72
|
+
size: 'sm'
|
|
73
|
+
});
|
|
74
|
+
var smIcon = _react2.screen.getByTestId(testId);
|
|
75
|
+
expect(smIcon).toHaveStyleRule('width', '20px');
|
|
76
|
+
});
|
|
77
|
+
test('icon renders correct medium tshirt size', function () {
|
|
78
|
+
getComponent({
|
|
79
|
+
size: 'md'
|
|
80
|
+
});
|
|
81
|
+
var mdIcon = _react2.screen.getByTestId(testId);
|
|
82
|
+
expect(mdIcon).toHaveStyleRule('width', '25px');
|
|
83
|
+
});
|
|
84
|
+
test('icon renders with associated title', function () {
|
|
85
|
+
getComponent();
|
|
86
|
+
var icon = _react2.screen.getByTestId(testId);
|
|
87
|
+
var title = _react2.screen.getByText('Earth Icon');
|
|
88
|
+
expect(icon).toBeInstanceOf(SVGSVGElement);
|
|
89
|
+
expect(icon).toBeInTheDocument();
|
|
90
|
+
expect(icon).toHaveAttribute('aria-labelledby', 'title-id');
|
|
91
|
+
expect(title).toBeInTheDocument();
|
|
92
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
6
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
10
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
11
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
12
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
14
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
exports["default"] = void 0;
|
|
18
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
20
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
21
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
22
|
+
var _hooks = require("../../hooks");
|
|
23
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
|
24
|
+
var _react2 = require("@emotion/react");
|
|
25
|
+
var _excluded = ["icon", "className", "title", "size", "color", "hasFill"];
|
|
26
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
27
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
29
|
+
var IconSymbol = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
30
|
+
var theme = (0, _hooks.useGetTheme)();
|
|
31
|
+
var _props$icon = props.icon,
|
|
32
|
+
icon = _props$icon === void 0 ? 'disabled_by_default' : _props$icon,
|
|
33
|
+
className = props.className,
|
|
34
|
+
title = props.title,
|
|
35
|
+
_props$size = props.size,
|
|
36
|
+
size = _props$size === void 0 ? theme.defaultIconSize : _props$size,
|
|
37
|
+
_props$color = props.color,
|
|
38
|
+
color = _props$color === void 0 ? theme.defaultIconColor : _props$color,
|
|
39
|
+
hasFill = props.hasFill,
|
|
40
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
41
|
+
var _useTShirtSize = (0, _hooks.useTShirtSize)({
|
|
42
|
+
size: size,
|
|
43
|
+
sizes: theme.tShirtSizes
|
|
44
|
+
}),
|
|
45
|
+
sizeProps = _useTShirtSize.sizeProps;
|
|
46
|
+
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
|
47
|
+
as: "span",
|
|
48
|
+
ref: ref,
|
|
49
|
+
className: "material-symbols-outlined ".concat(className || ''),
|
|
50
|
+
title: title === null || title === void 0 ? void 0 : title.name
|
|
51
|
+
}, rest, {
|
|
52
|
+
sx: _objectSpread(_objectSpread({}, rest.sx), {}, {
|
|
53
|
+
color: color,
|
|
54
|
+
fontSize: sizeProps.size,
|
|
55
|
+
fontVariationSettings: hasFill ? "'FILL' 1" : "'FILL' 0"
|
|
56
|
+
})
|
|
57
|
+
}), icon);
|
|
58
|
+
});
|
|
59
|
+
IconSymbol.displayName = 'Icon';
|
|
60
|
+
var _default = exports["default"] = IconSymbol;
|