@designbasekorea/figma-ui 0.1.0 → 0.1.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/index.js CHANGED
@@ -51,8 +51,263 @@ const Footer = ({ logoSrc, logoAlt = 'Logo', logoLinks = [], onLicensePageClick,
51
51
  };
52
52
  Footer.displayName = 'Footer';
53
53
 
54
+ const FormWithSubmit = ({ onLicenseSubmit, disabled = false, isSubmitting = false, value = '', onValueChange, label = 'License Key', placeholder = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', submitText = 'Submit', submittingText = 'Verifying...', className, }) => {
55
+ const [inputValue, setInputValue] = React.useState(value);
56
+ React.useEffect(() => {
57
+ setInputValue(value);
58
+ }, [value]);
59
+ const handleSubmit = async (e) => {
60
+ e.preventDefault();
61
+ await onLicenseSubmit(inputValue);
62
+ };
63
+ const handleChange = (e) => {
64
+ const newValue = e.target.value;
65
+ setInputValue(newValue);
66
+ onValueChange?.(newValue);
67
+ };
68
+ return (React.createElement("form", { className: `designbase-figma-form-with-submit ${className || ''}`, onSubmit: handleSubmit },
69
+ isSubmitting && (React.createElement("div", { className: "designbase-figma-form-with-submit__spinner" },
70
+ React.createElement(ui.Spinner, { size: "s" }))),
71
+ React.createElement("div", { className: "designbase-figma-form-with-submit__field" },
72
+ React.createElement("label", { className: "designbase-figma-form-with-submit__label" }, label),
73
+ React.createElement(ui.Input, { value: inputValue, onChange: handleChange, placeholder: placeholder, disabled: disabled || isSubmitting, size: "m" })),
74
+ React.createElement(ui.Button, { type: "submit", variant: "primary", size: "m", disabled: !inputValue.trim() || isSubmitting || disabled, fullWidth: true }, isSubmitting ? submittingText : submitText)));
75
+ };
76
+ FormWithSubmit.displayName = 'FormWithSubmit';
77
+
78
+ const PaymentStatusSection = ({ status, usageCount, activationLimit, activationUsage, licenseKey, onDeactivate, isDeactivating = false, showDetails = false, className, }) => {
79
+ const remainingActivations = activationLimit - activationUsage;
80
+ return (React.createElement("div", { className: `designbase-figma-payment-status ${className || ''}` },
81
+ React.createElement("p", { className: "designbase-figma-payment-status__license-key" },
82
+ "\uB77C\uC774\uC13C\uC2A4 \uD0A4: ",
83
+ React.createElement("span", null, licenseKey)),
84
+ showDetails && (React.createElement("div", { className: "designbase-figma-payment-status__details" },
85
+ React.createElement("div", { className: "designbase-figma-payment-status__activation-info" },
86
+ React.createElement("p", { className: "designbase-figma-payment-status__remaining" },
87
+ remainingActivations,
88
+ " ",
89
+ remainingActivations === 1 ? '활성' : '활성',
90
+ " \uC790\uB9AC \uB0A8\uC74C"),
91
+ React.createElement("p", { className: "designbase-figma-payment-status__usage" },
92
+ activationUsage,
93
+ "/",
94
+ activationLimit)),
95
+ React.createElement(ui.Button, { onClick: onDeactivate, variant: "tertiary", size: "s", disabled: isDeactivating }, isDeactivating ? '비활성화중...' : '라이센스 비활성화')))));
96
+ };
97
+ PaymentStatusSection.displayName = 'PaymentStatusSection';
98
+
99
+ const defaultFeatures = [
100
+ { name: '사용 제한', free: '일일 제한', pro: '무제한' },
101
+ { name: '모든 주제 사용', free: false, pro: true },
102
+ { name: '최대 선택 제한', free: '최대 5개', pro: '최대 30개' },
103
+ { name: '더미 개수', free: '1,400개', pro: '4,400개 +' },
104
+ { name: '커스텀 숫자 사용', free: false, pro: true },
105
+ ];
106
+ const defaultPricing = {
107
+ monthly: 2,
108
+ yearly: 21.6,
109
+ };
110
+ const PricingComparison = ({ features = defaultFeatures, pricing = defaultPricing, t = (key) => key, className, }) => {
111
+ const [isYearly, setIsYearly] = React.useState(false);
112
+ const getPrice = () => {
113
+ const price = isYearly ? pricing.yearly : pricing.monthly;
114
+ return `$${price.toLocaleString()} / ${isYearly ? t('perYear') : t('perMonth')}`;
115
+ };
116
+ return (React.createElement("div", { className: `designbase-figma-pricing-comparison ${className || ''}` },
117
+ React.createElement("div", { className: "designbase-figma-pricing-comparison__billing-toggle" },
118
+ React.createElement("span", { className: !isYearly ? 'active' : '' }, t('monthlyBilling') || '월간 결제'),
119
+ React.createElement(ui.Toggle, { size: "s", checked: isYearly, onChange: (e) => setIsYearly(e.target.checked) }),
120
+ React.createElement("span", { className: isYearly ? 'active' : '' }, t('yearlyBilling') || '연간 결제'),
121
+ React.createElement("span", { className: "designbase-figma-pricing-comparison__discount-badge" }, t('save10Percent') || '10% 절약')),
122
+ React.createElement("table", { className: "designbase-figma-pricing-comparison__table" },
123
+ React.createElement("thead", null,
124
+ React.createElement("tr", null,
125
+ React.createElement("th", null, t('feature') || '기능'),
126
+ React.createElement("th", null,
127
+ React.createElement("div", { className: "designbase-figma-pricing-comparison__plan-name" }, t('free') || 'Free'),
128
+ React.createElement("p", null, t('freePrice') || '$0')),
129
+ React.createElement("th", { className: "designbase-figma-pricing-comparison__recommended" },
130
+ React.createElement("div", { className: "designbase-figma-pricing-comparison__plan-name" },
131
+ t('pro') || 'Pro',
132
+ React.createElement("span", { className: "designbase-figma-pricing-comparison__recommended-badge" }, t('recommended') || '추천')),
133
+ React.createElement("p", null, getPrice())))),
134
+ React.createElement("tbody", null, features.map((feature, index) => (React.createElement("tr", { key: index },
135
+ React.createElement("td", null, feature.name),
136
+ React.createElement("td", null, typeof feature.free === 'boolean'
137
+ ? (feature.free ? '✓' : '✗')
138
+ : feature.free),
139
+ React.createElement("td", null, typeof feature.pro === 'boolean'
140
+ ? (feature.pro ? '✓' : '✗')
141
+ : feature.pro))))))));
142
+ };
143
+ PricingComparison.displayName = 'PricingComparison';
144
+
145
+ const PageLicense = ({ status: initialStatus, onClose, usageCount: initialUsageCount = 0, onLicenseSubmit, licenseKey: initialLicenseKey = '', setPaymentStatus, setUsageCount, setShowLicensePage, paymentPageUrl = 'https://designbasekorea.lemonsqueezy.com/buy/fc202a67-6f1a-4a61-9242-c643b282e230', t = (key) => key, className, }) => {
146
+ const [isSubmitting, setIsSubmitting] = React.useState(false);
147
+ const [isDeactivating, setIsDeactivating] = React.useState(false);
148
+ const [licenseKey, setLicenseKey] = React.useState(initialLicenseKey);
149
+ const [status, setStatus] = React.useState(initialStatus);
150
+ const [usageCount, setLocalUsageCount] = React.useState(initialUsageCount);
151
+ const { showToast } = ui.useToast();
152
+ const [activationLimit, setActivationLimit] = React.useState(0);
153
+ const [activationUsage, setActivationUsage] = React.useState(0);
154
+ const [showDetails, setShowDetails] = React.useState(false);
155
+ React.useEffect(() => {
156
+ const handleMessage = (event) => {
157
+ const { type, paymentStatus, licenseKey, activationLimit, activationUsage, success, message, usageCount } = event.data.pluginMessage || {};
158
+ if (type === 'update-plugin-status' || type === 'license-verification-result') {
159
+ if (paymentStatus)
160
+ setStatus(paymentStatus);
161
+ if (licenseKey)
162
+ setLicenseKey(licenseKey);
163
+ if (activationLimit !== undefined)
164
+ setActivationLimit(activationLimit);
165
+ if (activationUsage !== undefined)
166
+ setActivationUsage(activationUsage);
167
+ if (paymentStatus)
168
+ setPaymentStatus(paymentStatus);
169
+ if (usageCount !== undefined) {
170
+ setLocalUsageCount(usageCount);
171
+ setUsageCount(usageCount);
172
+ }
173
+ }
174
+ if (type === 'license-verification-result') {
175
+ setIsSubmitting(false);
176
+ if (message)
177
+ showToast(message);
178
+ if (success) {
179
+ setStatus('PAID');
180
+ setPaymentStatus('PAID');
181
+ }
182
+ }
183
+ if (type === 'license-deactivation-result') {
184
+ setIsDeactivating(false);
185
+ if (message)
186
+ showToast(message);
187
+ if (success) {
188
+ setStatus('UNPAID');
189
+ setPaymentStatus('UNPAID');
190
+ setLicenseKey('');
191
+ setLocalUsageCount(20);
192
+ setActivationLimit(0);
193
+ setActivationUsage(0);
194
+ }
195
+ }
196
+ };
197
+ window.addEventListener('message', handleMessage);
198
+ if (typeof parent !== 'undefined') {
199
+ parent.postMessage({ pluginMessage: { type: 'initialize' } }, '*');
200
+ }
201
+ return () => window.removeEventListener('message', handleMessage);
202
+ }, [setPaymentStatus, setUsageCount, showToast]);
203
+ const handleLicenseSubmit = async (submittedLicenseKey) => {
204
+ setIsSubmitting(true);
205
+ if (typeof parent !== 'undefined') {
206
+ parent.postMessage({
207
+ pluginMessage: {
208
+ type: 'verify-license',
209
+ licenseKey: submittedLicenseKey
210
+ }
211
+ }, '*');
212
+ }
213
+ };
214
+ const handleDeactivateLicense = () => {
215
+ setIsDeactivating(true);
216
+ if (typeof parent !== 'undefined') {
217
+ parent.postMessage({
218
+ pluginMessage: { type: 'deactivate-license' }
219
+ }, '*');
220
+ }
221
+ };
222
+ const isPaid = status === 'PAID';
223
+ return (React.createElement("div", { className: `designbase-figma-page-license ${className || ''}` },
224
+ React.createElement("div", { className: "designbase-figma-page-license__content" },
225
+ React.createElement("div", { className: "designbase-figma-page-license__header" },
226
+ React.createElement("div", { className: "designbase-figma-page-license__title" },
227
+ isPaid ? React.createElement(icons.StarIcon, { size: 24 }) : React.createElement(icons.KeyIcon, { size: 24 }),
228
+ React.createElement("h2", null, isPaid ? t('proAccount') || '프로 계정' : t('upgradeToPro') || '프로로 업그레이드')),
229
+ React.createElement("p", { className: "designbase-figma-page-license__description" }, isPaid
230
+ ? t('allFeaturesAvailable') || '모든 기능을 사용할 수 있습니다.'
231
+ : t('purchaseForUnlimited') || '라이센스 구매 후 무제한 접근이 가능합니다.')),
232
+ React.createElement(PricingComparison, { t: t }),
233
+ React.createElement(ui.Divider, null),
234
+ isPaid && (React.createElement("div", { className: "designbase-figma-page-license__section" },
235
+ React.createElement("div", { className: "designbase-figma-page-license__section-header" },
236
+ React.createElement("h3", null, t('licenseActivated') || '라이선스 활성화됨'),
237
+ React.createElement(ui.Button, { onClick: () => setShowDetails(!showDetails), variant: "tertiary", size: "s" },
238
+ React.createElement(icons.SettingsIcon, { size: 16 }))),
239
+ React.createElement(PaymentStatusSection, { status: status, usageCount: usageCount, activationLimit: activationLimit, activationUsage: activationUsage, licenseKey: licenseKey, onDeactivate: handleDeactivateLicense, isDeactivating: isDeactivating, showDetails: showDetails }))),
240
+ React.createElement("div", { className: "designbase-figma-page-license__section" },
241
+ React.createElement("div", { className: "designbase-figma-page-license__section-header" },
242
+ React.createElement("h3", null, t('enterLicenseKey') || '라이선스 키 입력'),
243
+ !isPaid && (React.createElement(ui.Button, { onClick: () => window.open(paymentPageUrl, '_blank'), variant: "primary", size: "s" }, t('purchaseLicense') || '라이센스 구매'))),
244
+ React.createElement(FormWithSubmit, { onLicenseSubmit: handleLicenseSubmit, disabled: isPaid, isSubmitting: isSubmitting, value: licenseKey, onValueChange: setLicenseKey, label: t('licenseKey') || 'License Key', submitText: t('submit') || 'Submit', submittingText: t('verifying') || 'Verifying...' }),
245
+ React.createElement("p", { className: "designbase-figma-page-license__disclaimer" }, isPaid
246
+ ? t('licenseActivatedSuccess') || '라이선스가 성공적으로 활성화되었습니다.'
247
+ : t('enterLicenseFromEmail') || '구독 후 이메일로 받은 라이선스 키를 입력하세요.'))),
248
+ React.createElement("button", { className: "designbase-figma-page-license__close", onClick: onClose, "aria-label": "Close" },
249
+ React.createElement(icons.CloseIcon, { size: 20 }))));
250
+ };
251
+ PageLicense.displayName = 'PageLicense';
252
+
253
+ const UpgradeBanner = ({ onClick, isLoading = false, title, description, buttonText, t = (key) => key, className, }) => {
254
+ return (React.createElement("div", { className: `designbase-figma-upgrade-banner ${className || ''}` },
255
+ React.createElement("div", { className: "designbase-figma-upgrade-banner__content" },
256
+ React.createElement("div", { className: "designbase-figma-upgrade-banner__text-wrap" },
257
+ React.createElement("h3", { className: "designbase-figma-upgrade-banner__title" }, title || t('bannerTitle') || '프로로 업그레이드하세요'),
258
+ React.createElement("p", { className: "designbase-figma-upgrade-banner__text" }, description || t('bannerText') || '무제한 기능을 사용하고 더 많은 혜택을 누리세요.')),
259
+ React.createElement(ui.Button, { onClick: onClick, variant: "primary", size: "m", disabled: isLoading }, buttonText || t('upgradeNow') || '지금 업그레이드'))));
260
+ };
261
+ UpgradeBanner.displayName = 'UpgradeBanner';
262
+
263
+ const ResizablePlugin = ({ children, minWidth = 360, maxWidth = 460, minHeight = 440, maxHeight = 700, icon, className, }) => {
264
+ const [isResizing, setIsResizing] = React.useState(false);
265
+ const resizeHandleRef = React.useRef(null);
266
+ React.useEffect(() => {
267
+ const handleMouseMove = (e) => {
268
+ if (!isResizing)
269
+ return;
270
+ const newWidth = Math.max(minWidth, Math.min(maxWidth, e.clientX + 10));
271
+ const newHeight = Math.max(minHeight, Math.min(maxHeight, e.clientY + 10));
272
+ if (typeof parent !== 'undefined') {
273
+ parent.postMessage({
274
+ pluginMessage: {
275
+ type: 'resize',
276
+ width: newWidth,
277
+ height: newHeight
278
+ }
279
+ }, '*');
280
+ }
281
+ };
282
+ const handleMouseUp = () => {
283
+ setIsResizing(false);
284
+ };
285
+ if (isResizing) {
286
+ window.addEventListener('mousemove', handleMouseMove);
287
+ window.addEventListener('mouseup', handleMouseUp);
288
+ }
289
+ return () => {
290
+ window.removeEventListener('mousemove', handleMouseMove);
291
+ window.removeEventListener('mouseup', handleMouseUp);
292
+ };
293
+ }, [isResizing, minWidth, maxWidth, minHeight, maxHeight]);
294
+ return (React.createElement("div", { className: `designbase-figma-resizable-plugin ${className || ''}` },
295
+ children,
296
+ React.createElement("div", { ref: resizeHandleRef, className: `designbase-figma-resizable-plugin__handle ${isResizing ? 'resizing' : ''}`, onMouseDown: (e) => {
297
+ e.preventDefault();
298
+ setIsResizing(true);
299
+ }, role: "button", tabIndex: 0, "aria-label": "Resize plugin" }, icon || React.createElement(icons.ArrowsExpandIcon, { size: 12 }))));
300
+ };
301
+ ResizablePlugin.displayName = 'ResizablePlugin';
302
+
54
303
  exports.Footer = Footer;
304
+ exports.FormWithSubmit = FormWithSubmit;
55
305
  exports.LogoDropdown = LogoDropdown;
306
+ exports.PageLicense = PageLicense;
307
+ exports.PaymentStatusSection = PaymentStatusSection;
308
+ exports.PricingComparison = PricingComparison;
309
+ exports.ResizablePlugin = ResizablePlugin;
310
+ exports.UpgradeBanner = UpgradeBanner;
56
311
  Object.keys(ui).forEach(function (k) {
57
312
  if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
58
313
  enumerable: true,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/clsx/dist/clsx.mjs","../src/components/LogoDropdown/LogoDropdown.tsx","../src/components/Footer/Footer.tsx"],"sourcesContent":["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}export 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}export default clsx;","import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { ExternalLinkIcon } from '@designbasekorea/icons';\nimport './LogoDropdown.scss';\nexport const LogoDropdown = ({ logoSrc, logoAlt = 'Logo', links, position = 'bottom-left', className, t = (key) => key, }) => {\n const [isOpen, setIsOpen] = useState(false);\n const toggleDropdown = () => setIsOpen(!isOpen);\n const handleLinkClick = (url) => {\n if (url.startsWith('mailto:')) {\n return;\n }\n window.open(url, '_blank', 'noopener,noreferrer');\n };\n const classes = clsx('designbase-figma-logo-dropdown', `designbase-figma-logo-dropdown--${position}`, {\n 'designbase-figma-logo-dropdown--open': isOpen,\n }, className);\n return (React.createElement(\"div\", { className: classes },\n React.createElement(\"img\", { className: \"designbase-figma-logo-dropdown__logo\", src: logoSrc, alt: logoAlt, onClick: toggleDropdown }),\n 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\" },\n React.createElement(\"button\", { type: \"button\", className: \"designbase-figma-logo-dropdown__link\", onClick: () => handleLinkClick(link.url) },\n link.icon && (React.createElement(\"span\", { className: \"designbase-figma-logo-dropdown__icon\" }, link.icon)),\n React.createElement(\"span\", { className: \"designbase-figma-logo-dropdown__text\" }, t(link.name)),\n React.createElement(ExternalLinkIcon, { size: 16, className: \"designbase-figma-logo-dropdown__arrow\" })))))))));\n};\nLogoDropdown.displayName = 'LogoDropdown';\nexport default LogoDropdown;\n","import React from 'react';\nimport clsx from 'clsx';\nimport { LogoDropdown } from '../LogoDropdown/LogoDropdown';\nimport { Badge } from '@designbasekorea/ui';\nimport './Footer.scss';\nexport const Footer = ({ logoSrc, logoAlt = 'Logo', logoLinks = [], onLicensePageClick, paymentStatus = 'FREE', usageCount = 0, isLoading = false, showPaymentStatus = true, maxDailyUsage = 20, className, t = (key) => key, children, }) => {\n const isActive = paymentStatus === 'PAID';\n const hasChildren = React.Children.count(children) > 0;\n const classes = clsx('designbase-figma-footer', {\n 'designbase-figma-footer--has-children': hasChildren,\n }, className);\n return (React.createElement(\"footer\", { className: classes },\n React.createElement(\"div\", { className: \"designbase-figma-footer__wrap\" },\n React.createElement(LogoDropdown, { logoSrc: logoSrc, logoAlt: logoAlt, links: logoLinks, position: \"bottom-left\", t: t }),\n showPaymentStatus && (React.createElement(\"div\", { className: \"designbase-figma-footer__payment-states\" },\n !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,\n React.createElement(\"span\", { className: \"designbase-figma-footer__usage-count\" }, usageCount),\n React.createElement(\"span\", { className: \"designbase-figma-footer__max-daily-usage\" },\n \"/\",\n maxDailyUsage,\n \" \",\n t('perDay')),\n React.createElement(\"span\", { className: \"designbase-figma-footer__reset-info\" }, t('resetsDaily')))))),\n React.createElement(Badge, { variant: isActive ? 'success' : 'secondary', size: \"s\", onClick: onLicensePageClick, style: { cursor: 'pointer' } }, isLoading ? t('loading') : isActive ? t('premium') : t('free'))))),\n children));\n};\nFooter.displayName = 'Footer';\nexport default Footer;\n"],"names":["useState","ExternalLinkIcon","Badge"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/clsx/dist/clsx.mjs","../src/components/LogoDropdown/LogoDropdown.tsx","../src/components/Footer/Footer.tsx","../src/components/FormWithSubmit/FormWithSubmit.tsx","../src/components/PaymentStatusSection/PaymentStatusSection.tsx","../src/components/PricingComparison/PricingComparison.tsx","../src/components/PageLicense/PageLicense.tsx","../src/components/UpgradeBanner/UpgradeBanner.tsx","../src/components/ResizablePlugin/ResizablePlugin.tsx"],"sourcesContent":["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}export 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}export default clsx;","import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { ExternalLinkIcon } from '@designbasekorea/icons';\nimport './LogoDropdown.scss';\nexport const LogoDropdown = ({ logoSrc, logoAlt = 'Logo', links, position = 'bottom-left', className, t = (key) => key, }) => {\n const [isOpen, setIsOpen] = useState(false);\n const toggleDropdown = () => setIsOpen(!isOpen);\n const handleLinkClick = (url) => {\n if (url.startsWith('mailto:')) {\n return;\n }\n window.open(url, '_blank', 'noopener,noreferrer');\n };\n const classes = clsx('designbase-figma-logo-dropdown', `designbase-figma-logo-dropdown--${position}`, {\n 'designbase-figma-logo-dropdown--open': isOpen,\n }, className);\n return (React.createElement(\"div\", { className: classes },\n React.createElement(\"img\", { className: \"designbase-figma-logo-dropdown__logo\", src: logoSrc, alt: logoAlt, onClick: toggleDropdown }),\n 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\" },\n React.createElement(\"button\", { type: \"button\", className: \"designbase-figma-logo-dropdown__link\", onClick: () => handleLinkClick(link.url) },\n link.icon && (React.createElement(\"span\", { className: \"designbase-figma-logo-dropdown__icon\" }, link.icon)),\n React.createElement(\"span\", { className: \"designbase-figma-logo-dropdown__text\" }, t(link.name)),\n React.createElement(ExternalLinkIcon, { size: 16, className: \"designbase-figma-logo-dropdown__arrow\" })))))))));\n};\nLogoDropdown.displayName = 'LogoDropdown';\nexport default LogoDropdown;\n","import React from 'react';\nimport clsx from 'clsx';\nimport { LogoDropdown } from '../LogoDropdown/LogoDropdown';\nimport { Badge } from '@designbasekorea/ui';\nimport './Footer.scss';\nexport const Footer = ({ logoSrc, logoAlt = 'Logo', logoLinks = [], onLicensePageClick, paymentStatus = 'FREE', usageCount = 0, isLoading = false, showPaymentStatus = true, maxDailyUsage = 20, className, t = (key) => key, children, }) => {\n const isActive = paymentStatus === 'PAID';\n const hasChildren = React.Children.count(children) > 0;\n const classes = clsx('designbase-figma-footer', {\n 'designbase-figma-footer--has-children': hasChildren,\n }, className);\n return (React.createElement(\"footer\", { className: classes },\n React.createElement(\"div\", { className: \"designbase-figma-footer__wrap\" },\n React.createElement(LogoDropdown, { logoSrc: logoSrc, logoAlt: logoAlt, links: logoLinks, position: \"bottom-left\", t: t }),\n showPaymentStatus && (React.createElement(\"div\", { className: \"designbase-figma-footer__payment-states\" },\n !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,\n React.createElement(\"span\", { className: \"designbase-figma-footer__usage-count\" }, usageCount),\n React.createElement(\"span\", { className: \"designbase-figma-footer__max-daily-usage\" },\n \"/\",\n maxDailyUsage,\n \" \",\n t('perDay')),\n React.createElement(\"span\", { className: \"designbase-figma-footer__reset-info\" }, t('resetsDaily')))))),\n React.createElement(Badge, { variant: isActive ? 'success' : 'secondary', size: \"s\", onClick: onLicensePageClick, style: { cursor: 'pointer' } }, isLoading ? t('loading') : isActive ? t('premium') : t('free'))))),\n children));\n};\nFooter.displayName = 'Footer';\nexport default Footer;\n","import React, { useState, useEffect } from 'react';\nimport { Button, Input, Spinner } from '@designbasekorea/ui';\nimport './FormWithSubmit.scss';\nexport const FormWithSubmit = ({ onLicenseSubmit, disabled = false, isSubmitting = false, value = '', onValueChange, label = 'License Key', placeholder = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', submitText = 'Submit', submittingText = 'Verifying...', className, }) => {\n const [inputValue, setInputValue] = useState(value);\n useEffect(() => {\n setInputValue(value);\n }, [value]);\n const handleSubmit = async (e) => {\n e.preventDefault();\n await onLicenseSubmit(inputValue);\n };\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n onValueChange?.(newValue);\n };\n return (React.createElement(\"form\", { className: `designbase-figma-form-with-submit ${className || ''}`, onSubmit: handleSubmit },\n isSubmitting && (React.createElement(\"div\", { className: \"designbase-figma-form-with-submit__spinner\" },\n React.createElement(Spinner, { size: \"s\" }))),\n React.createElement(\"div\", { className: \"designbase-figma-form-with-submit__field\" },\n React.createElement(\"label\", { className: \"designbase-figma-form-with-submit__label\" }, label),\n React.createElement(Input, { value: inputValue, onChange: handleChange, placeholder: placeholder, disabled: disabled || isSubmitting, size: \"m\" })),\n React.createElement(Button, { type: \"submit\", variant: \"primary\", size: \"m\", disabled: !inputValue.trim() || isSubmitting || disabled, fullWidth: true }, isSubmitting ? submittingText : submitText)));\n};\nFormWithSubmit.displayName = 'FormWithSubmit';\nexport default FormWithSubmit;\n","import React from 'react';\nimport { Button } from '@designbasekorea/ui';\nimport './PaymentStatusSection.scss';\nexport const PaymentStatusSection = ({ status, usageCount, activationLimit, activationUsage, licenseKey, onDeactivate, isDeactivating = false, showDetails = false, className, }) => {\n const remainingActivations = activationLimit - activationUsage;\n return (React.createElement(\"div\", { className: `designbase-figma-payment-status ${className || ''}` },\n React.createElement(\"p\", { className: \"designbase-figma-payment-status__license-key\" },\n \"\\uB77C\\uC774\\uC13C\\uC2A4 \\uD0A4: \",\n React.createElement(\"span\", null, licenseKey)),\n showDetails && (React.createElement(\"div\", { className: \"designbase-figma-payment-status__details\" },\n React.createElement(\"div\", { className: \"designbase-figma-payment-status__activation-info\" },\n React.createElement(\"p\", { className: \"designbase-figma-payment-status__remaining\" },\n remainingActivations,\n \" \",\n remainingActivations === 1 ? '활성' : '활성',\n \" \\uC790\\uB9AC \\uB0A8\\uC74C\"),\n React.createElement(\"p\", { className: \"designbase-figma-payment-status__usage\" },\n activationUsage,\n \"/\",\n activationLimit)),\n React.createElement(Button, { onClick: onDeactivate, variant: \"tertiary\", size: \"s\", disabled: isDeactivating }, isDeactivating ? '비활성화중...' : '라이센스 비활성화')))));\n};\nPaymentStatusSection.displayName = 'PaymentStatusSection';\nexport default PaymentStatusSection;\n","import React, { useState } from 'react';\nimport { Toggle } from '@designbasekorea/ui';\nimport './PricingComparison.scss';\nconst defaultFeatures = [\n { name: '사용 제한', free: '일일 제한', pro: '무제한' },\n { name: '모든 주제 사용', free: false, pro: true },\n { name: '최대 선택 제한', free: '최대 5개', pro: '최대 30개' },\n { name: '더미 개수', free: '1,400개', pro: '4,400개 +' },\n { name: '커스텀 숫자 사용', free: false, pro: true },\n];\nconst defaultPricing = {\n monthly: 2,\n yearly: 21.6,\n};\nexport const PricingComparison = ({ features = defaultFeatures, pricing = defaultPricing, t = (key) => key, className, }) => {\n const [isYearly, setIsYearly] = useState(false);\n const getPrice = () => {\n const price = isYearly ? pricing.yearly : pricing.monthly;\n return `$${price.toLocaleString()} / ${isYearly ? t('perYear') : t('perMonth')}`;\n };\n return (React.createElement(\"div\", { className: `designbase-figma-pricing-comparison ${className || ''}` },\n React.createElement(\"div\", { className: \"designbase-figma-pricing-comparison__billing-toggle\" },\n React.createElement(\"span\", { className: !isYearly ? 'active' : '' }, t('monthlyBilling') || '월간 결제'),\n React.createElement(Toggle, { size: \"s\", checked: isYearly, onChange: (e) => setIsYearly(e.target.checked) }),\n React.createElement(\"span\", { className: isYearly ? 'active' : '' }, t('yearlyBilling') || '연간 결제'),\n React.createElement(\"span\", { className: \"designbase-figma-pricing-comparison__discount-badge\" }, t('save10Percent') || '10% 절약')),\n React.createElement(\"table\", { className: \"designbase-figma-pricing-comparison__table\" },\n React.createElement(\"thead\", null,\n React.createElement(\"tr\", null,\n React.createElement(\"th\", null, t('feature') || '기능'),\n React.createElement(\"th\", null,\n React.createElement(\"div\", { className: \"designbase-figma-pricing-comparison__plan-name\" }, t('free') || 'Free'),\n React.createElement(\"p\", null, t('freePrice') || '$0')),\n React.createElement(\"th\", { className: \"designbase-figma-pricing-comparison__recommended\" },\n React.createElement(\"div\", { className: \"designbase-figma-pricing-comparison__plan-name\" },\n t('pro') || 'Pro',\n React.createElement(\"span\", { className: \"designbase-figma-pricing-comparison__recommended-badge\" }, t('recommended') || '추천')),\n React.createElement(\"p\", null, getPrice())))),\n React.createElement(\"tbody\", null, features.map((feature, index) => (React.createElement(\"tr\", { key: index },\n React.createElement(\"td\", null, feature.name),\n React.createElement(\"td\", null, typeof feature.free === 'boolean'\n ? (feature.free ? '✓' : '✗')\n : feature.free),\n React.createElement(\"td\", null, typeof feature.pro === 'boolean'\n ? (feature.pro ? '✓' : '✗')\n : feature.pro))))))));\n};\nPricingComparison.displayName = 'PricingComparison';\nexport default PricingComparison;\n","import React, { useState, useEffect } from 'react';\nimport { Button, Divider, useToast } from '@designbasekorea/ui';\nimport { CloseIcon, KeyIcon, StarIcon, SettingsIcon } from '@designbasekorea/icons';\nimport { PaymentStatusSection } from '../PaymentStatusSection/PaymentStatusSection';\nimport { FormWithSubmit } from '../FormWithSubmit/FormWithSubmit';\nimport { PricingComparison } from '../PricingComparison/PricingComparison';\nimport './PageLicense.scss';\nexport const PageLicense = ({ status: initialStatus, onClose, usageCount: initialUsageCount = 0, onLicenseSubmit, licenseKey: initialLicenseKey = '', setPaymentStatus, setUsageCount, setShowLicensePage, paymentPageUrl = 'https://designbasekorea.lemonsqueezy.com/buy/fc202a67-6f1a-4a61-9242-c643b282e230', t = (key) => key, className, }) => {\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isDeactivating, setIsDeactivating] = useState(false);\n const [licenseKey, setLicenseKey] = useState(initialLicenseKey);\n const [status, setStatus] = useState(initialStatus);\n const [usageCount, setLocalUsageCount] = useState(initialUsageCount);\n const { showToast } = useToast();\n const [activationLimit, setActivationLimit] = useState(0);\n const [activationUsage, setActivationUsage] = useState(0);\n const [showDetails, setShowDetails] = useState(false);\n useEffect(() => {\n const handleMessage = (event) => {\n const { type, paymentStatus, licenseKey, activationLimit, activationUsage, success, message, usageCount } = event.data.pluginMessage || {};\n if (type === 'update-plugin-status' || type === 'license-verification-result') {\n if (paymentStatus)\n setStatus(paymentStatus);\n if (licenseKey)\n setLicenseKey(licenseKey);\n if (activationLimit !== undefined)\n setActivationLimit(activationLimit);\n if (activationUsage !== undefined)\n setActivationUsage(activationUsage);\n if (paymentStatus)\n setPaymentStatus(paymentStatus);\n if (usageCount !== undefined) {\n setLocalUsageCount(usageCount);\n setUsageCount(usageCount);\n }\n }\n if (type === 'license-verification-result') {\n setIsSubmitting(false);\n if (message)\n showToast(message);\n if (success) {\n setStatus('PAID');\n setPaymentStatus('PAID');\n }\n }\n if (type === 'license-deactivation-result') {\n setIsDeactivating(false);\n if (message)\n showToast(message);\n if (success) {\n setStatus('UNPAID');\n setPaymentStatus('UNPAID');\n setLicenseKey('');\n setLocalUsageCount(20);\n setActivationLimit(0);\n setActivationUsage(0);\n }\n }\n };\n window.addEventListener('message', handleMessage);\n if (typeof parent !== 'undefined') {\n parent.postMessage({ pluginMessage: { type: 'initialize' } }, '*');\n }\n return () => window.removeEventListener('message', handleMessage);\n }, [setPaymentStatus, setUsageCount, showToast]);\n const handleLicenseSubmit = async (submittedLicenseKey) => {\n setIsSubmitting(true);\n if (typeof parent !== 'undefined') {\n parent.postMessage({\n pluginMessage: {\n type: 'verify-license',\n licenseKey: submittedLicenseKey\n }\n }, '*');\n }\n };\n const handleDeactivateLicense = () => {\n setIsDeactivating(true);\n if (typeof parent !== 'undefined') {\n parent.postMessage({\n pluginMessage: { type: 'deactivate-license' }\n }, '*');\n }\n };\n const isPaid = status === 'PAID';\n return (React.createElement(\"div\", { className: `designbase-figma-page-license ${className || ''}` },\n React.createElement(\"div\", { className: \"designbase-figma-page-license__content\" },\n React.createElement(\"div\", { className: \"designbase-figma-page-license__header\" },\n React.createElement(\"div\", { className: \"designbase-figma-page-license__title\" },\n isPaid ? React.createElement(StarIcon, { size: 24 }) : React.createElement(KeyIcon, { size: 24 }),\n React.createElement(\"h2\", null, isPaid ? t('proAccount') || '프로 계정' : t('upgradeToPro') || '프로로 업그레이드')),\n React.createElement(\"p\", { className: \"designbase-figma-page-license__description\" }, isPaid\n ? t('allFeaturesAvailable') || '모든 기능을 사용할 수 있습니다.'\n : t('purchaseForUnlimited') || '라이센스 구매 후 무제한 접근이 가능합니다.')),\n React.createElement(PricingComparison, { t: t }),\n React.createElement(Divider, null),\n isPaid && (React.createElement(\"div\", { className: \"designbase-figma-page-license__section\" },\n React.createElement(\"div\", { className: \"designbase-figma-page-license__section-header\" },\n React.createElement(\"h3\", null, t('licenseActivated') || '라이선스 활성화됨'),\n React.createElement(Button, { onClick: () => setShowDetails(!showDetails), variant: \"tertiary\", size: \"s\" },\n React.createElement(SettingsIcon, { size: 16 }))),\n React.createElement(PaymentStatusSection, { status: status, usageCount: usageCount, activationLimit: activationLimit, activationUsage: activationUsage, licenseKey: licenseKey, onDeactivate: handleDeactivateLicense, isDeactivating: isDeactivating, showDetails: showDetails }))),\n React.createElement(\"div\", { className: \"designbase-figma-page-license__section\" },\n React.createElement(\"div\", { className: \"designbase-figma-page-license__section-header\" },\n React.createElement(\"h3\", null, t('enterLicenseKey') || '라이선스 키 입력'),\n !isPaid && (React.createElement(Button, { onClick: () => window.open(paymentPageUrl, '_blank'), variant: \"primary\", size: \"s\" }, t('purchaseLicense') || '라이센스 구매'))),\n React.createElement(FormWithSubmit, { onLicenseSubmit: handleLicenseSubmit, disabled: isPaid, isSubmitting: isSubmitting, value: licenseKey, onValueChange: setLicenseKey, label: t('licenseKey') || 'License Key', submitText: t('submit') || 'Submit', submittingText: t('verifying') || 'Verifying...' }),\n React.createElement(\"p\", { className: \"designbase-figma-page-license__disclaimer\" }, isPaid\n ? t('licenseActivatedSuccess') || '라이선스가 성공적으로 활성화되었습니다.'\n : t('enterLicenseFromEmail') || '구독 후 이메일로 받은 라이선스 키를 입력하세요.'))),\n React.createElement(\"button\", { className: \"designbase-figma-page-license__close\", onClick: onClose, \"aria-label\": \"Close\" },\n React.createElement(CloseIcon, { size: 20 }))));\n};\nPageLicense.displayName = 'PageLicense';\nexport default PageLicense;\n","import React from 'react';\nimport { Button } from '@designbasekorea/ui';\nimport './UpgradeBanner.scss';\nexport const UpgradeBanner = ({ onClick, isLoading = false, title, description, buttonText, t = (key) => key, className, }) => {\n return (React.createElement(\"div\", { className: `designbase-figma-upgrade-banner ${className || ''}` },\n React.createElement(\"div\", { className: \"designbase-figma-upgrade-banner__content\" },\n React.createElement(\"div\", { className: \"designbase-figma-upgrade-banner__text-wrap\" },\n React.createElement(\"h3\", { className: \"designbase-figma-upgrade-banner__title\" }, title || t('bannerTitle') || '프로로 업그레이드하세요'),\n React.createElement(\"p\", { className: \"designbase-figma-upgrade-banner__text\" }, description || t('bannerText') || '무제한 기능을 사용하고 더 많은 혜택을 누리세요.')),\n React.createElement(Button, { onClick: onClick, variant: \"primary\", size: \"m\", disabled: isLoading }, buttonText || t('upgradeNow') || '지금 업그레이드'))));\n};\nUpgradeBanner.displayName = 'UpgradeBanner';\nexport default UpgradeBanner;\n","import React, { useState, useEffect, useRef } from 'react';\nimport { ArrowsExpandIcon } from '@designbasekorea/icons';\nimport './ResizablePlugin.scss';\nexport const ResizablePlugin = ({ children, minWidth = 360, maxWidth = 460, minHeight = 440, maxHeight = 700, icon, className, }) => {\n const [isResizing, setIsResizing] = useState(false);\n const resizeHandleRef = useRef(null);\n useEffect(() => {\n const handleMouseMove = (e) => {\n if (!isResizing)\n return;\n const newWidth = Math.max(minWidth, Math.min(maxWidth, e.clientX + 10));\n const newHeight = Math.max(minHeight, Math.min(maxHeight, e.clientY + 10));\n if (typeof parent !== 'undefined') {\n parent.postMessage({\n pluginMessage: {\n type: 'resize',\n width: newWidth,\n height: newHeight\n }\n }, '*');\n }\n };\n const handleMouseUp = () => {\n setIsResizing(false);\n };\n if (isResizing) {\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n }\n return () => {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isResizing, minWidth, maxWidth, minHeight, maxHeight]);\n return (React.createElement(\"div\", { className: `designbase-figma-resizable-plugin ${className || ''}` },\n children,\n React.createElement(\"div\", { ref: resizeHandleRef, className: `designbase-figma-resizable-plugin__handle ${isResizing ? 'resizing' : ''}`, onMouseDown: (e) => {\n e.preventDefault();\n setIsResizing(true);\n }, role: \"button\", tabIndex: 0, \"aria-label\": \"Resize plugin\" }, icon || React.createElement(ArrowsExpandIcon, { size: 12 }))));\n};\nResizablePlugin.displayName = 'ResizablePlugin';\nexport default ResizablePlugin;\n"],"names":["useState","ExternalLinkIcon","Badge","useEffect","Spinner","Input","Button","Toggle","useToast","StarIcon","KeyIcon","Divider","SettingsIcon","CloseIcon","useRef","ArrowsExpandIcon"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designbasekorea/figma-ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Designbase 피그마 플러그인 전용 UI 컴포넌트 라이브러리",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",