krl-alfred 2.20.1 → 2.20.2
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.d.ts +1 -1
- package/dist/components/ActionButton/ActionButton.js +6 -6
- package/dist/components/ActionButton/ActionButton.styled.d.ts +2 -0
- package/dist/components/ActionButton/ActionButton.styled.js +15 -13
- package/dist/components/ActionButton/props.d.ts +5 -1
- package/dist/components/ActionButton/props.js +2 -0
- package/dist/components/ActionButton/stories/ActionButton.stories.d.ts +16 -1
- package/dist/components/ActionButton/stories/ActionButton.stories.js +38 -1
- package/dist/components/AddressCard/AddressCard.styled.js +1 -1
- package/dist/components/DescriptionCard/DescriptionCard.d.ts +1 -1
- package/dist/components/DescriptionCard/DescriptionCard.js +4 -6
- package/dist/components/DescriptionCard/DescriptionCard.styled.d.ts +11 -0
- package/dist/components/DescriptionCard/DescriptionCard.styled.js +20 -13
- package/dist/components/DescriptionCard/props.d.ts +12 -0
- package/dist/components/DescriptionCard/props.js +8 -1
- package/dist/components/DescriptionCard/stories/DescriptionCard.stories.d.ts +93 -1
- package/dist/components/DescriptionCard/stories/DescriptionCard.stories.js +43 -1
- package/dist/components/InfoBox/InfoBox.js +1 -1
- package/dist/components/InfoBox/props.d.ts +2 -2
- package/dist/components/InfoBox/stories/InfoBox.stories.d.ts +15 -8
- package/dist/components/InfoBox/stories/InfoBox.stories.js +7 -4
- package/dist/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/RadioGroup/props.d.ts +14 -3
- package/dist/components/RadioGroup/props.js +1 -1
- package/dist/components/RadioGroup/stories/RadioGroup.stories.d.ts +73 -0
- package/dist/components/RadioGroup/stories/RadioGroup.stories.js +110 -2
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.js +4 -4
- package/dist/components/Tabs/Tabs.styled.js +1 -1
- package/dist/components/Tabs/props.d.ts +3 -0
- package/dist/components/Tabs/stories/Tabs.stories.d.ts +12 -1
- package/dist/components/Tabs/stories/Tabs.stories.js +12 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: ({ title, headerButtonText, hasHeaderDropdown, list, hasBadge, badgeText, hasHeader, hasRounded, hasBorder, headerImage, dropdownList, dropdownWidth, accordionList, boxSize, hasHeaderButton, headerButtonWidth, hasHeaderPrimaryButton, headerPrimaryButtonAction, headerPrimaryButtonText, headerButtonAction, customColumnSpan }: import("../props").DescriptionCard) => React.JSX.Element;
|
|
4
|
+
component: ({ title, headerButtonText, hasHeaderDropdown, list, hasBadge, badgeText, hasHeader, hasHeaderBackground, hasHeaderBorder, hasRounded, hasBorder, headerImage, dropdownList, dropdownWidth, accordionList, boxSize, hasHeaderButton, headerButtonWidth, hasHeaderPrimaryButton, headerPrimaryButtonAction, headerPrimaryButtonText, headerPrimaryButtonIcon, headerPrimaryButtonSize, content, headerButtonAction, customColumnSpan }: import("../props").DescriptionCard) => React.JSX.Element;
|
|
5
5
|
tags: string[];
|
|
6
6
|
argTypes: {
|
|
7
7
|
title: {
|
|
@@ -16,6 +16,12 @@ declare const _default: {
|
|
|
16
16
|
hasHeader: {
|
|
17
17
|
control: string;
|
|
18
18
|
};
|
|
19
|
+
hasHeaderBackground: {
|
|
20
|
+
control: string;
|
|
21
|
+
};
|
|
22
|
+
hasHeaderBorder: {
|
|
23
|
+
control: string;
|
|
24
|
+
};
|
|
19
25
|
hasRounded: {
|
|
20
26
|
control: string;
|
|
21
27
|
};
|
|
@@ -101,6 +107,72 @@ export declare const WithBadge: {
|
|
|
101
107
|
headerImage: React.JSX.Element;
|
|
102
108
|
};
|
|
103
109
|
};
|
|
110
|
+
export declare const WithHeaderBackground: {
|
|
111
|
+
args: {
|
|
112
|
+
hasHeaderBackground: boolean;
|
|
113
|
+
title: string;
|
|
114
|
+
hasBadge: boolean;
|
|
115
|
+
badgeText: string;
|
|
116
|
+
hasHeaderDropdown: boolean;
|
|
117
|
+
headerButtonText: string;
|
|
118
|
+
list: {
|
|
119
|
+
display: string;
|
|
120
|
+
title: string;
|
|
121
|
+
}[];
|
|
122
|
+
hasHeader: boolean;
|
|
123
|
+
hasRounded: boolean;
|
|
124
|
+
hasBorder: boolean;
|
|
125
|
+
hasHeaderButton: boolean;
|
|
126
|
+
headerButtonWidth: any;
|
|
127
|
+
hasHeaderPrimaryButton: boolean;
|
|
128
|
+
headerPrimaryButtonText: string;
|
|
129
|
+
headerPrimaryButtonAction: () => void;
|
|
130
|
+
headerButtonAction: () => void;
|
|
131
|
+
boxSize: number;
|
|
132
|
+
customColumnSpan: {
|
|
133
|
+
0: number;
|
|
134
|
+
};
|
|
135
|
+
dropdownList: {
|
|
136
|
+
name: string;
|
|
137
|
+
component: ({ children }: any) => React.JSX.Element;
|
|
138
|
+
}[];
|
|
139
|
+
dropdownWidth: string;
|
|
140
|
+
headerImage: React.JSX.Element;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export declare const WithoutHeaderBorder: {
|
|
144
|
+
args: {
|
|
145
|
+
hasHeaderBorder: boolean;
|
|
146
|
+
title: string;
|
|
147
|
+
hasBadge: boolean;
|
|
148
|
+
badgeText: string;
|
|
149
|
+
hasHeaderDropdown: boolean;
|
|
150
|
+
headerButtonText: string;
|
|
151
|
+
list: {
|
|
152
|
+
display: string;
|
|
153
|
+
title: string;
|
|
154
|
+
}[];
|
|
155
|
+
hasHeader: boolean;
|
|
156
|
+
hasRounded: boolean;
|
|
157
|
+
hasBorder: boolean;
|
|
158
|
+
hasHeaderButton: boolean;
|
|
159
|
+
headerButtonWidth: any;
|
|
160
|
+
hasHeaderPrimaryButton: boolean;
|
|
161
|
+
headerPrimaryButtonText: string;
|
|
162
|
+
headerPrimaryButtonAction: () => void;
|
|
163
|
+
headerButtonAction: () => void;
|
|
164
|
+
boxSize: number;
|
|
165
|
+
customColumnSpan: {
|
|
166
|
+
0: number;
|
|
167
|
+
};
|
|
168
|
+
dropdownList: {
|
|
169
|
+
name: string;
|
|
170
|
+
component: ({ children }: any) => React.JSX.Element;
|
|
171
|
+
}[];
|
|
172
|
+
dropdownWidth: string;
|
|
173
|
+
headerImage: React.JSX.Element;
|
|
174
|
+
};
|
|
175
|
+
};
|
|
104
176
|
export declare const WithHeaderButton: {
|
|
105
177
|
args: {
|
|
106
178
|
hasHeaderButton: boolean;
|
|
@@ -458,3 +530,23 @@ export declare const HasAccordion: {
|
|
|
458
530
|
dropdownWidth: string;
|
|
459
531
|
};
|
|
460
532
|
};
|
|
533
|
+
export declare const WithContent: {
|
|
534
|
+
args: {
|
|
535
|
+
title: string;
|
|
536
|
+
hasBadge: boolean;
|
|
537
|
+
badgeText: string;
|
|
538
|
+
hasHeader: boolean;
|
|
539
|
+
hasRounded: boolean;
|
|
540
|
+
hasBorder: boolean;
|
|
541
|
+
hasHeaderPrimaryButton: boolean;
|
|
542
|
+
headerPrimaryButtonText: string;
|
|
543
|
+
headerPrimaryButtonAction: () => void;
|
|
544
|
+
headerImage: any;
|
|
545
|
+
list: any[];
|
|
546
|
+
content: React.JSX.Element;
|
|
547
|
+
};
|
|
548
|
+
decorators: ((Story: any) => React.JSX.Element)[];
|
|
549
|
+
};
|
|
550
|
+
export declare const SubscriptionRules: {
|
|
551
|
+
render: () => React.JSX.Element;
|
|
552
|
+
};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
2
6
|
var __assign = (this && this.__assign) || function () {
|
|
3
7
|
__assign = Object.assign || function(t) {
|
|
4
8
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -14,8 +18,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
19
|
};
|
|
16
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.HasAccordion = exports.CustomColumnSpan = exports.WithoutHeaderImage = exports.EmptyList = exports.MinimalList = exports.WithoutRounded = exports.WithoutBorder = exports.WithoutHeader = exports.WithHeaderDropdown = exports.WithHeaderPrimaryButton = exports.WithHeaderButton = exports.WithBadge = exports.Default = void 0;
|
|
21
|
+
exports.SubscriptionRules = exports.WithContent = exports.HasAccordion = exports.CustomColumnSpan = exports.WithoutHeaderImage = exports.EmptyList = exports.MinimalList = exports.WithoutRounded = exports.WithoutBorder = exports.WithoutHeader = exports.WithHeaderDropdown = exports.WithHeaderPrimaryButton = exports.WithHeaderButton = exports.WithoutHeaderBorder = exports.WithHeaderBackground = exports.WithBadge = exports.Default = void 0;
|
|
18
22
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
23
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
19
24
|
var DescriptionCard_1 = __importDefault(require("../DescriptionCard"));
|
|
20
25
|
var descriptionList_json_1 = __importDefault(require("./../../../jsons/descriptionList.json"));
|
|
21
26
|
var defaultHeaderImage = (0, jsx_runtime_1.jsx)("img", { src: "https://kiralarsin.s3.eu-central-1.amazonaws.com/products/4MOMSMAMAROOANAKUC_1.jpg", alt: "test" });
|
|
@@ -60,6 +65,8 @@ exports.default = {
|
|
|
60
65
|
hasBadge: { control: 'boolean' },
|
|
61
66
|
badgeText: { control: 'text' },
|
|
62
67
|
hasHeader: { control: 'boolean' },
|
|
68
|
+
hasHeaderBackground: { control: 'boolean' },
|
|
69
|
+
hasHeaderBorder: { control: 'boolean' },
|
|
63
70
|
hasRounded: { control: 'boolean' },
|
|
64
71
|
hasBorder: { control: 'boolean' },
|
|
65
72
|
hasHeaderButton: { control: 'boolean' },
|
|
@@ -74,6 +81,12 @@ exports.Default = {
|
|
|
74
81
|
exports.WithBadge = {
|
|
75
82
|
args: __assign(__assign({}, defaultArgs), { hasBadge: true, badgeText: "Yeni" }),
|
|
76
83
|
};
|
|
84
|
+
exports.WithHeaderBackground = {
|
|
85
|
+
args: __assign(__assign({}, defaultArgs), { hasHeaderBackground: true }),
|
|
86
|
+
};
|
|
87
|
+
exports.WithoutHeaderBorder = {
|
|
88
|
+
args: __assign(__assign({}, defaultArgs), { hasHeaderBorder: false }),
|
|
89
|
+
};
|
|
77
90
|
exports.WithHeaderButton = {
|
|
78
91
|
args: __assign(__assign({}, defaultArgs), { hasHeaderButton: true, headerButtonText: "Seçenekler" }),
|
|
79
92
|
};
|
|
@@ -150,3 +163,32 @@ exports.HasAccordion = {
|
|
|
150
163
|
}
|
|
151
164
|
], headerImage: (0, jsx_runtime_1.jsx)("img", { src: "https://kiralarsin.s3.eu-central-1.amazonaws.com/products/4MOMSMAMAROOANAKUC_1.jpg", alt: "test" }) }),
|
|
152
165
|
};
|
|
166
|
+
var SubscriptionRuleContentWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
|
|
167
|
+
var SubscriptionRuleDescription = styled_components_1.default.p(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin: 0;\n font: var(--body-medium-14-17);\n color: var(--dark-opacity-75);\n"], ["\n margin: 0;\n font: var(--body-medium-14-17);\n color: var(--dark-opacity-75);\n"])));
|
|
168
|
+
var SubscriptionRuleDivider = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border-bottom: 1px solid var(--dark-opacity-10);\n margin: 1rem 0;\n"], ["\n border-bottom: 1px solid var(--dark-opacity-10);\n margin: 1rem 0;\n"])));
|
|
169
|
+
var SubscriptionRuleMeta = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 1.5rem;\n"], ["\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 1.5rem;\n"])));
|
|
170
|
+
var SubscriptionRuleMetaItem = styled_components_1.default.span(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n font: var(--body-medium-14-17);\n color: var(--dark-opacity-75);\n"], ["\n font: var(--body-medium-14-17);\n color: var(--dark-opacity-75);\n"])));
|
|
171
|
+
var subscriptionRuleContent = function (description, meta) { return ((0, jsx_runtime_1.jsxs)(SubscriptionRuleContentWrapper, { children: [(0, jsx_runtime_1.jsx)(SubscriptionRuleDescription, { children: description }), (0, jsx_runtime_1.jsx)(SubscriptionRuleDivider, {}), (0, jsx_runtime_1.jsx)(SubscriptionRuleMeta, { children: meta.map(function (item) { return ((0, jsx_runtime_1.jsx)(SubscriptionRuleMetaItem, { children: item }, item)); }) })] })); };
|
|
172
|
+
exports.WithContent = {
|
|
173
|
+
args: {
|
|
174
|
+
title: "Standart esnek",
|
|
175
|
+
hasBadge: true,
|
|
176
|
+
badgeText: "Esnek",
|
|
177
|
+
hasHeader: true,
|
|
178
|
+
hasRounded: true,
|
|
179
|
+
hasBorder: true,
|
|
180
|
+
hasHeaderPrimaryButton: true,
|
|
181
|
+
headerPrimaryButtonText: "Düzenle",
|
|
182
|
+
headerPrimaryButtonAction: function () { return console.log("edit clicked"); },
|
|
183
|
+
headerImage: null,
|
|
184
|
+
list: [],
|
|
185
|
+
content: subscriptionRuleContent("Çekirdek kahve ürünleri için varsayılan abonelik kuralı. Müşteriler istedikleri zaman aboneliklerini duraklatabilir veya iptal edebilir.", ["5 Ürün kullanıyor", "32 Aktif abone", "Son güncelleme: iki hafta önce"]),
|
|
186
|
+
},
|
|
187
|
+
decorators: [
|
|
188
|
+
function (Story) { return ((0, jsx_runtime_1.jsx)("div", __assign({ style: { maxWidth: "900px", width: "100%" } }, { children: (0, jsx_runtime_1.jsx)(Story, {}) }))); },
|
|
189
|
+
],
|
|
190
|
+
};
|
|
191
|
+
exports.SubscriptionRules = {
|
|
192
|
+
render: function () { return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "900px", width: "100%" } }, { children: [(0, jsx_runtime_1.jsx)(DescriptionCard_1.default, { title: "Standart esnek", hasBadge: true, badgeText: "Esnek", hasHeader: true, hasRounded: true, hasBorder: true, hasHeaderPrimaryButton: true, headerPrimaryButtonText: "D\u00FCzenle", headerPrimaryButtonAction: function () { return console.log("edit clicked"); }, list: [], content: subscriptionRuleContent("Çekirdek kahve ürünleri için varsayılan abonelik kuralı. Müşteriler istedikleri zaman aboneliklerini duraklatabilir veya iptal edebilir.", ["5 Ürün kullanıyor", "32 Aktif abone", "Son güncelleme: iki hafta önce"]) }), (0, jsx_runtime_1.jsx)(DescriptionCard_1.default, { title: "Standart Taahh\u00FCtl\u00FC", hasBadge: true, badgeText: "Taahh\u00FCtl\u00FC", hasHeader: true, hasRounded: true, hasBorder: true, hasHeaderPrimaryButton: true, headerPrimaryButtonText: "D\u00FCzenle", headerPrimaryButtonAction: function () { return console.log("edit clicked"); }, list: [], content: subscriptionRuleContent("Çekirdek kahve ürünleri için taahhütlü abonelik kuralı. Müşteriler belirlenen süre boyunca aboneliklerini devam ettirmekle yükümlüdür.", ["3 Ürün kullanıyor", "18 Aktif abone", "Son güncelleme: bir hafta önce"]) })] }))); },
|
|
193
|
+
};
|
|
194
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
@@ -55,7 +55,7 @@ var InfoBox = function (_a) {
|
|
|
55
55
|
}, false);
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
-
}, []);
|
|
58
|
+
}, [description]);
|
|
59
59
|
return ((0, jsx_runtime_1.jsxs)(InfoBox_styled_1.InfoBoxStyled, __assign({ onClick: onClick, "$radius": radius, "$variant": variant, "$hasLink": !!onClick, "$size": size }, { children: [hasIcon && ((0, jsx_runtime_1.jsx)(InfoBox_styled_1.IconWrapper, __assign({ "$variant": variant }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: variant === "danger" ? "Danger" : icon }) }))), (0, jsx_runtime_1.jsxs)(InfoBox_styled_1.TextWrapper, { children: [title && (0, jsx_runtime_1.jsx)(InfoBox_styled_1.Title, { dangerouslySetInnerHTML: { __html: title } }), description && (0, jsx_runtime_1.jsx)(InfoBox_styled_1.Description, __assign({ "$size": size, ref: descriptionRef }, { children: description })), (0, jsx_runtime_1.jsx)(InfoBox_styled_1.AlertStyled, __assign({ "$visible": alert, "$alertLeft": alertLeft, "$alertTop": alertTop }, { children: t('copied') })), (0, jsx_runtime_1.jsx)(InfoBox_styled_1.Input, { ref: inputRef, id: "infoBoxInput" })] }), !!onClick && ((0, jsx_runtime_1.jsx)(InfoBox_styled_1.LinkIconWrapper, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowRightBig" }) }))] })));
|
|
60
60
|
};
|
|
61
61
|
exports.default = InfoBox;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
export declare const sizes: string[];
|
|
3
3
|
export declare const variants: string[];
|
|
4
4
|
export declare const iconNames: string[];
|
|
@@ -27,5 +27,5 @@ export interface AlertProps {
|
|
|
27
27
|
$visible?: boolean;
|
|
28
28
|
}
|
|
29
29
|
export declare const InfoBoxDefault: InfoBox;
|
|
30
|
-
export type InfoBoxProps =
|
|
30
|
+
export type InfoBoxProps = InfoBox;
|
|
31
31
|
export {};
|
|
@@ -37,14 +37,6 @@ export declare const Default: {
|
|
|
37
37
|
onClick: () => void;
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
|
-
export declare const WithoutIcon: {
|
|
41
|
-
args: {
|
|
42
|
-
hasIcon: boolean;
|
|
43
|
-
title: string;
|
|
44
|
-
description: string;
|
|
45
|
-
onClick: () => void;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
40
|
export declare const Primary: {
|
|
49
41
|
args: {
|
|
50
42
|
variant: string;
|
|
@@ -77,6 +69,14 @@ export declare const Secondary: {
|
|
|
77
69
|
description: string;
|
|
78
70
|
};
|
|
79
71
|
};
|
|
72
|
+
export declare const WithoutIcon: {
|
|
73
|
+
args: {
|
|
74
|
+
hasIcon: boolean;
|
|
75
|
+
title: string;
|
|
76
|
+
description: string;
|
|
77
|
+
onClick: () => void;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
80
|
export declare const Small: {
|
|
81
81
|
args: {
|
|
82
82
|
size: string;
|
|
@@ -152,6 +152,13 @@ export declare const SimpleDescription: {
|
|
|
152
152
|
onClick: () => void;
|
|
153
153
|
};
|
|
154
154
|
};
|
|
155
|
+
export declare const ReactNodeDescription: {
|
|
156
|
+
args: {
|
|
157
|
+
title: string;
|
|
158
|
+
description: React.JSX.Element;
|
|
159
|
+
onClick: any;
|
|
160
|
+
};
|
|
161
|
+
};
|
|
155
162
|
export declare const WithCustomRadius: {
|
|
156
163
|
args: {
|
|
157
164
|
radius: string;
|
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.WithCustomRadius = exports.SimpleDescription = exports.Minimal = exports.WithoutDescription = exports.WithoutTitle = exports.WithoutOnClick = exports.AllSizes = exports.AllVariants = exports.Large = exports.Medium = exports.Small = exports.
|
|
17
|
+
exports.WithCustomRadius = exports.ReactNodeDescription = exports.SimpleDescription = exports.Minimal = exports.WithoutDescription = exports.WithoutTitle = exports.WithoutOnClick = exports.AllSizes = exports.AllVariants = exports.Large = exports.Medium = exports.Small = exports.WithoutIcon = exports.Secondary = exports.Warning = exports.Danger = exports.Primary = exports.Default = void 0;
|
|
18
18
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
19
|
var InfoBox_1 = __importDefault(require("../InfoBox"));
|
|
20
20
|
var props_1 = require("../props");
|
|
@@ -41,9 +41,6 @@ exports.default = {
|
|
|
41
41
|
exports.Default = {
|
|
42
42
|
args: defaultArgs,
|
|
43
43
|
};
|
|
44
|
-
exports.WithoutIcon = {
|
|
45
|
-
args: __assign(__assign({}, defaultArgs), { hasIcon: false }),
|
|
46
|
-
};
|
|
47
44
|
// Variant stories
|
|
48
45
|
exports.Primary = {
|
|
49
46
|
args: __assign(__assign({}, defaultArgs), { variant: 'primary' }),
|
|
@@ -57,6 +54,9 @@ exports.Warning = {
|
|
|
57
54
|
exports.Secondary = {
|
|
58
55
|
args: __assign(__assign({}, defaultArgs), { variant: 'secondary', onClick: undefined }),
|
|
59
56
|
};
|
|
57
|
+
exports.WithoutIcon = {
|
|
58
|
+
args: __assign(__assign({}, defaultArgs), { hasIcon: false, title: "İkon olmadan" }),
|
|
59
|
+
};
|
|
60
60
|
// Size stories
|
|
61
61
|
exports.Small = {
|
|
62
62
|
args: __assign(__assign({}, defaultArgs), { size: 'small' }),
|
|
@@ -92,6 +92,9 @@ exports.Minimal = {
|
|
|
92
92
|
exports.SimpleDescription = {
|
|
93
93
|
args: __assign(__assign({}, defaultArgs), { title: "Basit bilgi", description: "Bu sadece düz metin açıklamasıdır. HTML veya kopyalanabilir alan içermez." }),
|
|
94
94
|
};
|
|
95
|
+
exports.ReactNodeDescription = {
|
|
96
|
+
args: __assign(__assign({}, defaultArgs), { title: "React node açıklama", description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { children: "\u0130ade g\u00FCn\u00FCn kiralama biti\u015F g\u00FCn\u00FCnd\u00FCr." }), (0, jsx_runtime_1.jsxs)("p", { children: ["Detaylar i\u00E7in ", (0, jsx_runtime_1.jsx)("b", { children: "info@kiralarsin.com" }), " adresine yazabilirsin."] })] })), onClick: undefined }),
|
|
97
|
+
};
|
|
95
98
|
exports.WithCustomRadius = {
|
|
96
99
|
args: __assign(__assign({}, defaultArgs), { radius: "16px" }),
|
|
97
100
|
};
|
|
@@ -30,7 +30,7 @@ var RadioGroup = function (_a) {
|
|
|
30
30
|
return ((0, jsx_runtime_1.jsxs)(RadioGroup_styled_1.RadioGroupStyled, { children: [label && ((0, jsx_runtime_1.jsx)(RadioGroup_styled_1.GroupLabelWrapper, __assign({ "$emphasizedLabel": hasInfo }, { children: (0, jsx_runtime_1.jsx)(RadioGroup_styled_1.GroupLabel, __assign({ "$emphasizedLabel": hasInfo }, { children: label })) }))), hasInfo && infoText && ((0, jsx_runtime_1.jsxs)(RadioGroup_styled_1.InfoArea, { children: [(0, jsx_runtime_1.jsx)(RadioGroup_styled_1.InfoIconWrapper, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: (infoIcon || props_1.RadioGroupDefault.infoIcon), width: "24", height: "24", hasWrapper: false }) }), (0, jsx_runtime_1.jsx)(RadioGroup_styled_1.InfoText, { children: infoText })] })), (0, jsx_runtime_1.jsx)(RadioGroup_styled_1.RadioButtonsWrapper, __assign({ "$layout": layout, "$gap": gap, "$isFilled": isFilled, "$gridColumnLength": gridColumnLength, "$isHorizontalOnMobile": isHorizontalOnMobile }, { children: options.map(function (option, index) {
|
|
31
31
|
var radioId = option.id || "".concat(name, "_").concat(index);
|
|
32
32
|
var isChecked = value === option.value;
|
|
33
|
-
return ((0, jsx_runtime_1.jsx)(RadioButton_1.default, { id: radioId, name: name, value: option.value, checked: isChecked, onChange: function (e) { return handleRadioChange(option.value); }, label: option.label, description: option.description, image: option.image, disabled: disabled || option.disabled, alignment: option.alignment, isWrapText: option.isWrapText, size: size, textSize: textSize, layout: radioLayout, valid: valid, labelOffset: labelOffset, color: option.color || color, verticalAlign: verticalAlign, readOnly: readOnly,
|
|
33
|
+
return ((0, jsx_runtime_1.jsx)(RadioButton_1.default, { id: radioId, name: name, value: option.value, checked: isChecked, onChange: function (e) { return handleRadioChange(option.value); }, label: option.label, description: option.description, image: option.image, disabled: disabled || option.disabled, alignment: option.alignment, isWrapText: option.isWrapText, size: size, textSize: textSize, layout: radioLayout, valid: valid, labelOffset: labelOffset, color: option.color || color, verticalAlign: verticalAlign, readOnly: readOnly, labelSm: option.labelSm, hasBadge: option.hasBadge, badgeText: option.badgeText, badgeVariant: option.badgeVariant, price: option.price, priceDesc: option.priceDesc, hasTitleBadge: option.hasTitleBadge, titleBadgeLayout: option.titleBadgeLayout, titleBadgeText: option.titleBadgeText, hasPriceBadge: option.hasPriceBadge, priceBadgeLayout: option.priceBadgeLayout, priceBadgeText: option.priceBadgeText, iconName: option.iconName, iconColor: option.iconColor, content: option.content, showIndicator: showIndicator, titleBadgePosition: option.titleBadgePosition }, radioId));
|
|
34
34
|
}) }))] }));
|
|
35
35
|
};
|
|
36
36
|
exports.default = RadioGroup;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { variants } from "../Badges/props";
|
|
3
2
|
export declare const layouts: string[];
|
|
4
3
|
export declare const sizes: string[];
|
|
5
4
|
export declare const textSizes: string[];
|
|
@@ -20,10 +19,22 @@ export interface RadioOption {
|
|
|
20
19
|
color?: string;
|
|
21
20
|
alignment?: ALIGNMENTS;
|
|
22
21
|
isWrapText?: boolean;
|
|
23
|
-
|
|
22
|
+
labelSm?: string;
|
|
23
|
+
hasBadge?: boolean;
|
|
24
|
+
badgeText?: string;
|
|
25
|
+
badgeVariant?: string;
|
|
26
|
+
price?: string;
|
|
27
|
+
priceDesc?: string;
|
|
24
28
|
hasTitleBadge?: boolean;
|
|
25
|
-
titleBadgeLayout?:
|
|
29
|
+
titleBadgeLayout?: string;
|
|
26
30
|
titleBadgeText?: string;
|
|
31
|
+
hasPriceBadge?: boolean;
|
|
32
|
+
priceBadgeLayout?: string;
|
|
33
|
+
priceBadgeText?: string;
|
|
34
|
+
iconName?: string;
|
|
35
|
+
iconColor?: string;
|
|
36
|
+
content?: React.ReactNode;
|
|
37
|
+
titleBadgePosition?: "inline" | "below";
|
|
27
38
|
}
|
|
28
39
|
export interface RadioGroup {
|
|
29
40
|
options?: RadioOption[];
|
|
@@ -4,7 +4,7 @@ exports.RadioGroupDefault = exports.alignments = exports.radioLayouts = exports.
|
|
|
4
4
|
exports.layouts = ["vertical", "horizontal"];
|
|
5
5
|
exports.sizes = ["small", "medium"];
|
|
6
6
|
exports.textSizes = ["small", "medium", "large", "xlarge"];
|
|
7
|
-
exports.radioLayouts = ["basic", "boxed", "boxedSm", "boxedMd", "horizontal", "color"];
|
|
7
|
+
exports.radioLayouts = ["basic", "boxed", "boxedSm", "boxedMd", "boxedWithIcon", "horizontal", "color"];
|
|
8
8
|
exports.alignments = ["vertical", "horizontal"];
|
|
9
9
|
exports.RadioGroupDefault = {
|
|
10
10
|
options: [],
|
|
@@ -328,3 +328,76 @@ export declare const WithDescriptions: {
|
|
|
328
328
|
size: string;
|
|
329
329
|
};
|
|
330
330
|
};
|
|
331
|
+
export declare const BoxedWithIconLayout: {
|
|
332
|
+
args: {
|
|
333
|
+
name: string;
|
|
334
|
+
label: string;
|
|
335
|
+
options: {
|
|
336
|
+
label: string;
|
|
337
|
+
value: string;
|
|
338
|
+
iconName: string;
|
|
339
|
+
iconColor: string;
|
|
340
|
+
content: React.JSX.Element;
|
|
341
|
+
}[];
|
|
342
|
+
value: string;
|
|
343
|
+
onChange: (value: any) => void;
|
|
344
|
+
layout: string;
|
|
345
|
+
radioLayout: string;
|
|
346
|
+
gap: string;
|
|
347
|
+
};
|
|
348
|
+
decorators: ((Story: any) => React.JSX.Element)[];
|
|
349
|
+
};
|
|
350
|
+
export declare const HorizontalInstallment: {
|
|
351
|
+
args: {
|
|
352
|
+
name: string;
|
|
353
|
+
label: string;
|
|
354
|
+
options: ({
|
|
355
|
+
label: string;
|
|
356
|
+
value: string;
|
|
357
|
+
description: string;
|
|
358
|
+
price: string;
|
|
359
|
+
priceDesc: string;
|
|
360
|
+
hasTitleBadge: boolean;
|
|
361
|
+
titleBadgeLayout: string;
|
|
362
|
+
titleBadgeText: string;
|
|
363
|
+
hasPriceBadge: boolean;
|
|
364
|
+
priceBadgeLayout: string;
|
|
365
|
+
priceBadgeText: string;
|
|
366
|
+
disabled?: undefined;
|
|
367
|
+
} | {
|
|
368
|
+
label: string;
|
|
369
|
+
value: string;
|
|
370
|
+
description: string;
|
|
371
|
+
price: string;
|
|
372
|
+
priceDesc: string;
|
|
373
|
+
hasTitleBadge: boolean;
|
|
374
|
+
hasPriceBadge: boolean;
|
|
375
|
+
titleBadgeLayout?: undefined;
|
|
376
|
+
titleBadgeText?: undefined;
|
|
377
|
+
priceBadgeLayout?: undefined;
|
|
378
|
+
priceBadgeText?: undefined;
|
|
379
|
+
disabled?: undefined;
|
|
380
|
+
} | {
|
|
381
|
+
label: string;
|
|
382
|
+
value: string;
|
|
383
|
+
description: string;
|
|
384
|
+
price: string;
|
|
385
|
+
priceDesc: string;
|
|
386
|
+
hasTitleBadge: boolean;
|
|
387
|
+
titleBadgeLayout: string;
|
|
388
|
+
titleBadgeText: string;
|
|
389
|
+
hasPriceBadge: boolean;
|
|
390
|
+
priceBadgeLayout: string;
|
|
391
|
+
priceBadgeText: string;
|
|
392
|
+
disabled: boolean;
|
|
393
|
+
})[];
|
|
394
|
+
value: string;
|
|
395
|
+
onChange: (value: any) => void;
|
|
396
|
+
layout: string;
|
|
397
|
+
radioLayout: string;
|
|
398
|
+
gap: string;
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
export declare const AllRadioLayouts: {
|
|
402
|
+
render: () => React.JSX.Element;
|
|
403
|
+
};
|
|
@@ -14,10 +14,88 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.WithDescriptions = exports.WithDisabledOptions = exports.ColorPicker = exports.GridStackedOnMobile = exports.GridTwoColumns = exports.WithInfoArea = exports.BoxedMdWithoutIndicator = exports.BoxedMdFilled = exports.BoxedMdLayout = exports.BoxedSmFilled = exports.BoxedSmLayout = exports.BoxedLayout = exports.Horizontal = exports.VerticalHorizontalOnMobile = exports.WithoutIndicator = exports.Default = void 0;
|
|
17
|
+
exports.AllRadioLayouts = exports.HorizontalInstallment = exports.BoxedWithIconLayout = exports.WithDescriptions = exports.WithDisabledOptions = exports.ColorPicker = exports.GridStackedOnMobile = exports.GridTwoColumns = exports.WithInfoArea = exports.BoxedMdWithoutIndicator = exports.BoxedMdFilled = exports.BoxedMdLayout = exports.BoxedSmFilled = exports.BoxedSmLayout = exports.BoxedLayout = exports.Horizontal = exports.VerticalHorizontalOnMobile = exports.WithoutIndicator = exports.Default = void 0;
|
|
18
18
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
19
|
var RadioGroup_1 = __importDefault(require("../RadioGroup"));
|
|
20
20
|
var props_1 = require("../props");
|
|
21
|
+
var onChange = function (value) { return console.log("Selected value:", value); };
|
|
22
|
+
var basicOptions = [
|
|
23
|
+
{ label: "Option 1", value: "option1", description: "Description 1" },
|
|
24
|
+
{ label: "Option 2", value: "option2", description: "Description 2" },
|
|
25
|
+
{ label: "Option 3", value: "option3", description: "Description 3" },
|
|
26
|
+
];
|
|
27
|
+
var boxedOptions = [
|
|
28
|
+
{ label: "99.999,99 TL", labelSm: "/ay", description: "1 hafta", value: "weekly" },
|
|
29
|
+
{ label: "199.999,99 TL", labelSm: "/ay", description: "1 ay", value: "monthly", hasBadge: true, badgeText: "Avantajlı", badgeVariant: "primary" },
|
|
30
|
+
{ label: "299.999,99 TL", labelSm: "/ay", description: "3 ay", value: "quarterly" },
|
|
31
|
+
];
|
|
32
|
+
var boxedSmOptions = [
|
|
33
|
+
{ label: "1.999,99 TL", value: "monthly", description: "12 ay" },
|
|
34
|
+
{ label: "3.499,99 TL", value: "biannual", description: "6 ay" },
|
|
35
|
+
{ label: "5.999,99 TL", value: "annual", description: "3 ay" },
|
|
36
|
+
];
|
|
37
|
+
var boxedWithIconOptions = [
|
|
38
|
+
{
|
|
39
|
+
label: "İş Bankası müşterisiyim",
|
|
40
|
+
value: "customer",
|
|
41
|
+
iconName: "ShieldDoneLg",
|
|
42
|
+
iconColor: "var(--green)",
|
|
43
|
+
content: ((0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsx)("li", { children: "\u0130\u015FCep'e giri\u015F yap" }), (0, jsx_runtime_1.jsx)("li", { children: "Mevduat hesab\u0131n\u0131 a\u00E7" }), (0, jsx_runtime_1.jsx)("li", { children: "\u0130\u015Flemine devam etmek i\u00E7in telefonuna gelen SMS ile devam et" })] })),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
label: "İş Bankası müşterisi değilim",
|
|
47
|
+
value: "nonCustomer",
|
|
48
|
+
iconName: "UserPlusLg",
|
|
49
|
+
iconColor: "var(--yellow)",
|
|
50
|
+
content: ((0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsx)("li", { children: "\u00D6nce \u0130\u015FCep uygulamas\u0131n\u0131 indir" }), (0, jsx_runtime_1.jsx)("li", { children: "\u0130\u015F Bankas\u0131 m\u00FC\u015Fterisi ol ad\u0131m\u0131ndan m\u00FC\u015Fteri ol" }), (0, jsx_runtime_1.jsx)("li", { children: "M\u00FC\u015Fteri olduktan sonra \u0130\u015FCep'ten \u00E7\u0131k\u0131\u015F yap" })] })),
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
var horizontalOptions = [
|
|
54
|
+
{
|
|
55
|
+
label: "Taksitli Ödeme",
|
|
56
|
+
value: "installment",
|
|
57
|
+
description: "10 taksit seçeneği ile ödeme yapabilirsiniz",
|
|
58
|
+
price: "1.250 TL",
|
|
59
|
+
priceDesc: "12.500 TL",
|
|
60
|
+
hasTitleBadge: true,
|
|
61
|
+
titleBadgeLayout: "secondary",
|
|
62
|
+
titleBadgeText: "Peşin fiyatına",
|
|
63
|
+
hasPriceBadge: true,
|
|
64
|
+
priceBadgeLayout: "primary",
|
|
65
|
+
priceBadgeText: "Avantajlı",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
label: "Tek Çekim",
|
|
69
|
+
value: "single",
|
|
70
|
+
description: "Tek seferde ödeme yapın",
|
|
71
|
+
price: "12.500 TL",
|
|
72
|
+
priceDesc: "12.500 TL",
|
|
73
|
+
hasTitleBadge: false,
|
|
74
|
+
hasPriceBadge: false,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
label: "Taksitli Ödeme",
|
|
78
|
+
value: "disabled",
|
|
79
|
+
description: "Bu seçenek şu an kullanılamıyor",
|
|
80
|
+
price: "1.250 TL",
|
|
81
|
+
priceDesc: "12.500 TL",
|
|
82
|
+
hasTitleBadge: true,
|
|
83
|
+
titleBadgeLayout: "secondary",
|
|
84
|
+
titleBadgeText: "Peşin fiyatına",
|
|
85
|
+
hasPriceBadge: true,
|
|
86
|
+
priceBadgeLayout: "disabled",
|
|
87
|
+
priceBadgeText: "Satışta yok",
|
|
88
|
+
disabled: true,
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
var colorOptions = [
|
|
92
|
+
{ value: "black", color: "#000000" },
|
|
93
|
+
{ value: "white", color: "#FFFFFF" },
|
|
94
|
+
{ value: "red", color: "#FF1F1F" },
|
|
95
|
+
{ value: "blue", color: "#2563EB" },
|
|
96
|
+
{ value: "green", color: "#16A34A" },
|
|
97
|
+
{ value: "purple", color: "#9763F6" },
|
|
98
|
+
];
|
|
21
99
|
exports.default = {
|
|
22
100
|
title: 'Components/RadioGroup',
|
|
23
101
|
component: RadioGroup_1.default,
|
|
@@ -276,9 +354,39 @@ exports.WithDescriptions = {
|
|
|
276
354
|
},
|
|
277
355
|
],
|
|
278
356
|
value: "standard",
|
|
279
|
-
onChange:
|
|
357
|
+
onChange: onChange,
|
|
280
358
|
layout: "vertical",
|
|
281
359
|
radioLayout: "horizontal",
|
|
282
360
|
size: "small",
|
|
283
361
|
},
|
|
284
362
|
};
|
|
363
|
+
exports.BoxedWithIconLayout = {
|
|
364
|
+
args: {
|
|
365
|
+
name: "boxedWithIconRadioGroup",
|
|
366
|
+
label: "Müşteri Tipi",
|
|
367
|
+
options: boxedWithIconOptions,
|
|
368
|
+
value: "customer",
|
|
369
|
+
onChange: onChange,
|
|
370
|
+
layout: "vertical",
|
|
371
|
+
radioLayout: "boxedWithIcon",
|
|
372
|
+
gap: "0.75rem",
|
|
373
|
+
},
|
|
374
|
+
decorators: [
|
|
375
|
+
function (Story) { return ((0, jsx_runtime_1.jsx)("div", __assign({ style: { maxWidth: "400px" } }, { children: (0, jsx_runtime_1.jsx)(Story, {}) }))); },
|
|
376
|
+
],
|
|
377
|
+
};
|
|
378
|
+
exports.HorizontalInstallment = {
|
|
379
|
+
args: {
|
|
380
|
+
name: "horizontalInstallmentRadioGroup",
|
|
381
|
+
label: "Ödeme Seçenekleri",
|
|
382
|
+
options: horizontalOptions,
|
|
383
|
+
value: "installment",
|
|
384
|
+
onChange: onChange,
|
|
385
|
+
layout: "vertical",
|
|
386
|
+
radioLayout: "horizontal",
|
|
387
|
+
gap: "0.75rem",
|
|
388
|
+
},
|
|
389
|
+
};
|
|
390
|
+
exports.AllRadioLayouts = {
|
|
391
|
+
render: function () { return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: { display: "flex", flexDirection: "column", gap: "2.5rem" } }, { children: [(0, jsx_runtime_1.jsx)(RadioGroup_1.default, { name: "allBasic", label: "Basic", options: basicOptions, value: "option1", onChange: onChange, radioLayout: "basic" }), (0, jsx_runtime_1.jsx)(RadioGroup_1.default, { name: "allBoxed", label: "Boxed", options: boxedOptions, value: "weekly", onChange: onChange, layout: "horizontal", radioLayout: "boxed", gap: "0.75rem" }), (0, jsx_runtime_1.jsx)("div", __assign({ style: { maxWidth: "179px" } }, { children: (0, jsx_runtime_1.jsx)(RadioGroup_1.default, { name: "allBoxedSm", label: "BoxedSm", options: boxedSmOptions, value: "monthly", onChange: onChange, layout: "vertical", radioLayout: "boxedSm", gap: "0.75rem" }) })), (0, jsx_runtime_1.jsx)("div", __assign({ style: { maxWidth: "400px" } }, { children: (0, jsx_runtime_1.jsx)(RadioGroup_1.default, { name: "allBoxedWithIcon", label: "BoxedWithIcon", options: boxedWithIconOptions, value: "customer", onChange: onChange, layout: "vertical", radioLayout: "boxedWithIcon", gap: "0.75rem" }) })), (0, jsx_runtime_1.jsx)(RadioGroup_1.default, { name: "allHorizontal", label: "Horizontal", options: horizontalOptions, value: "installment", onChange: onChange, layout: "vertical", radioLayout: "horizontal", gap: "0.75rem" }), (0, jsx_runtime_1.jsx)(RadioGroup_1.default, { name: "allColor", label: "Color", options: colorOptions, value: "black", onChange: onChange, layout: "horizontal", radioLayout: "color", gap: "1rem" })] }))); },
|
|
392
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TabsProps } from "./props";
|
|
3
|
-
declare const Tabs: ({ tabs, activeTab, defaultTab, size, hasAutoFlex, isHideTabHeaderOnMobile, onChange, }: TabsProps) => React.JSX.Element;
|
|
3
|
+
declare const Tabs: ({ tabs, activeTab, defaultTab, size, hasAutoFlex, isHideTabHeaderOnMobile, tabButtonWidth, onChange, }: TabsProps) => React.JSX.Element;
|
|
4
4
|
export default Tabs;
|
|
@@ -17,15 +17,15 @@ var props_1 = require("./props");
|
|
|
17
17
|
var Tabs_styled_1 = require("./Tabs.styled");
|
|
18
18
|
var Tabs = function (_a) {
|
|
19
19
|
var _b;
|
|
20
|
-
var _c = _a.tabs, tabs = _c === void 0 ? props_1.TabsDefault.tabs : _c, activeTab = _a.activeTab, defaultTab = _a.defaultTab, _d = _a.size, size = _d === void 0 ? props_1.TabsDefault.size : _d, _e = _a.hasAutoFlex, hasAutoFlex = _e === void 0 ? props_1.TabsDefault.hasAutoFlex : _e, _f = _a.isHideTabHeaderOnMobile, isHideTabHeaderOnMobile = _f === void 0 ? props_1.TabsDefault.isHideTabHeaderOnMobile : _f, onChange = _a.onChange;
|
|
21
|
-
var
|
|
20
|
+
var _c = _a.tabs, tabs = _c === void 0 ? props_1.TabsDefault.tabs : _c, activeTab = _a.activeTab, defaultTab = _a.defaultTab, _d = _a.size, size = _d === void 0 ? props_1.TabsDefault.size : _d, _e = _a.hasAutoFlex, hasAutoFlex = _e === void 0 ? props_1.TabsDefault.hasAutoFlex : _e, _f = _a.isHideTabHeaderOnMobile, isHideTabHeaderOnMobile = _f === void 0 ? props_1.TabsDefault.isHideTabHeaderOnMobile : _f, _g = _a.tabButtonWidth, tabButtonWidth = _g === void 0 ? props_1.TabsDefault.tabButtonWidth : _g, onChange = _a.onChange;
|
|
21
|
+
var _h = (0, react_1.useState)(function () {
|
|
22
22
|
var _a;
|
|
23
23
|
if (activeTab)
|
|
24
24
|
return activeTab;
|
|
25
25
|
if (defaultTab)
|
|
26
26
|
return defaultTab;
|
|
27
27
|
return ((_a = tabs[0]) === null || _a === void 0 ? void 0 : _a.key) || '';
|
|
28
|
-
}), currentTab =
|
|
28
|
+
}), currentTab = _h[0], setCurrentTab = _h[1];
|
|
29
29
|
var headerRef = (0, react_1.useRef)(null);
|
|
30
30
|
// Sync with controlled activeTab prop
|
|
31
31
|
(0, react_1.useEffect)(function () {
|
|
@@ -60,6 +60,6 @@ var Tabs = function (_a) {
|
|
|
60
60
|
setCurrentTab(key);
|
|
61
61
|
};
|
|
62
62
|
var activeTabContent = (_b = tabs.find(function (tab) { return tab.key === currentTab; })) === null || _b === void 0 ? void 0 : _b.content;
|
|
63
|
-
return ((0, jsx_runtime_1.jsxs)(Tabs_styled_1.TabsStyled, { children: [(0, jsx_runtime_1.jsx)(Tabs_styled_1.TabHeaderStyled, __assign({ ref: headerRef, "$size": size, "$hasAutoFlex": hasAutoFlex, "$isHideTabHeaderOnMobile": isHideTabHeaderOnMobile }, { children: tabs.map(function (tab) { return ((0, jsx_runtime_1.jsx)(Tabs_styled_1.TabItemStyled, __assign({ "data-key": tab.key, "$size": size, "$isActive": currentTab === tab.key, "$isDisabled": tab.isDisabled, "$hasAutoFlex": hasAutoFlex }, { children: (0, jsx_runtime_1.jsx)(Tabs_styled_1.TabItemTitleStyled, __assign({ "$size": size, "$isActive": currentTab === tab.key, "$hasAutoFlex": hasAutoFlex, onClick: function () { return !tab.isDisabled && handleTabChange(tab.key); } }, { children: tab.title })) }), tab.key)); }) })), (0, jsx_runtime_1.jsx)(Tabs_styled_1.TabItemContentStyled, __assign({ "$size": size }, { children: activeTabContent }))] }));
|
|
63
|
+
return ((0, jsx_runtime_1.jsxs)(Tabs_styled_1.TabsStyled, { children: [(0, jsx_runtime_1.jsx)(Tabs_styled_1.TabHeaderStyled, __assign({ ref: headerRef, "$size": size, "$hasAutoFlex": hasAutoFlex, "$isHideTabHeaderOnMobile": isHideTabHeaderOnMobile, "$tabButtonWidth": tabButtonWidth }, { children: tabs.map(function (tab) { return ((0, jsx_runtime_1.jsx)(Tabs_styled_1.TabItemStyled, __assign({ "data-key": tab.key, "$size": size, "$isActive": currentTab === tab.key, "$isDisabled": tab.isDisabled, "$hasAutoFlex": hasAutoFlex, "$tabButtonWidth": tabButtonWidth }, { children: (0, jsx_runtime_1.jsx)(Tabs_styled_1.TabItemTitleStyled, __assign({ "$size": size, "$isActive": currentTab === tab.key, "$hasAutoFlex": hasAutoFlex, "$tabButtonWidth": tabButtonWidth, onClick: function () { return !tab.isDisabled && handleTabChange(tab.key); } }, { children: tab.title })) }), tab.key)); }) })), (0, jsx_runtime_1.jsx)(Tabs_styled_1.TabItemContentStyled, __assign({ "$size": size }, { children: activeTabContent }))] }));
|
|
64
64
|
};
|
|
65
65
|
exports.default = Tabs;
|
|
@@ -41,7 +41,7 @@ var getTabSize = function ($size) {
|
|
|
41
41
|
};
|
|
42
42
|
exports.TabsStyled = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([""], [""])));
|
|
43
43
|
exports.TabHeaderStyled = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n column-gap: ", ";\n ", "\n ", "\n"], ["\n display: flex;\n align-items: center;\n justify-content: ", ";\n column-gap: ", ";\n ", "\n ", "\n"])), function (props) { return props.$hasAutoFlex ? "center" : "flex-start"; }, function (props) { return getTabSize(props.$size).columnGap; }, function (props) { return !props.$hasAutoFlex && "\n scroll-snap-type: x proximity;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n overflow-x: scroll;\n padding: 2rem;\n margin: -2rem;\n @media only screen and (".concat(devices_1.devices.xl, ") {\n padding: 2rem 1rem;\n margin: -2rem -1rem;\n column-gap: ").concat(getTabSize(props.$size).columnGapSm, ";\n }\n "); }, function (props) { return props.$isHideTabHeaderOnMobile ? "\n @media only screen and (".concat(devices_1.devices.lg, ") {\n display: none;\n }\n ") : ""; });
|
|
44
|
-
exports.TabItemStyled = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: ", ";\n ", "\n"], ["\n flex: ", ";\n ", "\n"])), function (props) { return props.$hasAutoFlex ? "1 0" : "auto 0"; }, function (props) { return props.$isDisabled ? "\n cursor: no-drop;\n pointer-events: none;\n user-select: none;\n " : ""; });
|
|
44
|
+
exports.TabItemStyled = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: ", ";\n width: ", ";\n ", "\n"], ["\n flex: ", ";\n width: ", ";\n ", "\n"])), function (props) { return props.$tabButtonWidth ? "0 0 ".concat(props.$tabButtonWidth, "px") : props.$hasAutoFlex ? "1 0" : "auto 0"; }, function (props) { return props.$tabButtonWidth ? "".concat(props.$tabButtonWidth, "px") : "auto"; }, function (props) { return props.$isDisabled ? "\n cursor: no-drop;\n pointer-events: none;\n user-select: none;\n " : ""; });
|
|
45
45
|
exports.TabItemTitleStyled = styled_components_1.default.button(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background: transparent;\n color: ", ";\n border: 1px solid ", ";\n width: 100%;\n box-shadow: 0 6px 30px 0 ", ";\n border-radius: 0.5rem;\n transition: all .2s ease;\n padding: ", ";\n height: ", ";\n cursor: pointer;\n font: var(--body-semi-bold-14-17);\n white-space: ", ";\n outline: none !important;\n &:hover {\n color: var(--dark);\n border: 1px solid var(--grey-10);\n box-shadow: 0 6px 30px 0 var(--box-shadow-color);\n }\n"], ["\n background: transparent;\n color: ", ";\n border: 1px solid ", ";\n width: 100%;\n box-shadow: 0 6px 30px 0 ", ";\n border-radius: 0.5rem;\n transition: all .2s ease;\n padding: ", ";\n height: ", ";\n cursor: pointer;\n font: var(--body-semi-bold-14-17);\n white-space: ", ";\n outline: none !important;\n &:hover {\n color: var(--dark);\n border: 1px solid var(--grey-10);\n box-shadow: 0 6px 30px 0 var(--box-shadow-color);\n }\n"])), function (props) { return props.$isActive ? "var(--dark)" : "var(--dark-opacity-75)"; }, function (props) { return props.$isActive ? "var(--grey-10)" : "transparent"; }, function (props) { return props.$isActive ? "var(--box-shadow-color)" : "transparent"; }, function (props) { return props.$hasAutoFlex ? "0" : getTabSize(props.$size).padding; }, function (props) { return getTabSize(props.$size).height; }, function (props) { return props.$hasAutoFlex ? "pre-wrap" : "nowrap"; });
|
|
46
46
|
exports.TabItemContentStyled = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n padding-top: ", ";\n @media only screen and (", ") {\n padding-top: ", ";\n }\n"], ["\n padding-top: ", ";\n @media only screen and (", ") {\n padding-top: ", ";\n }\n"])), function (props) { return getTabSize(props.$size).paddingTop; }, devices_1.devices.lg, function (props) { return getTabSize(props.$size).paddingTop; });
|
|
47
47
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
@@ -14,17 +14,20 @@ export interface TabsProps {
|
|
|
14
14
|
size?: SIZES;
|
|
15
15
|
hasAutoFlex?: boolean;
|
|
16
16
|
isHideTabHeaderOnMobile?: boolean;
|
|
17
|
+
tabButtonWidth?: number;
|
|
17
18
|
onChange?: (key: string) => void;
|
|
18
19
|
}
|
|
19
20
|
export interface TabStyledProps {
|
|
20
21
|
$hasAutoFlex?: boolean;
|
|
21
22
|
$isHideTabHeaderOnMobile?: boolean;
|
|
23
|
+
$tabButtonWidth?: number;
|
|
22
24
|
$size?: SIZES;
|
|
23
25
|
}
|
|
24
26
|
export interface TabItemStyledProps {
|
|
25
27
|
$isActive?: boolean;
|
|
26
28
|
$isDisabled?: boolean;
|
|
27
29
|
$hasAutoFlex?: boolean;
|
|
30
|
+
$tabButtonWidth?: number;
|
|
28
31
|
$size?: SIZES;
|
|
29
32
|
}
|
|
30
33
|
export declare const TabsDefault: TabsProps;
|