@designbasekorea/figma-ui 0.1.7 → 0.1.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/index.d.ts +1 -1
- package/dist/index.esm.js +72 -65
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +84 -77
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ var ui = require('@designbasekorea/ui');
|
|
|
6
6
|
|
|
7
7
|
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
8
8
|
|
|
9
|
-
const DonationBadge
|
|
9
|
+
const DonationBadge = ({ donationUrl = 'https://buymeacoffee.com/designbase', text = 'Buy me a coffee', iconType = 'heart', size = 'm', className, onClick, }) => {
|
|
10
10
|
const handleClick = () => {
|
|
11
11
|
if (onClick) {
|
|
12
12
|
onClick();
|
|
@@ -21,11 +21,44 @@ const DonationBadge$1 = ({ donationUrl = 'https://buymeacoffee.com/designbase',
|
|
|
21
21
|
React.createElement(Icon, { className: "designbase-figma-donation-badge__icon" }),
|
|
22
22
|
React.createElement("span", { className: "designbase-figma-donation-badge__text" }, text)));
|
|
23
23
|
};
|
|
24
|
-
DonationBadge
|
|
24
|
+
DonationBadge.displayName = 'DonationBadge';
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
const defaultLinks = [
|
|
27
|
+
{
|
|
28
|
+
name: 'officialWebsite',
|
|
29
|
+
url: 'https://designbase.co.kr',
|
|
30
|
+
icon: React.createElement(icons.GlobeIcon, { size: 20 }),
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'youtube',
|
|
34
|
+
url: 'https://youtube.com/designbase',
|
|
35
|
+
icon: React.createElement(icons.YoutubeIcon, { size: 20 }),
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'instagram',
|
|
39
|
+
url: 'https://instagram.com/designbase',
|
|
40
|
+
icon: React.createElement(icons.InstagramIcon, { size: 20 }),
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'figmaCommunity',
|
|
44
|
+
url: 'https://www.figma.com/@designbasekorea',
|
|
45
|
+
icon: React.createElement(icons.CodeIcon, { size: 20 }),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'contact',
|
|
49
|
+
url: 'mailto:designbasekorea@gmail.com',
|
|
50
|
+
icon: React.createElement(icons.MailIcon, { size: 20 }),
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
const defaultTranslations = {
|
|
54
|
+
officialWebsite: '공식 웹사이트',
|
|
55
|
+
youtube: '유튜브',
|
|
56
|
+
instagram: '인스타그램',
|
|
57
|
+
figmaCommunity: '피그마 커뮤니티',
|
|
58
|
+
contact: '문의하기',
|
|
59
|
+
};
|
|
60
|
+
const defaultT = (key) => defaultTranslations[key] || key;
|
|
61
|
+
const LogoDropdown = ({ logoSrc, logoAlt = 'DesignBase', logoType = 'designbase', logoSize = 'xs', links = defaultLinks, position = 'top-left', className, t = defaultT, }) => {
|
|
29
62
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
30
63
|
const toggleDropdown = () => setIsOpen(!isOpen);
|
|
31
64
|
const handleLinkClick = (url) => {
|
|
@@ -52,9 +85,9 @@ const LogoDropdown$1 = ({ logoSrc, logoAlt = 'DesignBase', logoType = 'designbas
|
|
|
52
85
|
React.createElement("span", { className: "designbase-figma-logo-dropdown__text" }, t(link.name)),
|
|
53
86
|
React.createElement(icons.ExternalLinkIcon, { size: 16, className: "designbase-figma-logo-dropdown__arrow" })))))))));
|
|
54
87
|
};
|
|
55
|
-
LogoDropdown
|
|
88
|
+
LogoDropdown.displayName = 'LogoDropdown';
|
|
56
89
|
|
|
57
|
-
const PaymentBadge
|
|
90
|
+
const PaymentBadge = ({ isActive, onClick, isLoading = false, text, t = (key) => key, className, }) => {
|
|
58
91
|
const getBadgeText = () => {
|
|
59
92
|
if (text)
|
|
60
93
|
return text;
|
|
@@ -67,13 +100,13 @@ const PaymentBadge$1 = ({ isActive, onClick, isLoading = false, text, t = (key)
|
|
|
67
100
|
};
|
|
68
101
|
return (React.createElement("div", { className: `designbase-figma-payment-badge ${className || ''} ${isActive ? 'active' : 'free'}`, onClick: onClick, style: { cursor: onClick ? 'pointer' : 'default' } }, isLoading ? (React.createElement(ui.Spinner, { size: "s" })) : (React.createElement(ui.Badge, { variant: getBadgeVariant(), size: "s", className: "designbase-figma-payment-badge__badge" }, getBadgeText()))));
|
|
69
102
|
};
|
|
70
|
-
PaymentBadge
|
|
103
|
+
PaymentBadge.displayName = 'PaymentBadge';
|
|
71
104
|
|
|
72
105
|
const DEFAULT_LANGUAGES = [
|
|
73
106
|
{ code: 'ko', label: 'KO' },
|
|
74
107
|
{ code: 'en', label: 'EN' },
|
|
75
108
|
];
|
|
76
|
-
const LanguageSelector
|
|
109
|
+
const LanguageSelector = ({ currentLanguage = 'ko', languages = DEFAULT_LANGUAGES, onLanguageChange, size = 's', className, }) => {
|
|
77
110
|
const handleLanguageChange = (languageCode) => {
|
|
78
111
|
if (onLanguageChange) {
|
|
79
112
|
onLanguageChange(languageCode);
|
|
@@ -84,9 +117,9 @@ const LanguageSelector$1 = ({ currentLanguage = 'ko', languages = DEFAULT_LANGUA
|
|
|
84
117
|
'designbase-figma-language-selector__button--active': currentLanguage === language.code,
|
|
85
118
|
}), onClick: () => handleLanguageChange(language.code), "aria-label": `${language.label} 언어 선택`, "aria-pressed": currentLanguage === language.code }, language.label)))));
|
|
86
119
|
};
|
|
87
|
-
LanguageSelector
|
|
120
|
+
LanguageSelector.displayName = 'LanguageSelector';
|
|
88
121
|
|
|
89
|
-
const Footer
|
|
122
|
+
const Footer = ({ logoSrc, logoAlt = 'DesignBase', logoType = 'designbase', logoSize = 'xs', logoLinks, onLicensePageClick, paymentStatus = 'FREE', usageCount = 0, isLoading = false, showPaymentStatus = true, maxDailyUsage = 20, showDonation = false, donationUrl = 'https://buymeacoffee.com/designbase', donationText = 'Buy me a coffee', showLanguageSelector = false, currentLanguage = 'ko', languages, onLanguageChange, className, t = (key) => key, children, }) => {
|
|
90
123
|
const isActive = paymentStatus === 'PAID';
|
|
91
124
|
const hasChildren = React.Children.count(children) > 0;
|
|
92
125
|
const classes = clsx('designbase-figma-footer', {
|
|
@@ -95,8 +128,8 @@ const Footer$1 = ({ logoSrc, logoAlt = 'DesignBase', logoType = 'designbase', lo
|
|
|
95
128
|
return (React.createElement("footer", { className: classes },
|
|
96
129
|
React.createElement("div", { className: "designbase-figma-footer__wrap" },
|
|
97
130
|
React.createElement("div", { className: "designbase-figma-footer__left" },
|
|
98
|
-
React.createElement(LogoDropdown
|
|
99
|
-
showLanguageSelector && (React.createElement(LanguageSelector
|
|
131
|
+
React.createElement(LogoDropdown, { logoSrc: logoSrc, logoAlt: logoAlt, logoType: logoType, logoSize: logoSize, links: logoLinks, position: "top-left", t: t }),
|
|
132
|
+
showLanguageSelector && (React.createElement(LanguageSelector, { currentLanguage: currentLanguage, languages: languages, onLanguageChange: onLanguageChange, size: "s" }))),
|
|
100
133
|
showPaymentStatus && (React.createElement("div", { className: "designbase-figma-footer__payment-states" },
|
|
101
134
|
!isLoading && (React.createElement("div", { className: "designbase-figma-footer__usage-info" }, isActive ? (React.createElement("span", { className: "designbase-figma-footer__unlimited-usage" }, t('unlimitedUsage'))) : (React.createElement(React.Fragment, null,
|
|
102
135
|
React.createElement("span", { className: "designbase-figma-footer__usage-count" }, usageCount),
|
|
@@ -106,16 +139,14 @@ const Footer$1 = ({ logoSrc, logoAlt = 'DesignBase', logoType = 'designbase', lo
|
|
|
106
139
|
" ",
|
|
107
140
|
t('perDay')),
|
|
108
141
|
React.createElement("span", { className: "designbase-figma-footer__reset-info" }, t('resetsDaily')))))),
|
|
109
|
-
React.createElement(PaymentBadge
|
|
142
|
+
React.createElement(PaymentBadge, { isActive: isActive, onClick: onLicensePageClick, isLoading: isLoading, t: t }))),
|
|
110
143
|
showDonation && (React.createElement("div", { className: "designbase-figma-footer__donation" },
|
|
111
|
-
React.createElement(DonationBadge
|
|
144
|
+
React.createElement(DonationBadge, { donationUrl: donationUrl, text: donationText, iconType: "heart", size: "s" })))),
|
|
112
145
|
children));
|
|
113
146
|
};
|
|
114
|
-
Footer
|
|
115
|
-
|
|
116
|
-
Footer;
|
|
147
|
+
Footer.displayName = 'Footer';
|
|
117
148
|
|
|
118
|
-
const FormWithSubmit
|
|
149
|
+
const FormWithSubmit = ({ onLicenseSubmit, disabled = false, isSubmitting = false, value = '', onValueChange, label = 'License Key', placeholder = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', submitText = 'Submit', submittingText = 'Verifying...', className, }) => {
|
|
119
150
|
const [inputValue, setInputValue] = React.useState(value);
|
|
120
151
|
React.useEffect(() => {
|
|
121
152
|
setInputValue(value);
|
|
@@ -135,11 +166,9 @@ const FormWithSubmit$1 = ({ onLicenseSubmit, disabled = false, isSubmitting = fa
|
|
|
135
166
|
React.createElement(ui.Input, { value: inputValue, onChange: handleChange, placeholder: placeholder, disabled: disabled || isSubmitting, size: "m" })),
|
|
136
167
|
React.createElement(ui.Button, { type: "submit", variant: "primary", size: "m", loading: isSubmitting, disabled: !inputValue.trim() || isSubmitting || disabled, fullWidth: true }, isSubmitting ? submittingText : submitText)));
|
|
137
168
|
};
|
|
138
|
-
FormWithSubmit
|
|
169
|
+
FormWithSubmit.displayName = 'FormWithSubmit';
|
|
139
170
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const InteractionFeedback$1 = ({ status = 'default', message, statusMessage, leftContent, rightContent, visible = true, className, fixed = true, }) => {
|
|
171
|
+
const InteractionFeedback = ({ status = 'default', message, statusMessage, leftContent, rightContent, visible = true, className, fixed = true, }) => {
|
|
143
172
|
const wrapperClasses = clsx('designbase-figma-interaction-wrapper', {
|
|
144
173
|
'designbase-figma-interaction-wrapper--fixed': fixed,
|
|
145
174
|
});
|
|
@@ -156,15 +185,9 @@ const InteractionFeedback$1 = ({ status = 'default', message, statusMessage, lef
|
|
|
156
185
|
statusMessage && (React.createElement("span", { className: "designbase-figma-interaction__status-text" }, statusMessage))))),
|
|
157
186
|
rightContent && (React.createElement("div", { className: "designbase-figma-interaction__right" }, rightContent))))));
|
|
158
187
|
};
|
|
159
|
-
InteractionFeedback
|
|
160
|
-
|
|
161
|
-
InteractionFeedback;
|
|
162
|
-
|
|
163
|
-
LanguageSelector;
|
|
164
|
-
|
|
165
|
-
LogoDropdown;
|
|
188
|
+
InteractionFeedback.displayName = 'InteractionFeedback';
|
|
166
189
|
|
|
167
|
-
const PaymentStatusSection
|
|
190
|
+
const PaymentStatusSection = ({ status, usageCount, activationLimit, activationUsage, licenseKey, onDeactivate, isDeactivating = false, showDetails = false, className, }) => {
|
|
168
191
|
const remainingActivations = activationLimit - activationUsage;
|
|
169
192
|
return (React.createElement("div", { className: `designbase-figma-payment-status ${className || ''}` },
|
|
170
193
|
React.createElement("div", { className: "designbase-figma-payment-status__license-key" },
|
|
@@ -183,7 +206,7 @@ const PaymentStatusSection$1 = ({ status, usageCount, activationLimit, activatio
|
|
|
183
206
|
activationLimit)),
|
|
184
207
|
React.createElement(ui.Button, { onClick: onDeactivate, variant: "tertiary", size: "s", disabled: isDeactivating }, isDeactivating ? '비활성화중...' : '라이선스 비활성화')))));
|
|
185
208
|
};
|
|
186
|
-
PaymentStatusSection
|
|
209
|
+
PaymentStatusSection.displayName = 'PaymentStatusSection';
|
|
187
210
|
|
|
188
211
|
const defaultFeatures = [
|
|
189
212
|
{ name: '사용 제한', free: '일일 제한', pro: '무제한' },
|
|
@@ -196,7 +219,7 @@ const defaultPricing = {
|
|
|
196
219
|
monthly: 2,
|
|
197
220
|
yearly: 21.6,
|
|
198
221
|
};
|
|
199
|
-
const PricingComparison
|
|
222
|
+
const PricingComparison = ({ features = defaultFeatures, pricing = defaultPricing, t = (key) => key, className, }) => {
|
|
200
223
|
const [isYearly, setIsYearly] = React.useState(false);
|
|
201
224
|
const getPrice = () => {
|
|
202
225
|
const price = isYearly ? pricing.yearly : pricing.monthly;
|
|
@@ -245,9 +268,9 @@ const PricingComparison$1 = ({ features = defaultFeatures, pricing = defaultPric
|
|
|
245
268
|
? (feature.pro ? '✓' : '✗')
|
|
246
269
|
: feature.pro))))))));
|
|
247
270
|
};
|
|
248
|
-
PricingComparison
|
|
271
|
+
PricingComparison.displayName = 'PricingComparison';
|
|
249
272
|
|
|
250
|
-
const PageLicense
|
|
273
|
+
const PageLicense = ({ status: initialStatus, onClose, usageCount: initialUsageCount = 0, onLicenseSubmit, licenseKey: initialLicenseKey = '', setPaymentStatus, setUsageCount, setShowLicensePage, paymentPageUrl, t = (key) => key, className, }) => {
|
|
251
274
|
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
252
275
|
const [isDeactivating, setIsDeactivating] = React.useState(false);
|
|
253
276
|
const [licenseKey, setLicenseKey] = React.useState(initialLicenseKey);
|
|
@@ -333,37 +356,29 @@ const PageLicense$1 = ({ status: initialStatus, onClose, usageCount: initialUsag
|
|
|
333
356
|
React.createElement("p", { className: "designbase-figma-page-license__description" }, isPaid
|
|
334
357
|
? t('allFeaturesAvailable') || '모든 기능을 사용할 수 있습니다.'
|
|
335
358
|
: t('purchaseForUnlimited') || '라이선스 구매 후 무제한 접근이 가능합니다.')),
|
|
336
|
-
React.createElement(PricingComparison
|
|
359
|
+
React.createElement(PricingComparison, { t: t }),
|
|
337
360
|
isPaid && (React.createElement("div", { className: "designbase-figma-page-license__section" },
|
|
338
361
|
React.createElement("div", { className: "designbase-figma-page-license__section-header" },
|
|
339
362
|
React.createElement("h3", null, t('licenseActivated') || '라이선스 활성화됨'),
|
|
340
363
|
React.createElement(ui.Button, { onClick: () => setShowDetails(!showDetails), variant: "tertiary", size: "s", iconOnly: true },
|
|
341
364
|
React.createElement(icons.MoreHorizontalIcon, { size: 16 }))),
|
|
342
|
-
React.createElement(PaymentStatusSection
|
|
365
|
+
React.createElement(PaymentStatusSection, { status: status, usageCount: usageCount, activationLimit: activationLimit, activationUsage: activationUsage, licenseKey: licenseKey, onDeactivate: handleDeactivateLicense, isDeactivating: isDeactivating, showDetails: showDetails }))),
|
|
343
366
|
React.createElement("div", { className: "designbase-figma-page-license__section" },
|
|
344
367
|
React.createElement("div", { className: "designbase-figma-page-license__section-header" },
|
|
345
368
|
React.createElement("h3", null, t('enterLicenseKey') || '라이선스 키 입력'),
|
|
346
369
|
!isPaid && paymentPageUrl && (React.createElement(ui.Button, { onClick: () => window.open(paymentPageUrl, '_blank'), variant: "primary", size: "s" },
|
|
347
370
|
React.createElement("span", null, t('purchaseLicense') || '라이선스 구매'),
|
|
348
371
|
React.createElement(icons.ExternalLinkIcon, { size: 16 })))),
|
|
349
|
-
React.createElement(FormWithSubmit
|
|
372
|
+
React.createElement(FormWithSubmit, { onLicenseSubmit: handleLicenseSubmit, disabled: false, isSubmitting: isSubmitting, value: licenseKey, onValueChange: setLicenseKey, label: t('licenseKey') || 'License Key', submitText: t('submit') || 'Submit', submittingText: t('verifying') || 'Verifying...' }),
|
|
350
373
|
React.createElement("p", { className: "designbase-figma-page-license__disclaimer" }, isPaid
|
|
351
374
|
? t('licenseActivatedSuccess') || '라이선스가 성공적으로 활성화되었습니다.'
|
|
352
375
|
: t('enterLicenseFromEmail') || '구독 후 이메일로 받은 라이선스 키를 입력하세요.'))),
|
|
353
376
|
React.createElement(ui.Button, { className: "designbase-figma-page-license__close", onPress: onClose, variant: "tertiary", size: "s", "aria-label": "Close" },
|
|
354
377
|
React.createElement(icons.CloseIcon, { size: 20 }))));
|
|
355
378
|
};
|
|
356
|
-
PageLicense
|
|
379
|
+
PageLicense.displayName = 'PageLicense';
|
|
357
380
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
PaymentBadge;
|
|
361
|
-
|
|
362
|
-
PaymentStatusSection;
|
|
363
|
-
|
|
364
|
-
PricingComparison;
|
|
365
|
-
|
|
366
|
-
const ProgressModal$1 = ({ isOpen, onClose, progress, title = '작업 중', completedMessage = '완료되었습니다', processingMessage = '처리 중...', stopButtonText = '중지', confirmButtonText = '확인', helpText, onStop, onComplete, loadingIcon, completeIcon, className, }) => {
|
|
381
|
+
const ProgressModal = ({ isOpen, onClose, progress, title = '작업 중', completedMessage = '완료되었습니다', processingMessage = '처리 중...', stopButtonText = '중지', confirmButtonText = '확인', helpText, onStop, onComplete, loadingIcon, completeIcon, className, }) => {
|
|
367
382
|
const [isCompleted, setIsCompleted] = React.useState(false);
|
|
368
383
|
const { processedNodes, totalNodes } = progress;
|
|
369
384
|
const progressPercentage = totalNodes > 0 ? (processedNodes / totalNodes) * 100 : 0;
|
|
@@ -395,11 +410,9 @@ const ProgressModal$1 = ({ isOpen, onClose, progress, title = '작업 중', comp
|
|
|
395
410
|
helpText && !isCompleted && (React.createElement("p", { className: "designbase-figma-progress-modal__help-text" }, helpText)),
|
|
396
411
|
React.createElement("div", { className: "designbase-figma-progress-modal__actions" }, isCompleted ? (React.createElement(ui.Button, { onPress: onClose, variant: "primary", size: "m", fullWidth: true }, confirmButtonText)) : (React.createElement(ui.Button, { onPress: handleStop, variant: "secondary", size: "m", fullWidth: true }, stopButtonText))))));
|
|
397
412
|
};
|
|
398
|
-
ProgressModal
|
|
413
|
+
ProgressModal.displayName = 'ProgressModal';
|
|
399
414
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
const ResizablePlugin$1 = ({ children, minWidth = 360, maxWidth = 460, minHeight = 440, maxHeight = 700, icon, className, }) => {
|
|
415
|
+
const ResizablePlugin = ({ children, minWidth = 360, maxWidth = 460, minHeight = 440, maxHeight = 700, icon, className, }) => {
|
|
403
416
|
const [isResizing, setIsResizing] = React.useState(false);
|
|
404
417
|
const resizeHandleRef = React.useRef(null);
|
|
405
418
|
React.useEffect(() => {
|
|
@@ -437,11 +450,9 @@ const ResizablePlugin$1 = ({ children, minWidth = 360, maxWidth = 460, minHeight
|
|
|
437
450
|
setIsResizing(true);
|
|
438
451
|
}, role: "button", tabIndex: 0, "aria-label": "Resize plugin" }, icon || React.createElement(icons.ExpandIcon, { size: 12 }))));
|
|
439
452
|
};
|
|
440
|
-
ResizablePlugin
|
|
441
|
-
|
|
442
|
-
ResizablePlugin;
|
|
453
|
+
ResizablePlugin.displayName = 'ResizablePlugin';
|
|
443
454
|
|
|
444
|
-
const SettingsModal
|
|
455
|
+
const SettingsModal = ({ isOpen, onClose, categories: initialCategories, categoryGroups, onSave, onReset, title = '목록 변경', description = '드래그하여 순서를 변경하거나, 토글하여 카테고리를 숨길 수 있습니다.', className, }) => {
|
|
445
456
|
const [tempCategories, setTempCategories] = React.useState(initialCategories);
|
|
446
457
|
const [draggedIndex, setDraggedIndex] = React.useState(null);
|
|
447
458
|
React.useEffect(() => {
|
|
@@ -553,11 +564,9 @@ const SettingsModal$1 = ({ isOpen, onClose, categories: initialCategories, categ
|
|
|
553
564
|
React.createElement(ui.Button, { onPress: handleCancel, variant: "tertiary", size: "s" }, "\uCDE8\uC18C"),
|
|
554
565
|
React.createElement(ui.Button, { onPress: handleSave, variant: "primary", size: "s" }, "\uC800\uC7A5")))));
|
|
555
566
|
};
|
|
556
|
-
SettingsModal
|
|
567
|
+
SettingsModal.displayName = 'SettingsModal';
|
|
557
568
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
const UpgradeBanner$1 = ({ onClick, isLoading = false, title, description, buttonText, t = (key) => key, className, }) => {
|
|
569
|
+
const UpgradeBanner = ({ onClick, isLoading = false, title, description, buttonText, t = (key) => key, className, }) => {
|
|
561
570
|
return (React.createElement("div", { className: `designbase-figma-upgrade-banner ${className || ''}` },
|
|
562
571
|
React.createElement("div", { className: "designbase-figma-upgrade-banner__content" },
|
|
563
572
|
React.createElement("div", { className: "designbase-figma-upgrade-banner__text-wrap" },
|
|
@@ -565,24 +574,22 @@ const UpgradeBanner$1 = ({ onClick, isLoading = false, title, description, butto
|
|
|
565
574
|
React.createElement("p", { className: "designbase-figma-upgrade-banner__text" }, description || t('bannerText') || '무제한 기능을 사용하고 더 많은 혜택을 누리세요.')),
|
|
566
575
|
React.createElement(ui.Button, { onClick: onClick, variant: "primary", size: "m", disabled: isLoading }, buttonText || t('upgradeNow') || '지금 업그레이드'))));
|
|
567
576
|
};
|
|
568
|
-
UpgradeBanner
|
|
569
|
-
|
|
570
|
-
UpgradeBanner;
|
|
577
|
+
UpgradeBanner.displayName = 'UpgradeBanner';
|
|
571
578
|
|
|
572
|
-
exports.DonationBadge = DonationBadge
|
|
573
|
-
exports.Footer = Footer
|
|
574
|
-
exports.FormWithSubmit = FormWithSubmit
|
|
575
|
-
exports.InteractionFeedback = InteractionFeedback
|
|
576
|
-
exports.LanguageSelector = LanguageSelector
|
|
577
|
-
exports.LogoDropdown = LogoDropdown
|
|
578
|
-
exports.PageLicense = PageLicense
|
|
579
|
-
exports.PaymentBadge = PaymentBadge
|
|
580
|
-
exports.PaymentStatusSection = PaymentStatusSection
|
|
581
|
-
exports.PricingComparison = PricingComparison
|
|
582
|
-
exports.ProgressModal = ProgressModal
|
|
583
|
-
exports.ResizablePlugin = ResizablePlugin
|
|
584
|
-
exports.SettingsModal = SettingsModal
|
|
585
|
-
exports.UpgradeBanner = UpgradeBanner
|
|
579
|
+
exports.DonationBadge = DonationBadge;
|
|
580
|
+
exports.Footer = Footer;
|
|
581
|
+
exports.FormWithSubmit = FormWithSubmit;
|
|
582
|
+
exports.InteractionFeedback = InteractionFeedback;
|
|
583
|
+
exports.LanguageSelector = LanguageSelector;
|
|
584
|
+
exports.LogoDropdown = LogoDropdown;
|
|
585
|
+
exports.PageLicense = PageLicense;
|
|
586
|
+
exports.PaymentBadge = PaymentBadge;
|
|
587
|
+
exports.PaymentStatusSection = PaymentStatusSection;
|
|
588
|
+
exports.PricingComparison = PricingComparison;
|
|
589
|
+
exports.ProgressModal = ProgressModal;
|
|
590
|
+
exports.ResizablePlugin = ResizablePlugin;
|
|
591
|
+
exports.SettingsModal = SettingsModal;
|
|
592
|
+
exports.UpgradeBanner = UpgradeBanner;
|
|
586
593
|
Object.keys(ui).forEach(function (k) {
|
|
587
594
|
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
588
595
|
enumerable: true,
|