@designbasekorea/figma-ui 0.1.45 → 0.1.48
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.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +24 -2
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.css.map +1 -1
- package/dist/index.esm.js +74 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +72 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -327,6 +327,70 @@ const LanguageSelector = ({ currentLanguage = 'ko', languages = DEFAULT_LANGUAGE
|
|
|
327
327
|
};
|
|
328
328
|
LanguageSelector.displayName = 'LanguageSelector';
|
|
329
329
|
|
|
330
|
+
const defaultLinks = [
|
|
331
|
+
{
|
|
332
|
+
name: 'officialWebsite',
|
|
333
|
+
url: 'https://designbase.co.kr',
|
|
334
|
+
icon: React.createElement(icons.AppWindowIcon, { size: 20 }),
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
name: 'youtube',
|
|
338
|
+
url: 'https://youtube.com/designbase',
|
|
339
|
+
icon: React.createElement(icons.YoutubeIcon, { size: 20 }),
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
name: 'instagram',
|
|
343
|
+
url: 'https://instagram.com/designbase',
|
|
344
|
+
icon: React.createElement(icons.InstagramIcon, { size: 20 }),
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: 'figmaCommunity',
|
|
348
|
+
url: 'https://www.figma.com/@designbasekorea',
|
|
349
|
+
icon: React.createElement(icons.FigmaIcon, { size: 20 }),
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
name: 'contact',
|
|
353
|
+
url: 'mailto:designbasekorea@gmail.com',
|
|
354
|
+
icon: React.createElement(icons.MailIcon, { size: 20 }),
|
|
355
|
+
},
|
|
356
|
+
];
|
|
357
|
+
const defaultTranslations$1 = {
|
|
358
|
+
officialWebsite: '공식 웹사이트',
|
|
359
|
+
youtube: '유튜브',
|
|
360
|
+
instagram: '인스타그램',
|
|
361
|
+
figmaCommunity: '피그마 커뮤니티',
|
|
362
|
+
contact: '문의하기',
|
|
363
|
+
};
|
|
364
|
+
const defaultT$1 = (key) => defaultTranslations$1[key] || key;
|
|
365
|
+
const LogoDropdown = ({ logoSrc, logoAlt = 'DesignBase', logoType = 'designbase', logoSize = 'xs', links = defaultLinks, position = 'top-left', className, t = defaultT$1, }) => {
|
|
366
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
367
|
+
const toggleDropdown = () => setIsOpen(!isOpen);
|
|
368
|
+
const handleLinkClick = (url) => {
|
|
369
|
+
if (url.startsWith('mailto:')) {
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
373
|
+
};
|
|
374
|
+
const classes = clsx('designbase-figma-logo-dropdown', `designbase-figma-logo-dropdown--${position}`, {
|
|
375
|
+
'designbase-figma-logo-dropdown--open': isOpen,
|
|
376
|
+
}, className);
|
|
377
|
+
const renderLogo = () => {
|
|
378
|
+
if (logoSrc) {
|
|
379
|
+
return (React.createElement("img", { className: "designbase-figma-logo-dropdown__logo", src: logoSrc, alt: logoAlt, onClick: toggleDropdown }));
|
|
380
|
+
}
|
|
381
|
+
return (React.createElement("div", { className: "designbase-figma-logo-dropdown__logo", onClick: toggleDropdown },
|
|
382
|
+
React.createElement(ui.Logo, { type: logoType, size: logoSize, variant: "default" })));
|
|
383
|
+
};
|
|
384
|
+
return (React.createElement("div", { className: classes },
|
|
385
|
+
renderLogo(),
|
|
386
|
+
isOpen && (React.createElement("ul", { className: "designbase-figma-logo-dropdown__menu" }, links.map((link, index) => (React.createElement("li", { key: index, className: "designbase-figma-logo-dropdown__item" },
|
|
387
|
+
React.createElement("button", { type: "button", className: "designbase-figma-logo-dropdown__link", onClick: () => handleLinkClick(link.url) },
|
|
388
|
+
link.icon && (React.createElement("span", { className: "designbase-figma-logo-dropdown__icon" }, link.icon)),
|
|
389
|
+
React.createElement("span", { className: "designbase-figma-logo-dropdown__text" }, t(link.name)),
|
|
390
|
+
React.createElement(icons.ExternalLinkIcon, { size: 16, className: "designbase-figma-logo-dropdown__arrow" })))))))));
|
|
391
|
+
};
|
|
392
|
+
LogoDropdown.displayName = 'LogoDropdown';
|
|
393
|
+
|
|
330
394
|
const defaultTranslations = {
|
|
331
395
|
unlimitedUsage: '무제한 사용',
|
|
332
396
|
perDay: '일',
|
|
@@ -334,7 +398,7 @@ const defaultTranslations = {
|
|
|
334
398
|
donationPrompt: '이 플러그인이 유용했나요?',
|
|
335
399
|
};
|
|
336
400
|
const defaultT = (key) => defaultTranslations[key] || key;
|
|
337
|
-
const FigmaFooter = ({ onLicensePageClick, paymentStatus = 'FREE', usageCount = 0, isLoading = false, showPaymentStatus = true, maxDailyUsage = 20, showDonation = true, donationUrl = 'https://buymeacoffee.com/designbase', donationText = 'Buy me a coffee', showDonationText = true, donationPromptText, showLanguageSelector = false, currentLanguage = 'ko', languages, onLanguageChange, className, t = defaultT, children, }) => {
|
|
401
|
+
const FigmaFooter = ({ onLicensePageClick, paymentStatus = 'FREE', usageCount = 0, isLoading = false, showPaymentStatus = true, maxDailyUsage = 20, showDonation = true, donationUrl = 'https://buymeacoffee.com/designbase', donationText = 'Buy me a coffee', showDonationText = true, donationPromptText, showLanguageSelector = false, currentLanguage = 'ko', languages, onLanguageChange, logoSrc, logoAlt = 'DesignBase', logoType = 'designbase', logoSize = 'xs', logoLinks, className, t = defaultT, children, }) => {
|
|
338
402
|
const isActive = paymentStatus === 'PAID';
|
|
339
403
|
const hasChildren = React.Children.count(children) > 0;
|
|
340
404
|
const classes = clsx('designbase-figma-footer', {
|
|
@@ -342,7 +406,9 @@ const FigmaFooter = ({ onLicensePageClick, paymentStatus = 'FREE', usageCount =
|
|
|
342
406
|
}, className);
|
|
343
407
|
return (React.createElement("footer", { className: classes },
|
|
344
408
|
React.createElement("div", { className: "designbase-figma-footer__wrap" },
|
|
345
|
-
React.createElement("div", { className: "designbase-figma-footer__left" },
|
|
409
|
+
React.createElement("div", { className: "designbase-figma-footer__left" },
|
|
410
|
+
React.createElement(LogoDropdown, { logoSrc: logoSrc, logoAlt: logoAlt, logoType: logoType, logoSize: logoSize, links: logoLinks, t: t }),
|
|
411
|
+
showLanguageSelector && (React.createElement(LanguageSelector, { currentLanguage: currentLanguage, languages: languages, onLanguageChange: onLanguageChange, size: "s" }))),
|
|
346
412
|
showPaymentStatus && (React.createElement("div", { className: "designbase-figma-footer__payment-states" },
|
|
347
413
|
!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,
|
|
348
414
|
React.createElement("span", { className: "designbase-figma-footer__usage-count" }, usageCount),
|
|
@@ -369,10 +435,9 @@ const FormWithSubmit = ({ onLicenseSubmit, disabled = false, isSubmitting = fals
|
|
|
369
435
|
e.preventDefault();
|
|
370
436
|
await onLicenseSubmit(inputValue);
|
|
371
437
|
};
|
|
372
|
-
const handleChange = (
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
onValueChange?.(newValue);
|
|
438
|
+
const handleChange = (value) => {
|
|
439
|
+
setInputValue(value);
|
|
440
|
+
onValueChange?.(value);
|
|
376
441
|
};
|
|
377
442
|
const displayLabel = resolveText(t, label, 'License Key');
|
|
378
443
|
const displayPlaceholder = resolveText(t, placeholder, 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');
|
|
@@ -855,6 +920,7 @@ exports.FigmaSidebar = FigmaSidebar;
|
|
|
855
920
|
exports.FormWithSubmit = FormWithSubmit;
|
|
856
921
|
exports.InteractionFeedback = InteractionFeedback;
|
|
857
922
|
exports.LanguageSelector = LanguageSelector;
|
|
923
|
+
exports.LogoDropdown = LogoDropdown;
|
|
858
924
|
exports.PageLicense = PageLicense;
|
|
859
925
|
exports.PaymentBadge = PaymentBadge;
|
|
860
926
|
exports.PaymentStatusSection = PaymentStatusSection;
|