krl-alfred 2.24.7 → 2.24.9
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/dist/components/ActionButton/ActionButton.styled.js +3 -3
- package/dist/components/ActionButton/stories/ActionButton.stories.js +2 -2
- package/dist/components/AddressCard/AddressCard.styled.js +1 -1
- package/dist/components/AddressCard/stories/AddressCard.stories.js +1 -1
- package/dist/components/Agreement/Agreement.styled.js +1 -1
- package/dist/components/Alert/Alert.styled.js +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.js +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.styled.js +4 -4
- package/dist/components/Badges/layouts/text/text.styled.js +4 -4
- package/dist/components/Badges/stories/Badges.stories.js +2 -2
- package/dist/components/BannerCard/BannerCard.styled.js +1 -1
- package/dist/components/BannerCard/BannerCard.test.d.ts +1 -0
- package/dist/components/BannerCard/BannerCard.test.js +109 -0
- package/dist/components/BannerCard/stories/BannerCard.stories.js +1 -1
- package/dist/components/BlogCard/BlogCard.styled.js +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.styled.js +4 -4
- package/dist/components/Button/Button.styled.js +6 -6
- package/dist/components/Button/Button.test.d.ts +1 -0
- package/dist/components/Button/Button.test.js +125 -0
- package/dist/components/CategoryMenu/CategoryMenu.styled.js +3 -3
- package/dist/components/Checkbox/Checkbox.styled.js +3 -3
- package/dist/components/CheckboxGroup/CheckboxGroup.styled.js +1 -1
- package/dist/components/CheckboxGroup/stories/CheckboxGroup.stories.js +1 -1
- package/dist/components/CircleProgress/CircleProgress.js +1 -1
- package/dist/components/CircleProgress/CircleProgress.styled.js +1 -1
- package/dist/components/CircleProgressPro/CircleProgressPro.styled.js +1 -1
- package/dist/components/CircleProgressPro/stories/CircleProgressPro.stories.js +1 -1
- package/dist/components/ColorCard/ColorCard.d.ts +1 -1
- package/dist/components/ColorCard/ColorCard.js +14 -4
- package/dist/components/ColorCard/ColorCard.styled.d.ts +4 -0
- package/dist/components/ColorCard/ColorCard.styled.js +13 -9
- package/dist/components/ColorCard/ColorCard.test.js +82 -2
- package/dist/components/ColorCard/props.d.ts +5 -0
- package/dist/components/ColorCard/props.js +5 -0
- package/dist/components/ColorCard/stories/ColorCard.stories.d.ts +74 -0
- package/dist/components/ColorCard/stories/ColorCard.stories.js +25 -1
- package/dist/components/ColorPalette/ColorPalette.styled.js +3 -3
- package/dist/components/ColorPalette/ColorPalette.test.js +29 -0
- package/dist/components/CouponCode/CouponCode.styled.js +1 -1
- package/dist/components/DescriptionCard/DescriptionCard.js +1 -1
- package/dist/components/DescriptionCard/DescriptionCard.styled.js +17 -17
- package/dist/components/DescriptionCard/stories/DescriptionCard.stories.js +5 -5
- package/dist/components/Divider/Divider.styled.js +1 -1
- package/dist/components/Dropdown/Dropdown.styled.js +1 -1
- package/dist/components/Dropdown/stories/Dropdown.stories.js +2 -2
- package/dist/components/DropdownButton/DropdownButton.styled.js +2 -2
- package/dist/components/DropdownButton/stories/DropdownButton.stories.js +1 -1
- package/dist/components/Icon/iconList/CheckboxElementChecked.js +1 -1
- package/dist/components/Icon/iconList/CheckboxElementDisabled.js +1 -1
- package/dist/components/Icon/iconList/CheckboxElementUncheck.js +1 -1
- package/dist/components/Icon/iconList/CreditCard.js +1 -1
- package/dist/components/Icon/iconList/RadioButtonElementChecked.js +1 -1
- package/dist/components/Icon/iconList/RadioButtonElementDisabled.js +1 -1
- package/dist/components/Icon/iconList/RadioButtonElementUnchecked.js +1 -1
- package/dist/components/Icon/iconList/RotateRightSm.d.ts +3 -0
- package/dist/components/Icon/iconList/RotateRightSm.js +40 -0
- package/dist/components/Icon/iconList/index.d.ts +5 -1
- package/dist/components/Icon/iconList/index.js +7 -1
- package/dist/components/InfoBox/InfoBox.styled.js +6 -6
- package/dist/components/InlineProgress/stories/InlineProgress.stories.js +1 -1
- package/dist/components/Input/Input.js +2 -2
- package/dist/components/Input/Input.styled.d.ts +1 -0
- package/dist/components/Input/Input.styled.js +18 -17
- package/dist/components/Input/Input.test.js +19 -0
- package/dist/components/InstallmentBox/InstallmentBox.styled.js +1 -1
- package/dist/components/InstallmentBox/stories/InstallmentBox.stories.js +1 -1
- package/dist/components/InsuranceBox/InsuranceBox.styled.js +2 -2
- package/dist/components/InsuranceBox/stories/InsuranceBox.stories.js +1 -1
- package/dist/components/ListGroup/ListGroup.styled.js +1 -1
- package/dist/components/ListGroup/stories/ListGroup.stories.js +1 -1
- package/dist/components/Modal/Modal.styled.js +2 -2
- package/dist/components/OptionMenu/OptionMenu.styled.js +3 -3
- package/dist/components/OtpInput/OtpInput.styled.js +3 -3
- package/dist/components/OtpInput/stories/OtpInput.stories.js +1 -1
- package/dist/components/Pagination/Pagination.styled.js +1 -1
- package/dist/components/Pagination/stories/Pagination.stories.js +1 -1
- package/dist/components/PaymentCart/PaymentCart.styled.js +1 -1
- package/dist/components/PaymentCart/stories/PaymentCart.stories.js +1 -1
- package/dist/components/ProductCardCheckbox/ProductCardCheckbox.styled.js +3 -3
- package/dist/components/ProductCardHorizontal/ProductCardHorizontal.styled.js +1 -1
- package/dist/components/ProductCardHorizontalMd/ProductCardHorizontalMd.styled.js +8 -8
- package/dist/components/ProductCardHorizontalSm/ProductCardHorizontalSm.styled.js +6 -6
- package/dist/components/ProductCardRadio/ProductCardRadio.styled.js +3 -3
- package/dist/components/ProductCardVertical/ProductCardVertical.styled.js +8 -8
- package/dist/components/ProductCardVertical/ProductCardVertical.test.js +20 -0
- package/dist/components/QuantitySelector/QuantitySelector.styled.js +4 -4
- package/dist/components/QuantitySelector/QuantitySelector.test.d.ts +1 -0
- package/dist/components/QuantitySelector/QuantitySelector.test.js +114 -0
- package/dist/components/RadioButton/RadioButton.test.js +10 -0
- package/dist/components/RadioButton/RadioIndicator.js +1 -1
- package/dist/components/RadioButton/layouts/basic/Basic.styled.js +2 -2
- package/dist/components/RadioButton/layouts/boxed/Boxed.styled.js +2 -2
- package/dist/components/RadioButton/layouts/boxedMd/BoxedMd.styled.js +4 -4
- package/dist/components/RadioButton/layouts/boxedMd/BoxedMd.test.js +5 -5
- package/dist/components/RadioButton/layouts/boxedSm/BoxedSm.styled.js +2 -2
- package/dist/components/RadioButton/layouts/boxedWithIcon/BoxedWithIcon.styled.js +4 -4
- package/dist/components/RadioButton/layouts/color/Color.styled.js +2 -2
- package/dist/components/RadioButton/layouts/horizontal/Horizontal.styled.js +8 -8
- package/dist/components/RadioButton/layouts/horizontal/Horizontal.test.js +8 -0
- package/dist/components/RadioButton/stories/RadioButton.stories.js +4 -4
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +2 -2
- package/dist/components/RadioGroup/RadioGroup.styled.d.ts +1 -0
- package/dist/components/RadioGroup/RadioGroup.styled.js +11 -10
- package/dist/components/RadioGroup/RadioGroup.test.js +41 -0
- package/dist/components/RadioGroup/props.d.ts +1 -0
- package/dist/components/RadioGroup/props.js +1 -0
- package/dist/components/RadioGroup/stories/RadioGroup.stories.d.ts +82 -1
- package/dist/components/RadioGroup/stories/RadioGroup.stories.js +52 -3
- package/dist/components/RadioScale/RadioScale.styled.js +1 -1
- package/dist/components/ReviewBlock/ReviewBlock.js +1 -1
- package/dist/components/ReviewBlock/ReviewBlock.styled.js +9 -9
- package/dist/components/ReviewBlock/ReviewBlock.test.d.ts +1 -0
- package/dist/components/ReviewBlock/ReviewBlock.test.js +58 -0
- package/dist/components/ReviewCard/ReviewCard.js +1 -1
- package/dist/components/ReviewCard/ReviewCard.styled.js +7 -7
- package/dist/components/ReviewCard/ReviewCard.test.d.ts +1 -0
- package/dist/components/ReviewCard/ReviewCard.test.js +95 -0
- package/dist/components/RichTextEditor/RichTextEditor.styled.js +10 -10
- package/dist/components/RichTextEditor/stories/RichTextEditor.stories.js +4 -4
- package/dist/components/SearchBox/SearchBox.styled.js +1 -1
- package/dist/components/SelectBox/SelectBox.js +3 -3
- package/dist/components/SelectBox/SelectBox.styled.js +11 -11
- package/dist/components/SelectBox/SelectBox.test.js +1 -1
- package/dist/components/ShoppingCartProduct/ShoppingCartProduct.styled.js +16 -16
- package/dist/components/SkeletonLoader/SkeletonLoader.styled.js +1 -1
- package/dist/components/SkeletonLoader/stories/SkeletonLoader.stories.js +1 -1
- package/dist/components/StepSlider/StepSlider.styled.js +4 -4
- package/dist/components/Stepper/Stepper.styled.js +2 -2
- package/dist/components/SuggestBox/SuggestBox.styled.js +1 -1
- package/dist/components/SuggestBox/stories/SuggestBox.stories.js +3 -3
- package/dist/components/Table/Table.styled.js +3 -3
- package/dist/components/Tabs/Tabs.styled.js +1 -1
- package/dist/components/Tag/Tag.styled.js +4 -4
- package/dist/components/TagInput/TagInput.styled.js +2 -2
- package/dist/components/TextLink/TextLink.styled.js +3 -3
- package/dist/components/Textarea/Textarea.styled.js +1 -1
- package/dist/components/Toast/Toast.styled.js +1 -1
- package/dist/components/Tooltip/Tooltip.styled.js +1 -1
- package/dist/components/Typography/Typography.styled.js +1 -1
- package/dist/components/Uploader/Uploader.styled.js +6 -6
- package/dist/i18n/locales/english.json +1 -0
- package/dist/i18n/locales/turkish.json +1 -0
- package/dist/jsons/colors.json +123 -5
- package/dist/style/style.min.css +1 -1
- package/dist/style/style.min.css.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
54
|
+
var react_1 = require("@testing-library/react");
|
|
55
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
56
|
+
var Button_1 = __importDefault(require("./Button"));
|
|
57
|
+
var props_1 = require("./props");
|
|
58
|
+
var renderButton = function (props) {
|
|
59
|
+
if (props === void 0) { props = {}; }
|
|
60
|
+
return (0, react_1.render)((0, jsx_runtime_1.jsx)(Button_1.default, __assign({}, props_1.ButtonDefault, props, { children: "Click" })));
|
|
61
|
+
};
|
|
62
|
+
var declaredColors = function (element) {
|
|
63
|
+
var colors = [];
|
|
64
|
+
Array.from(document.styleSheets).forEach(function (sheet) {
|
|
65
|
+
Array.from(sheet.cssRules).forEach(function (rule) {
|
|
66
|
+
if (!(rule instanceof CSSStyleRule) || !rule.style.color) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
if (element.matches(rule.selectorText)) {
|
|
71
|
+
colors.push(rule.style.color);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (_a) {
|
|
75
|
+
// ignore selectors jsdom cannot parse
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
return colors;
|
|
80
|
+
};
|
|
81
|
+
describe('Button', function () {
|
|
82
|
+
it('renders children', function () {
|
|
83
|
+
renderButton();
|
|
84
|
+
expect(react_1.screen.getByRole('button', { name: 'Click' })).toBeInTheDocument();
|
|
85
|
+
});
|
|
86
|
+
it('calls onClick when clicked', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
87
|
+
var onClick;
|
|
88
|
+
return __generator(this, function (_a) {
|
|
89
|
+
switch (_a.label) {
|
|
90
|
+
case 0:
|
|
91
|
+
onClick = jest.fn();
|
|
92
|
+
renderButton({ onClick: onClick });
|
|
93
|
+
return [4 /*yield*/, user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Click' }))];
|
|
94
|
+
case 1:
|
|
95
|
+
_a.sent();
|
|
96
|
+
expect(onClick).toHaveBeenCalledTimes(1);
|
|
97
|
+
return [2 /*return*/];
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}); });
|
|
101
|
+
it('does not call onClick when disabled', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
102
|
+
var onClick;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0:
|
|
106
|
+
onClick = jest.fn();
|
|
107
|
+
renderButton({ onClick: onClick, disabled: true });
|
|
108
|
+
return [4 /*yield*/, user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Click' }))];
|
|
109
|
+
case 1:
|
|
110
|
+
_a.sent();
|
|
111
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}); });
|
|
116
|
+
it('paints primary label with --on-primary', function () {
|
|
117
|
+
renderButton({ variant: 'primary' });
|
|
118
|
+
expect(declaredColors(react_1.screen.getByRole('button', { name: 'Click' }))).toContain('var(--on-primary)');
|
|
119
|
+
});
|
|
120
|
+
it('keeps success label on hardcoded white', function () {
|
|
121
|
+
renderButton({ variant: 'success' });
|
|
122
|
+
expect(declaredColors(react_1.screen.getByRole('button', { name: 'Click' }))).toContain('white');
|
|
123
|
+
expect(declaredColors(react_1.screen.getByRole('button', { name: 'Click' }))).not.toContain('var(--on-primary)');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
@@ -30,9 +30,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
30
30
|
exports.SubMenu = exports.CategoryItemButtonTitle = exports.CategoryItemButtonBadgeSm = exports.CategoryItemButtonBadge = exports.CategoryItemButtonIcon = exports.CategoryItemButtonInner = exports.CategoryItem = exports.CategoryMenuWrapper = void 0;
|
|
31
31
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
32
32
|
exports.CategoryMenuWrapper = styled_components_1.default.ul(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: ", ";\n width: 100%;\n padding:0;\n margin: 12.5px auto;\n max-width: 1050px;\n a {\n text-decoration:none;\n &:not([href]){\n cursor: initial;\n *{\n cursor: initial;\n }\n }\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: ", ";\n width: 100%;\n padding:0;\n margin: 12.5px auto;\n max-width: 1050px;\n a {\n text-decoration:none;\n &:not([href]){\n cursor: initial;\n *{\n cursor: initial;\n }\n }\n }\n"])), function (props) { return props.$hasFewCategories ? 'flex-start' : 'space-between'; }, function (props) { return props.$hasFewCategories ? '2rem' : '0'; });
|
|
33
|
-
var hoverAndActive = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: var(--
|
|
34
|
-
exports.CategoryItem = styled_components_1.default.li(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: block;\n position: relative;\n margin: 0;\n padding-bottom: 8px;\n padding-top: 8px;\n &:not(:last-child):not(:nth-last-child(2)){\n path, circle, rect {\n color : var(--
|
|
35
|
-
exports.CategoryItemButtonInner = styled_components_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n text-decoration: none;\n padding: 12px 16px;\n color: var(--
|
|
33
|
+
var hoverAndActive = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: var(--text);\n &:before{\n border-color: var(--border);\n box-shadow: 0 6px 30px 0 var(--box-shadow-color);\n color: var(--text);\n }\n"], ["\n color: var(--text);\n &:before{\n border-color: var(--border);\n box-shadow: 0 6px 30px 0 var(--box-shadow-color);\n color: var(--text);\n }\n"])));
|
|
34
|
+
exports.CategoryItem = styled_components_1.default.li(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: block;\n position: relative;\n margin: 0;\n padding-bottom: 8px;\n padding-top: 8px;\n &:not(:last-child):not(:nth-last-child(2)){\n path, circle, rect {\n color : var(--text-muted);\n }\n }\n &:hover{\n &:not(:last-child):not(:nth-last-child(2)){\n path , circle, rect {\n color : var(--text);\n }\n }\n > ul{\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n transition-delay: 0.3s;\n }\n .componentWrapper {\n > span{\n ", "\n }\n }\n }\n &:last-child , &:nth-last-child(2){\n ul{\n left: auto;\n right: 0;\n }\n }\n ", "\n ", "\n"], ["\n display: block;\n position: relative;\n margin: 0;\n padding-bottom: 8px;\n padding-top: 8px;\n &:not(:last-child):not(:nth-last-child(2)){\n path, circle, rect {\n color : var(--text-muted);\n }\n }\n &:hover{\n &:not(:last-child):not(:nth-last-child(2)){\n path , circle, rect {\n color : var(--text);\n }\n }\n > ul{\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n transition-delay: 0.3s;\n }\n .componentWrapper {\n > span{\n ", "\n }\n }\n }\n &:last-child , &:nth-last-child(2){\n ul{\n left: auto;\n right: 0;\n }\n }\n ", "\n ", "\n"])), hoverAndActive, function (props) { return props.$isActiveCategory ? "\n .componentWrapper > span{\n ".concat(hoverAndActive, "\n }\n ") : ""; }, function (props) { return props.$hasCustomItem ? "\n display: flex;\n align-items: center;\n justify-content: center;\n &:before{\n content: '';\n background-color:var(--border);\n height: 39px;\n width: 2px;\n display: block;\n vertical-align: middle;\n border-radius: 8px;\n margin-right: 6px;\n margin-left: 6px;\n }\n " : ""; });
|
|
35
|
+
exports.CategoryItemButtonInner = styled_components_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n text-decoration: none;\n padding: 12px 16px;\n color: var(--text-muted);\n margin: 0;\n transition: all 0.2s ease-in-out;\n text-align: center;\n outline: none;\n display: block;\n position: relative;\n border: 0;\n background: transparent;\n outline: 0;\n width: 100%;\n font-family:inherit;\n cursor:pointer;\n box-sizing: border-box;\n &:before{\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 1px solid transparent;\n color: var(--text-muted);\n background-color: transparent;\n border-radius: 0.5rem;\n z-index: -1;\n transition: all 0.2s ease-in-out;\n }\n"], ["\n text-decoration: none;\n padding: 12px 16px;\n color: var(--text-muted);\n margin: 0;\n transition: all 0.2s ease-in-out;\n text-align: center;\n outline: none;\n display: block;\n position: relative;\n border: 0;\n background: transparent;\n outline: 0;\n width: 100%;\n font-family:inherit;\n cursor:pointer;\n box-sizing: border-box;\n &:before{\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 1px solid transparent;\n color: var(--text-muted);\n background-color: transparent;\n border-radius: 0.5rem;\n z-index: -1;\n transition: all 0.2s ease-in-out;\n }\n"])));
|
|
36
36
|
exports.CategoryItemButtonIcon = styled_components_1.default.span(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n @keyframes tada_category {\n 0% {\n transform: scaleX(1)\n }\n\n 10%,20% {\n transform: rotate(-2deg)\n }\n\n 30%,50%,70%,90% {\n transform: rotate(2deg)\n }\n\n 40%,60%,80% {\n transform: rotate(-2deg)\n }\n\n to {\n transform: scaleX(1)\n }\n }\n\n ", "\n height: 24px;\n display:flex;\n position: relative;\n align-items: center;\n justify-content: center;\n"], ["\n @keyframes tada_category {\n 0% {\n transform: scaleX(1)\n }\n\n 10%,20% {\n transform: rotate(-2deg)\n }\n\n 30%,50%,70%,90% {\n transform: rotate(2deg)\n }\n\n 40%,60%,80% {\n transform: rotate(-2deg)\n }\n\n to {\n transform: scaleX(1)\n }\n }\n\n ", "\n height: 24px;\n display:flex;\n position: relative;\n align-items: center;\n justify-content: center;\n"])), function (props) { return props.$hasAnimation ? "\n animation: tada_category 1.5s infinite;\n animation-iteration-count: 10;\n " : ""; });
|
|
37
37
|
exports.CategoryItemButtonBadge = styled_components_1.default.span(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n font: var(--caption-bold-10-12);\n line-height: 17px;\n border-radius: 3px;\n background-color: var(--primary);\n color: white;\n padding: 0 0.5rem;\n display: inline-block;\n margin-top: 2px;\n"], ["\n font: var(--caption-bold-10-12);\n line-height: 17px;\n border-radius: 3px;\n background-color: var(--primary);\n color: white;\n padding: 0 0.5rem;\n display: inline-block;\n margin-top: 2px;\n"])));
|
|
38
38
|
exports.CategoryItemButtonBadgeSm = styled_components_1.default.span(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n position: absolute;\n right: 8px;\n top: 8px;\n"], ["\n position: absolute;\n right: 8px;\n top: 8px;\n"])));
|
|
@@ -49,8 +49,8 @@ exports.CheckboxIndicator = styled_components_1.default.span(templateObject_4 ||
|
|
|
49
49
|
exports.CheckboxInput = styled_components_1.default.input(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n height: 0;\n width: 0;\n opacity: 0;\n z-index: -1;\n position: absolute;\n\n &:checked:not(:disabled) + ", " {\n ", " {\n display: block;\n }\n\n ", " {\n display: none;\n }\n }\n"], ["\n height: 0;\n width: 0;\n opacity: 0;\n z-index: -1;\n position: absolute;\n\n &:checked:not(:disabled) + ", " {\n ", " {\n display: block;\n }\n\n ", " {\n display: none;\n }\n }\n"])), exports.CheckboxIndicator, exports.CheckboxIndicatorChecked, exports.CheckboxIndicatorIdle);
|
|
50
50
|
exports.LabelsWrapper = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: relative;\n display: grid;\n row-gap: 8px;\n cursor: ", ";\n margin: 0;\n color: ", ";\n\n * {\n ", ";\n }\n"], ["\n position: relative;\n display: grid;\n row-gap: 8px;\n cursor: ", ";\n margin: 0;\n color: ", ";\n\n * {\n ", ";\n }\n"])), function (props) { return getCheckboxCursor(props); }, function (props) {
|
|
51
51
|
if (props.disabled)
|
|
52
|
-
return 'var(--
|
|
53
|
-
return props.$valid ? 'var(--
|
|
52
|
+
return 'var(--text-disabled)';
|
|
53
|
+
return props.$valid ? 'var(--text)' : 'var(--red)';
|
|
54
54
|
}, function (props) { return !props.disabled && !props.$valid && 'color: var(--red)'; });
|
|
55
|
-
exports.CheckboxLabel = styled_components_1.default.label(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: block;\n margin: 0;\n cursor: inherit;\n font: ", ";\n\n b {\n font-weight: bold;\n color: var(--
|
|
55
|
+
exports.CheckboxLabel = styled_components_1.default.label(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: block;\n margin: 0;\n cursor: inherit;\n font: ", ";\n\n b {\n font-weight: bold;\n color: var(--text-soft);\n }\n"], ["\n display: block;\n margin: 0;\n cursor: inherit;\n font: ", ";\n\n b {\n font-weight: bold;\n color: var(--text-soft);\n }\n"])), function (props) { return getLabelFont(props.$textSize); });
|
|
56
56
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
|
|
@@ -9,5 +9,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.CheckboxGroupStyled = void 0;
|
|
11
11
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
-
exports.CheckboxGroupStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n\n .top {\n display: flex;\n margin-bottom: 1rem;\n font: var(--caption-bold-12-15);\n\n label {\n margin: 0;\n color: var(--
|
|
12
|
+
exports.CheckboxGroupStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n\n .top {\n display: flex;\n margin-bottom: 1rem;\n font: var(--caption-bold-12-15);\n\n label {\n margin: 0;\n color: var(--text-soft);\n display: block;\n }\n }\n\n .checkboxesWrapper {\n display: flex;\n flex-direction: ", ";\n gap: ", ";\n flex-wrap: ", ";\n }\n"], ["\n display: flex;\n flex-direction: column;\n\n .top {\n display: flex;\n margin-bottom: 1rem;\n font: var(--caption-bold-12-15);\n\n label {\n margin: 0;\n color: var(--text-soft);\n display: block;\n }\n }\n\n .checkboxesWrapper {\n display: flex;\n flex-direction: ", ";\n gap: ", ";\n flex-wrap: ", ";\n }\n"])), function (props) { return props.$layout === "horizontal" ? "row" : "column"; }, function (props) { return props.$gap || "1rem"; }, function (props) { return props.$layout === "horizontal" ? "wrap" : "nowrap"; });
|
|
13
13
|
var templateObject_1;
|
|
@@ -137,7 +137,7 @@ exports.AllSizes = {
|
|
|
137
137
|
};
|
|
138
138
|
var InteractiveStory = function (args) {
|
|
139
139
|
var _a = react_1.default.useState(args.value || []), value = _a[0], setValue = _a[1];
|
|
140
|
-
return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: { maxWidth: 520 } }, { children: [(0, jsx_runtime_1.jsx)(CheckboxGroup_1.default, __assign({}, args, { value: value, onChange: setValue })), (0, jsx_runtime_1.jsxs)("p", __assign({ style: { marginTop: 16, font: "var(--caption-medium-11-13)", color: "var(--
|
|
140
|
+
return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: { maxWidth: 520 } }, { children: [(0, jsx_runtime_1.jsx)(CheckboxGroup_1.default, __assign({}, args, { value: value, onChange: setValue })), (0, jsx_runtime_1.jsxs)("p", __assign({ style: { marginTop: 16, font: "var(--caption-medium-11-13)", color: "var(--text-soft)" } }, { children: ["Se\u00E7ili: ", value.length ? value.join(", ") : "—"] }))] })));
|
|
141
141
|
};
|
|
142
142
|
exports.Interactive = {
|
|
143
143
|
render: function (args) { return (0, jsx_runtime_1.jsx)(InteractiveStory, __assign({}, args)); },
|
|
@@ -20,7 +20,7 @@ var CircleProgress = function (_a) {
|
|
|
20
20
|
var currentStep = steps.find(function (p) { return p.index === activeStep; });
|
|
21
21
|
return ((0, jsx_runtime_1.jsxs)(CircleProgress_styled_1.CircleProgressStyled, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: "icon" }, { children: (0, jsx_runtime_1.jsx)(react_circular_progressbar_1.CircularProgressbarWithChildren, __assign({ styles: (0, react_circular_progressbar_1.buildStyles)({
|
|
22
22
|
pathColor: "var(--primary)",
|
|
23
|
-
trailColor: "var(--
|
|
23
|
+
trailColor: "var(--surface)"
|
|
24
24
|
}), strokeWidth: 12, value: activeStep / steps.length * 100 }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ className: "text" }, { children: [(0, jsx_runtime_1.jsxs)("span", { children: [activeStep, "/"] }), steps.length] })) })) })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: "info" }, { children: [(0, jsx_runtime_1.jsx)("h1", { children: currentStep === null || currentStep === void 0 ? void 0 : currentStep.text }), (0, jsx_runtime_1.jsx)("p", { children: currentStep === null || currentStep === void 0 ? void 0 : currentStep.textSm })] }))] }));
|
|
25
25
|
};
|
|
26
26
|
exports.default = CircleProgress;
|
|
@@ -9,5 +9,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.CircleProgressStyled = void 0;
|
|
11
11
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
-
exports.CircleProgressStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n min-width: 280px;\n display: flex;\n justify-content: space-between;\n font-family: var(--theme-font);\n div.icon {\n width: 56px;\n height: 56px;\n }\n\n div.info {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n \n h1 {\n color: var(--
|
|
12
|
+
exports.CircleProgressStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n min-width: 280px;\n display: flex;\n justify-content: space-between;\n font-family: var(--theme-font);\n div.icon {\n width: 56px;\n height: 56px;\n }\n\n div.info {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n \n h1 {\n color: var(--text);\n margin: 0 0 4px;\n font:var(--title-bold-16-19);\n }\n p {\n color: var(--text-soft);\n margin: 0;\n font:var(--body-regular-13-16);\n }\n }\n \n div.text {\n color: var(--text);\n font:var(--body-bold-14-17);\n span{\n font:var(--title-bold-16-19);\n }\n }\n\n\n .CircularProgressbar {\n width: 100%;\n vertical-align: middle;\n\n .CircularProgressbar-path {\n stroke-linecap: round;\n -webkit-transition: stroke-dashoffset 0.5s ease 0s;\n transition: stroke-dashoffset 0.5s ease 0s;\n }\n\n .CircularProgressbar-trail {\n stroke-linecap: round;\n }\n\n .CircularProgressbar-text {\n dominant-baseline: middle;\n text-anchor: middle;\n }\n\n \n }\n\n .CircularProgressbar.CircularProgressbar-inverted {\n\n .CircularProgressbar-trail {\n stroke: transparent;\n }\n }\n\n"], ["\n min-width: 280px;\n display: flex;\n justify-content: space-between;\n font-family: var(--theme-font);\n div.icon {\n width: 56px;\n height: 56px;\n }\n\n div.info {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n \n h1 {\n color: var(--text);\n margin: 0 0 4px;\n font:var(--title-bold-16-19);\n }\n p {\n color: var(--text-soft);\n margin: 0;\n font:var(--body-regular-13-16);\n }\n }\n \n div.text {\n color: var(--text);\n font:var(--body-bold-14-17);\n span{\n font:var(--title-bold-16-19);\n }\n }\n\n\n .CircularProgressbar {\n width: 100%;\n vertical-align: middle;\n\n .CircularProgressbar-path {\n stroke-linecap: round;\n -webkit-transition: stroke-dashoffset 0.5s ease 0s;\n transition: stroke-dashoffset 0.5s ease 0s;\n }\n\n .CircularProgressbar-trail {\n stroke-linecap: round;\n }\n\n .CircularProgressbar-text {\n dominant-baseline: middle;\n text-anchor: middle;\n }\n\n \n }\n\n .CircularProgressbar.CircularProgressbar-inverted {\n\n .CircularProgressbar-trail {\n stroke: transparent;\n }\n }\n\n"])));
|
|
13
13
|
var templateObject_1;
|
|
@@ -9,7 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.ProgressWrapperStyled = exports.SummaryInfoTitleStyled = exports.SummaryInfoStyled = exports.SummaryBodyStyled = exports.DropdownToggleButton = exports.DropdownWrapperStyled = exports.BadgeWrapperStyled = exports.SummaryHeaderRightContentStyled = exports.TitleStyled = exports.SummaryHeaderStyled = exports.CircleProgressProStyled = void 0;
|
|
11
11
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
-
exports.CircleProgressProStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: 1px solid var(--
|
|
12
|
+
exports.CircleProgressProStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: 1px solid var(--border);\n border-radius: 0.5rem;\n padding: 1.5rem;\n"], ["\n border: 1px solid var(--border);\n border-radius: 0.5rem;\n padding: 1.5rem;\n"])));
|
|
13
13
|
exports.SummaryHeaderStyled = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"])));
|
|
14
14
|
exports.TitleStyled = styled_components_1.default.strong(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font: var(--title-bold-16-19);\n"], ["\n font: var(--title-bold-16-19);\n"])));
|
|
15
15
|
exports.SummaryHeaderRightContentStyled = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"])));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ColorCardProps } from './props';
|
|
3
|
-
declare const ColorCard: ({ title, hint, value, placeholder, hasError, errorMessage, disabled, name, id, onChange, }: ColorCardProps) => React.JSX.Element;
|
|
3
|
+
declare const ColorCard: ({ title, hint, value, placeholder, hasError, errorMessage, disabled, name, id, hasBadge, badgeText, hasResetLink, resetLinkText, onReset, onChange, }: ColorCardProps) => React.JSX.Element;
|
|
4
4
|
export default ColorCard;
|
|
@@ -20,17 +20,22 @@ var react_i18next_1 = require("react-i18next");
|
|
|
20
20
|
var props_1 = require("./props");
|
|
21
21
|
var ColorCard_styled_1 = require("./ColorCard.styled");
|
|
22
22
|
var Input_1 = __importDefault(require("../Input"));
|
|
23
|
+
var Badges_1 = __importDefault(require("../Badges"));
|
|
24
|
+
var TextLink_1 = __importDefault(require("../TextLink"));
|
|
23
25
|
var ColorPicker_1 = __importDefault(require("./ColorPicker"));
|
|
24
26
|
var useOnClickOutside_1 = __importDefault(require("../../hooks/useOnClickOutside"));
|
|
25
27
|
var color_1 = require("./utils/color");
|
|
26
28
|
var ColorCard = function (_a) {
|
|
27
|
-
var _b = _a.title, title = _b === void 0 ? props_1.ColorCardDefault.title : _b, _c = _a.hint, hint = _c === void 0 ? props_1.ColorCardDefault.hint : _c, _d = _a.value, value = _d === void 0 ? props_1.ColorCardDefault.value : _d, _e = _a.placeholder, placeholder = _e === void 0 ? props_1.ColorCardDefault.placeholder : _e, _f = _a.hasError, hasError = _f === void 0 ? props_1.ColorCardDefault.hasError : _f, _g = _a.errorMessage, errorMessage = _g === void 0 ? props_1.ColorCardDefault.errorMessage : _g, _h = _a.disabled, disabled = _h === void 0 ? props_1.ColorCardDefault.disabled : _h, _j = _a.name, name = _j === void 0 ? props_1.ColorCardDefault.name : _j, _k = _a.id, id = _k === void 0 ? props_1.ColorCardDefault.id : _k, _l = _a.onChange, onChange =
|
|
29
|
+
var _b = _a.title, title = _b === void 0 ? props_1.ColorCardDefault.title : _b, _c = _a.hint, hint = _c === void 0 ? props_1.ColorCardDefault.hint : _c, _d = _a.value, value = _d === void 0 ? props_1.ColorCardDefault.value : _d, _e = _a.placeholder, placeholder = _e === void 0 ? props_1.ColorCardDefault.placeholder : _e, _f = _a.hasError, hasError = _f === void 0 ? props_1.ColorCardDefault.hasError : _f, _g = _a.errorMessage, errorMessage = _g === void 0 ? props_1.ColorCardDefault.errorMessage : _g, _h = _a.disabled, disabled = _h === void 0 ? props_1.ColorCardDefault.disabled : _h, _j = _a.name, name = _j === void 0 ? props_1.ColorCardDefault.name : _j, _k = _a.id, id = _k === void 0 ? props_1.ColorCardDefault.id : _k, _l = _a.hasBadge, hasBadge = _l === void 0 ? props_1.ColorCardDefault.hasBadge : _l, _m = _a.badgeText, badgeText = _m === void 0 ? props_1.ColorCardDefault.badgeText : _m, _o = _a.hasResetLink, hasResetLink = _o === void 0 ? props_1.ColorCardDefault.hasResetLink : _o, _p = _a.resetLinkText, resetLinkText = _p === void 0 ? props_1.ColorCardDefault.resetLinkText : _p, _q = _a.onReset, onReset = _q === void 0 ? props_1.ColorCardDefault.onReset : _q, _r = _a.onChange, onChange = _r === void 0 ? props_1.ColorCardDefault.onChange : _r;
|
|
28
30
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
29
31
|
var pickerRef = (0, react_1.useRef)(null);
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
+
var _s = (0, react_1.useState)(false), isOpen = _s[0], setIsOpen = _s[1];
|
|
33
|
+
var _t = (0, react_1.useState)(function () { return (0, color_1.formatHexInput)(value); }), hex = _t[0], setHex = _t[1];
|
|
32
34
|
var swatchColor = (0, color_1.toSwatchColor)(hex);
|
|
33
35
|
var pickerValue = (0, color_1.normalizeHex)(hex) || '#000000';
|
|
36
|
+
var showResetLink = Boolean(hasResetLink);
|
|
37
|
+
var showBadge = !showResetLink && hasBadge && Boolean(badgeText);
|
|
38
|
+
var showHeader = Boolean(title || showBadge || showResetLink);
|
|
34
39
|
(0, useOnClickOutside_1.default)(pickerRef, function () { return setIsOpen(false); }, true);
|
|
35
40
|
(0, react_1.useEffect)(function () {
|
|
36
41
|
setHex((0, color_1.formatHexInput)(value));
|
|
@@ -64,6 +69,11 @@ var ColorCard = function (_a) {
|
|
|
64
69
|
if (disabled)
|
|
65
70
|
return;
|
|
66
71
|
setIsOpen(function (open) { return !open; });
|
|
67
|
-
} }), isOpen && !disabled && ((0, jsx_runtime_1.jsx)(ColorCard_styled_1.ColorPickerPopover, __assign({ role: "dialog", "aria-label": t('pickColor') }, { children: (0, jsx_runtime_1.jsx)(ColorPicker_1.default, { value: pickerValue, onChange: emitHex }) })))] })), (0, jsx_runtime_1.
|
|
72
|
+
} }), isOpen && !disabled && ((0, jsx_runtime_1.jsx)(ColorCard_styled_1.ColorPickerPopover, __assign({ role: "dialog", "aria-label": t('pickColor') }, { children: (0, jsx_runtime_1.jsx)(ColorPicker_1.default, { value: pickerValue, onChange: emitHex }) })))] })), (0, jsx_runtime_1.jsxs)(ColorCard_styled_1.ColorCardField, __assign({ onBlur: handleHexBlur }, { children: [showHeader && ((0, jsx_runtime_1.jsxs)(ColorCard_styled_1.Header, { children: [title ? (0, jsx_runtime_1.jsx)(ColorCard_styled_1.Label, __assign({ htmlFor: id }, { children: title })) : (0, jsx_runtime_1.jsx)("span", {}), showResetLink && ((0, jsx_runtime_1.jsx)(ColorCard_styled_1.ResetLinkWrap, { children: (0, jsx_runtime_1.jsx)(TextLink_1.default, __assign({ variant: "primary", size: "small", icon: "RotateRightSm", iconDirection: "left", onClick: function (event) {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
if (disabled)
|
|
75
|
+
return;
|
|
76
|
+
onReset === null || onReset === void 0 ? void 0 : onReset(event);
|
|
77
|
+
} }, { children: resetLinkText || t('resetToAutomatic') })) })), showBadge && ((0, jsx_runtime_1.jsx)(ColorCard_styled_1.BadgeWrap, { children: (0, jsx_runtime_1.jsx)(Badges_1.default, { layout: "text", variant: "secondary", title: badgeText }) }))] })), (0, jsx_runtime_1.jsx)(Input_1.default, { label: "", description: hint, value: hex, placeholder: placeholder, hasError: hasError, errorMessage: errorMessage, disabled: disabled, name: name, id: id, mask: null, format: null, maxLength: 7, onChange: function (event) { var _a; return emitHex((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value); }, width: "100%" })] }))] }));
|
|
68
78
|
};
|
|
69
79
|
exports.default = ColorCard;
|
|
@@ -4,6 +4,10 @@ export declare const ColorCardStyled: import("styled-components/dist/types").ISt
|
|
|
4
4
|
export declare const SwatchWrap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
5
5
|
export declare const ColorSwatch: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, keyof ColorCardStyledProps> & ColorCardStyledProps, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, keyof ColorCardStyledProps> & ColorCardStyledProps, never>>> & string;
|
|
6
6
|
export declare const ColorCardField: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
7
|
+
export declare const Header: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
8
|
+
export declare const Label: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, never>>> & string;
|
|
9
|
+
export declare const BadgeWrap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
10
|
+
export declare const ResetLinkWrap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
7
11
|
export declare const ColorPickerPopover: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
8
12
|
export declare const PickerBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
9
13
|
export declare const Saturation: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$hue"> & {
|
|
@@ -7,15 +7,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.Thumb = exports.HueSlider = exports.Saturation = exports.PickerBody = exports.ColorPickerPopover = exports.ColorCardField = exports.ColorSwatch = exports.SwatchWrap = exports.ColorCardStyled = void 0;
|
|
10
|
+
exports.Thumb = exports.HueSlider = exports.Saturation = exports.PickerBody = exports.ColorPickerPopover = exports.ResetLinkWrap = exports.BadgeWrap = exports.Label = exports.Header = exports.ColorCardField = exports.ColorSwatch = exports.SwatchWrap = exports.ColorCardStyled = void 0;
|
|
11
11
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
-
exports.ColorCardStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 1.5rem;\n padding: 1.5rem;\n border-radius: 0.5rem;\n border: 1px solid var(--
|
|
13
|
-
exports.SwatchWrap = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n flex-shrink: 0;\n width: 56px;\n height: 56px;\n border: 1px solid var(--
|
|
12
|
+
exports.ColorCardStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 1.5rem;\n padding: 1.5rem;\n border-radius: 0.5rem;\n border: 1px solid var(--border);\n background: var(--surface-subtle);\n box-sizing: border-box;\n"], ["\n display: flex;\n align-items: center;\n gap: 1.5rem;\n padding: 1.5rem;\n border-radius: 0.5rem;\n border: 1px solid var(--border);\n background: var(--surface-subtle);\n box-sizing: border-box;\n"])));
|
|
13
|
+
exports.SwatchWrap = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n flex-shrink: 0;\n width: 56px;\n height: 56px;\n border: 1px solid var(--border);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.5rem;\n"], ["\n position: relative;\n flex-shrink: 0;\n width: 56px;\n height: 56px;\n border: 1px solid var(--border);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.5rem;\n"])));
|
|
14
14
|
exports.ColorSwatch = styled_components_1.default.button(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 40px;\n height: 40px;\n padding: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n border-radius: 0.25rem;\n border: none;\n background-color: ", ";\n opacity: ", ";\n cursor: ", ";\n appearance: none;\n\n &:focus-visible {\n outline: 2px solid var(--primary);\n outline-offset: 2px;\n }\n"], ["\n width: 40px;\n height: 40px;\n padding: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n border-radius: 0.25rem;\n border: none;\n background-color: ", ";\n opacity: ", ";\n cursor: ", ";\n appearance: none;\n\n &:focus-visible {\n outline: 2px solid var(--primary);\n outline-offset: 2px;\n }\n"])), function (props) { return props.$color || 'transparent'; }, function (props) { return props.$disabled ? 0.4 : 1; }, function (props) { return props.$disabled ? 'not-allowed' : 'pointer'; });
|
|
15
15
|
exports.ColorCardField = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1;\n min-width: 0;\n"], ["\n flex: 1;\n min-width: 0;\n"])));
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
|
|
16
|
+
exports.Header = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n margin-bottom: 16px;\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n margin-bottom: 16px;\n"])));
|
|
17
|
+
exports.Label = styled_components_1.default.label(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin: 0;\n min-width: 0;\n color: var(--text-soft);\n display: block;\n font: var(--caption-bold-12-15);\n"], ["\n margin: 0;\n min-width: 0;\n color: var(--text-soft);\n display: block;\n font: var(--caption-bold-12-15);\n"])));
|
|
18
|
+
exports.BadgeWrap = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n flex-shrink: 0;\n"], ["\n flex-shrink: 0;\n"])));
|
|
19
|
+
exports.ResetLinkWrap = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n flex-shrink: 0;\n font: var(--caption-bold-12-15);\n white-space: nowrap;\n"], ["\n flex-shrink: 0;\n font: var(--caption-bold-12-15);\n white-space: nowrap;\n"])));
|
|
20
|
+
exports.ColorPickerPopover = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n position: absolute;\n top: calc(100% + 8px);\n left: 0;\n z-index: 9;\n padding: 1rem;\n border-radius: 0.5rem;\n border: 1px solid var(--border);\n background: var(--bg);\n box-shadow: 0 6px 30px 0 var(--box-shadow-color);\n box-sizing: border-box;\n user-select: none;\n"], ["\n position: absolute;\n top: calc(100% + 8px);\n left: 0;\n z-index: 9;\n padding: 1rem;\n border-radius: 0.5rem;\n border: 1px solid var(--border);\n background: var(--bg);\n box-shadow: 0 6px 30px 0 var(--box-shadow-color);\n box-sizing: border-box;\n user-select: none;\n"])));
|
|
21
|
+
exports.PickerBody = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n"])));
|
|
22
|
+
exports.Saturation = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n position: relative;\n width: 192px;\n height: 140px;\n border-radius: 0.5rem;\n cursor: crosshair;\n touch-action: none;\n background:\n linear-gradient(to top, #000, transparent),\n linear-gradient(to right, #fff, hsl(", ", 100%, 50%));\n"], ["\n position: relative;\n width: 192px;\n height: 140px;\n border-radius: 0.5rem;\n cursor: crosshair;\n touch-action: none;\n background:\n linear-gradient(to top, #000, transparent),\n linear-gradient(to right, #fff, hsl(", ", 100%, 50%));\n"])), function (props) { return props.$hue; });
|
|
23
|
+
exports.HueSlider = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n position: relative;\n width: 192px;\n height: 12px;\n border-radius: 0.5rem;\n cursor: pointer;\n touch-action: none;\n background: linear-gradient(to right, #F00, #FF0, #0F0, #0FF, #00F, #F0F, #F00);\n"], ["\n position: relative;\n width: 192px;\n height: 12px;\n border-radius: 0.5rem;\n cursor: pointer;\n touch-action: none;\n background: linear-gradient(to right, #F00, #FF0, #0F0, #0FF, #00F, #F0F, #F00);\n"])));
|
|
24
|
+
exports.Thumb = styled_components_1.default.span(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n position: absolute;\n left: ", "%;\n top: ", "%;\n width: 16px;\n height: 16px;\n border: 2px solid white;\n border-radius: 50%;\n box-shadow: 0 0 0 1px var(--text-disabled);\n transform: translate(-50%, -50%);\n pointer-events: none;\n box-sizing: border-box;\n"], ["\n position: absolute;\n left: ", "%;\n top: ", "%;\n width: 16px;\n height: 16px;\n border: 2px solid white;\n border-radius: 50%;\n box-shadow: 0 0 0 1px var(--text-disabled);\n transform: translate(-50%, -50%);\n pointer-events: none;\n box-sizing: border-box;\n"])), function (props) { return props.$x * 100; }, function (props) { return props.$y * 100; });
|
|
25
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
|
|
@@ -242,16 +242,96 @@ describe('ColorCard', function () {
|
|
|
242
242
|
renderColorCard({ hasError: true, errorMessage: 'Geçersiz renk' });
|
|
243
243
|
expect(react_1.screen.getByText('Geçersiz renk')).toBeInTheDocument();
|
|
244
244
|
});
|
|
245
|
-
it('renders
|
|
245
|
+
it('renders a secondary text badge aligned with the label', function () {
|
|
246
|
+
renderColorCard({ hasBadge: true, badgeText: 'Önerilen' });
|
|
247
|
+
var badge = react_1.screen.getByText('Önerilen');
|
|
248
|
+
var label = react_1.screen.getByText('Birincil renk');
|
|
249
|
+
expect(badge).toBeInTheDocument();
|
|
250
|
+
expect(badge.parentElement).toHaveStyle({
|
|
251
|
+
backgroundColor: 'var(--primary-opacity-10)',
|
|
252
|
+
});
|
|
253
|
+
expect(label.parentElement).toHaveStyle({
|
|
254
|
+
display: 'flex',
|
|
255
|
+
alignItems: 'center',
|
|
256
|
+
justifyContent: 'space-between',
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
it('does not render the badge when hasBadge is false', function () {
|
|
260
|
+
renderColorCard({ hasBadge: false, badgeText: 'Önerilen' });
|
|
261
|
+
expect(react_1.screen.queryByText('Önerilen')).not.toBeInTheDocument();
|
|
262
|
+
expect(react_1.screen.getByText('Birincil renk')).toBeInTheDocument();
|
|
263
|
+
});
|
|
264
|
+
it('replaces the badge with a reset text link when hasResetLink is true', function () {
|
|
265
|
+
renderColorCard({
|
|
266
|
+
hasBadge: true,
|
|
267
|
+
badgeText: 'Önerilen',
|
|
268
|
+
hasResetLink: true,
|
|
269
|
+
resetLinkText: 'Otomatiğe dön',
|
|
270
|
+
});
|
|
271
|
+
expect(react_1.screen.queryByText('Önerilen')).not.toBeInTheDocument();
|
|
272
|
+
expect(react_1.screen.getByText('Otomatiğe dön')).toBeInTheDocument();
|
|
273
|
+
});
|
|
274
|
+
it('calls onReset when the reset text link is clicked', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
275
|
+
var user, onReset;
|
|
276
|
+
return __generator(this, function (_a) {
|
|
277
|
+
switch (_a.label) {
|
|
278
|
+
case 0:
|
|
279
|
+
user = user_event_1.default.setup();
|
|
280
|
+
onReset = jest.fn();
|
|
281
|
+
renderColorCard({
|
|
282
|
+
hasResetLink: true,
|
|
283
|
+
resetLinkText: 'Otomatiğe dön',
|
|
284
|
+
onReset: onReset,
|
|
285
|
+
});
|
|
286
|
+
return [4 /*yield*/, user.click(react_1.screen.getByText('Otomatiğe dön'))];
|
|
287
|
+
case 1:
|
|
288
|
+
_a.sent();
|
|
289
|
+
expect(onReset).toHaveBeenCalledTimes(1);
|
|
290
|
+
return [2 /*return*/];
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
}); });
|
|
294
|
+
it('does not call onReset when disabled', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
295
|
+
var user, onReset;
|
|
296
|
+
return __generator(this, function (_a) {
|
|
297
|
+
switch (_a.label) {
|
|
298
|
+
case 0:
|
|
299
|
+
user = user_event_1.default.setup();
|
|
300
|
+
onReset = jest.fn();
|
|
301
|
+
renderColorCard({
|
|
302
|
+
disabled: true,
|
|
303
|
+
hasResetLink: true,
|
|
304
|
+
resetLinkText: 'Otomatiğe dön',
|
|
305
|
+
onReset: onReset,
|
|
306
|
+
});
|
|
307
|
+
return [4 /*yield*/, user.click(react_1.screen.getByText('Otomatiğe dön'))];
|
|
308
|
+
case 1:
|
|
309
|
+
_a.sent();
|
|
310
|
+
expect(onReset).not.toHaveBeenCalled();
|
|
311
|
+
return [2 /*return*/];
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
}); });
|
|
315
|
+
it('renders title, hint, value and badge text as text, not HTML', function () {
|
|
246
316
|
renderColorCard({
|
|
247
317
|
title: '<script>alert(1)</script>',
|
|
248
318
|
hint: '<img src=x onerror=alert(1)>',
|
|
249
319
|
value: '<script>alert(1)</script>',
|
|
320
|
+
hasBadge: true,
|
|
321
|
+
badgeText: '<img src=x onerror=alert(1)>',
|
|
250
322
|
});
|
|
251
323
|
expect(react_1.screen.getByText('<script>alert(1)</script>')).toBeInTheDocument();
|
|
252
|
-
expect(react_1.screen.
|
|
324
|
+
expect(react_1.screen.getAllByText('<img src=x onerror=alert(1)>')).toHaveLength(2);
|
|
253
325
|
expect(react_1.screen.getByDisplayValue(/^#[0-9A-Fa-f]{0,6}$/)).toBeInTheDocument();
|
|
254
326
|
expect(document.querySelector('script')).not.toBeInTheDocument();
|
|
255
327
|
expect(document.querySelector('img')).not.toBeInTheDocument();
|
|
256
328
|
});
|
|
329
|
+
it('renders reset link text as text, not HTML', function () {
|
|
330
|
+
renderColorCard({
|
|
331
|
+
hasResetLink: true,
|
|
332
|
+
resetLinkText: '<img src=x onerror=alert(1)>',
|
|
333
|
+
});
|
|
334
|
+
expect(react_1.screen.getByText('<img src=x onerror=alert(1)>')).toBeInTheDocument();
|
|
335
|
+
expect(document.querySelector('img')).not.toBeInTheDocument();
|
|
336
|
+
});
|
|
257
337
|
});
|
|
@@ -8,6 +8,11 @@ export interface ColorCard {
|
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
name?: string;
|
|
10
10
|
id?: string;
|
|
11
|
+
hasBadge?: boolean;
|
|
12
|
+
badgeText?: string;
|
|
13
|
+
hasResetLink?: boolean;
|
|
14
|
+
resetLinkText?: string;
|
|
15
|
+
onReset?(e: any): void;
|
|
11
16
|
onChange?(e: any): void;
|
|
12
17
|
}
|
|
13
18
|
export interface ColorCardStyledProps {
|