@designbasekorea/figma-ui 0.7.3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -71,6 +71,10 @@ const FIGMA_UI_TRANSLATIONS = {
71
71
  'license.unlock_pro_features': '프로 기능 활성화',
72
72
  'license.current_plan': '현재 플랜',
73
73
  'license.pro_plan': '프로 플랜',
74
+ 'license.source_tabs_label': '라이선스 제공 방식',
75
+ 'license.source_lemon_squeezy': 'Lemon Squeezy 라이선스',
76
+ 'license.source_lemon_hint': '기존 Lemon Squeezy 구매 라이선스 키를 입력하세요.',
77
+ 'license.source_youtube_hint': 'YouTube 멤버십 회원에게 제공되는 전용 키를 입력하세요.',
74
78
  'license.membership': '멤버십',
75
79
  'license.pro_account': '프로 계정',
76
80
  'license.upgrade_to_pro': '프로로 업그레이드',
@@ -109,7 +113,7 @@ const FIGMA_UI_TRANSLATIONS = {
109
113
  'license.youtube_membership_join': '멤버십 가입',
110
114
  'license.youtube_membership_guide': '안내보기',
111
115
  'license.all_plugins': '모든 플러그인',
112
- 'license.source_youtube_membership': 'YouTube 멤버십',
116
+ 'license.source_youtube_membership': 'YouTube 멤버십 전용',
113
117
  'license.source_purchase': '구매 라이선스',
114
118
  'license.status_active': '활성',
115
119
  'license.status_inactive': '라이선스 확인 실패',
@@ -225,6 +229,10 @@ const FIGMA_UI_TRANSLATIONS = {
225
229
  'license.unlock_pro_features': 'Unlock Pro features',
226
230
  'license.current_plan': 'Current plan',
227
231
  'license.pro_plan': 'Pro plan',
232
+ 'license.source_tabs_label': 'License type',
233
+ 'license.source_lemon_squeezy': 'Lemon Squeezy license',
234
+ 'license.source_lemon_hint': 'Enter the license key from your Lemon Squeezy purchase.',
235
+ 'license.source_youtube_hint': 'Enter the key provided to YouTube channel members.',
228
236
  'license.membership': 'Membership',
229
237
  'license.pro_account': 'Pro account',
230
238
  'license.upgrade_to_pro': 'Upgrade to Pro',
@@ -263,7 +271,7 @@ const FIGMA_UI_TRANSLATIONS = {
263
271
  'license.youtube_membership_join': 'Join membership',
264
272
  'license.youtube_membership_guide': 'View guide',
265
273
  'license.all_plugins': 'All plugins',
266
- 'license.source_youtube_membership': 'YouTube Membership',
274
+ 'license.source_youtube_membership': 'YouTube membership only',
267
275
  'license.source_purchase': 'Purchased license',
268
276
  'license.status_active': 'Active',
269
277
  'license.status_inactive': 'License check failed',
@@ -379,6 +387,10 @@ const FIGMA_UI_TRANSLATIONS = {
379
387
  'license.unlock_pro_features': 'Pro機能を有効化',
380
388
  'license.current_plan': '現在のプラン',
381
389
  'license.pro_plan': 'Proプラン',
390
+ 'license.source_tabs_label': 'ライセンスの種類',
391
+ 'license.source_lemon_squeezy': 'Lemon Squeezy ライセンス',
392
+ 'license.source_lemon_hint': 'Lemon Squeezyで購入したライセンスキーを入力してください。',
393
+ 'license.source_youtube_hint': 'YouTubeメンバー向けの専用キーを入力してください。',
382
394
  'license.membership': 'メンバーシップ',
383
395
  'license.pro_account': 'Proアカウント',
384
396
  'license.upgrade_to_pro': 'Proにアップグレード',
@@ -417,7 +429,7 @@ const FIGMA_UI_TRANSLATIONS = {
417
429
  'license.youtube_membership_join': 'メンバーシップに参加',
418
430
  'license.youtube_membership_guide': 'ガイドを見る',
419
431
  'license.all_plugins': 'すべてのプラグイン',
420
- 'license.source_youtube_membership': 'YouTubeメンバーシップ',
432
+ 'license.source_youtube_membership': 'YouTubeメンバーシップ専用',
421
433
  'license.source_purchase': '購入ライセンス',
422
434
  'license.status_active': '有効',
423
435
  'license.status_inactive': 'ライセンス確認に失敗しました',
@@ -2014,7 +2026,7 @@ function formatUsageLabel(state, t) {
2014
2026
  }
2015
2027
  return (resolveText(t, { key: 'license.usage_generic', values: { remaining, limit } }, `남은 횟수 ${remaining}/${limit}`) ?? `남은 횟수 ${remaining}/${limit}`);
2016
2028
  }
2017
- const PageLicense = ({ status: initialStatus, onClose, licenseKey: initialLicenseKey = '', licenseStatus: initialLicenseStatus, licenseSource: initialLicenseSource, accessScope: initialAccessScope, expiresAt: initialExpiresAt, lastVerifiedAt: initialLastVerifiedAt, wordpressLinks, paymentPageUrl, mode = 'pricing', membershipUrl, enableAccountAuth = true, showLicenseKeyInput = true, pricingFeatures, pricing, paymentType = 'subscription', messageTypes, onStateChange, setPaymentStatus, setUsageCount, onLicenseSubmit, usageCount: initialUsageCount = 0, t, locale, className, }) => {
2029
+ const PageLicense = ({ status: initialStatus, onClose, licenseKey: initialLicenseKey = '', licenseStatus: initialLicenseStatus, licenseSource: initialLicenseSource, accessScope: initialAccessScope, expiresAt: initialExpiresAt, lastVerifiedAt: initialLastVerifiedAt, wordpressLinks, paymentPageUrl, mode = 'pricing', showYoutubeMembershipTab = false, membershipUrl, enableAccountAuth = true, showLicenseKeyInput = true, pricingFeatures, pricing, paymentType = 'subscription', messageTypes, onStateChange, setPaymentStatus, setUsageCount, onLicenseSubmit, usageCount: initialUsageCount = 0, t, locale, className, }) => {
2018
2030
  const { t: translate } = useFigmaUiI18n(locale, t);
2019
2031
  const links = useMemo(() => ({
2020
2032
  purchaseUrl: wordpressLinks?.purchaseUrl ?? paymentPageUrl,
@@ -2043,8 +2055,9 @@ const PageLicense = ({ status: initialStatus, onClose, licenseKey: initialLicens
2043
2055
  onUsageCountChange: setUsageCount,
2044
2056
  });
2045
2057
  const [licenseKeyDraft, setLicenseKeyDraft] = useState(initialLicenseKey);
2058
+ const [activeLicenseMode, setActiveLicenseMode] = useState(mode);
2046
2059
  const isPaid = state.isLicenseRegistered && state.paymentStatus === 'PAID';
2047
- const isMembershipMode = mode === 'youtube-membership';
2060
+ const isMembershipMode = activeLicenseMode === 'youtube-membership';
2048
2061
  const usageLabel = formatUsageLabel(state, translate);
2049
2062
  const handleLicenseSubmit = async (submittedLicenseKey) => {
2050
2063
  if (onLicenseSubmit) {
@@ -2057,8 +2070,14 @@ const PageLicense = ({ status: initialStatus, onClose, licenseKey: initialLicens
2057
2070
  setLicenseKeyDraft(value);
2058
2071
  setLicenseKeyInput(value);
2059
2072
  };
2060
- return (React.createElement("div", { className: `designbase-figma-page-license designbase-figma-page-license--${mode} ${className || ''}`, "data-license-mode": mode },
2073
+ return (React.createElement("div", { className: `designbase-figma-page-license designbase-figma-page-license--${activeLicenseMode} ${className || ''}`, "data-license-mode": activeLicenseMode },
2061
2074
  React.createElement("div", { className: "designbase-figma-page-license__content" },
2075
+ showYoutubeMembershipTab && (React.createElement("div", { className: "designbase-figma-page-license__source-tabs", role: "tablist", "aria-label": resolveText(translate, { key: 'license.source_tabs_label' }, 'License type') },
2076
+ React.createElement("button", { type: "button", role: "tab", "aria-selected": !isMembershipMode, onClick: () => setActiveLicenseMode('pricing') }, resolveText(translate, { key: 'license.source_lemon_squeezy' }, 'Lemon Squeezy license')),
2077
+ React.createElement("button", { type: "button", role: "tab", "aria-selected": isMembershipMode, onClick: () => setActiveLicenseMode('youtube-membership') }, resolveText(translate, { key: 'license.source_youtube_membership' }, 'YouTube membership')))),
2078
+ showYoutubeMembershipTab && (React.createElement("p", { className: "designbase-figma-page-license__source-hint" }, isMembershipMode
2079
+ ? resolveText(translate, { key: 'license.source_youtube_hint' }, 'Enter the key provided to YouTube channel members.')
2080
+ : resolveText(translate, { key: 'license.source_lemon_hint' }, 'Enter the license key from your Lemon Squeezy purchase.'))),
2062
2081
  React.createElement("div", { className: "designbase-figma-page-license__header" },
2063
2082
  React.createElement("div", { className: "designbase-figma-page-license__title" },
2064
2083
  React.createElement("h2", null, isPaid