@withwiz/cms-kit 0.1.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/README.ko.md +146 -0
- package/README.md +146 -0
- package/dist/chunk-2REYWBQ6.js +32 -0
- package/dist/chunk-2REYWBQ6.js.map +1 -0
- package/dist/chunk-2SYUEQ6J.mjs +17 -0
- package/dist/chunk-2SYUEQ6J.mjs.map +1 -0
- package/dist/chunk-3ILEMZAL.mjs +32 -0
- package/dist/chunk-3ILEMZAL.mjs.map +1 -0
- package/dist/chunk-3Y2TQCHU.mjs +33 -0
- package/dist/chunk-3Y2TQCHU.mjs.map +1 -0
- package/dist/chunk-4LSFAAZW.js +1 -0
- package/dist/chunk-4LSFAAZW.js.map +1 -0
- package/dist/chunk-4W3X7OKF.js +100 -0
- package/dist/chunk-4W3X7OKF.js.map +1 -0
- package/dist/chunk-5JUIMXNF.js +108 -0
- package/dist/chunk-5JUIMXNF.js.map +1 -0
- package/dist/chunk-5RDMODGV.mjs +34 -0
- package/dist/chunk-5RDMODGV.mjs.map +1 -0
- package/dist/chunk-6ES4W2DL.mjs +1 -0
- package/dist/chunk-6ES4W2DL.mjs.map +1 -0
- package/dist/chunk-6EZ3QE5N.js +71 -0
- package/dist/chunk-6EZ3QE5N.js.map +1 -0
- package/dist/chunk-6JFERXNE.mjs +16 -0
- package/dist/chunk-6JFERXNE.mjs.map +1 -0
- package/dist/chunk-7SWW3ZIN.js +17 -0
- package/dist/chunk-7SWW3ZIN.js.map +1 -0
- package/dist/chunk-AXR56AUD.mjs +1 -0
- package/dist/chunk-AXR56AUD.mjs.map +1 -0
- package/dist/chunk-BE7JDL64.js +154 -0
- package/dist/chunk-BE7JDL64.js.map +1 -0
- package/dist/chunk-BHN2SRZC.js +51 -0
- package/dist/chunk-BHN2SRZC.js.map +1 -0
- package/dist/chunk-BJTO5JO5.mjs +11 -0
- package/dist/chunk-BJTO5JO5.mjs.map +1 -0
- package/dist/chunk-BWKKHCDG.mjs +164 -0
- package/dist/chunk-BWKKHCDG.mjs.map +1 -0
- package/dist/chunk-C5WFZJM4.js +218 -0
- package/dist/chunk-C5WFZJM4.js.map +1 -0
- package/dist/chunk-CGVFB23E.mjs +123 -0
- package/dist/chunk-CGVFB23E.mjs.map +1 -0
- package/dist/chunk-D2VDTRXO.js +1 -0
- package/dist/chunk-D2VDTRXO.js.map +1 -0
- package/dist/chunk-D75ADHVM.mjs +181 -0
- package/dist/chunk-D75ADHVM.mjs.map +1 -0
- package/dist/chunk-DCIF4XJL.js +309 -0
- package/dist/chunk-DCIF4XJL.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +11 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/chunk-DSORCGJK.js +44 -0
- package/dist/chunk-DSORCGJK.js.map +1 -0
- package/dist/chunk-E5YUAOJI.js +27 -0
- package/dist/chunk-E5YUAOJI.js.map +1 -0
- package/dist/chunk-EG6NVPP2.js +164 -0
- package/dist/chunk-EG6NVPP2.js.map +1 -0
- package/dist/chunk-EL7YGOTY.js +1 -0
- package/dist/chunk-EL7YGOTY.js.map +1 -0
- package/dist/chunk-EM4MQEWV.mjs +100 -0
- package/dist/chunk-EM4MQEWV.mjs.map +1 -0
- package/dist/chunk-FCCCG5Z7.mjs +108 -0
- package/dist/chunk-FCCCG5Z7.mjs.map +1 -0
- package/dist/chunk-FEPGJ7WN.mjs +218 -0
- package/dist/chunk-FEPGJ7WN.mjs.map +1 -0
- package/dist/chunk-HXVWBFCN.js +16 -0
- package/dist/chunk-HXVWBFCN.js.map +1 -0
- package/dist/chunk-I5YMTJV6.mjs +51 -0
- package/dist/chunk-I5YMTJV6.mjs.map +1 -0
- package/dist/chunk-IMNWW7Q5.mjs +13 -0
- package/dist/chunk-IMNWW7Q5.mjs.map +1 -0
- package/dist/chunk-J5N76ASB.mjs +114 -0
- package/dist/chunk-J5N76ASB.mjs.map +1 -0
- package/dist/chunk-JBV26CUG.mjs +51 -0
- package/dist/chunk-JBV26CUG.mjs.map +1 -0
- package/dist/chunk-JMWXVXK5.js +53 -0
- package/dist/chunk-JMWXVXK5.js.map +1 -0
- package/dist/chunk-KWKV2GAH.js +60 -0
- package/dist/chunk-KWKV2GAH.js.map +1 -0
- package/dist/chunk-LDFE33ML.mjs +53 -0
- package/dist/chunk-LDFE33ML.mjs.map +1 -0
- package/dist/chunk-LF5LOI7K.mjs +174 -0
- package/dist/chunk-LF5LOI7K.mjs.map +1 -0
- package/dist/chunk-MMKAMH4U.mjs +16 -0
- package/dist/chunk-MMKAMH4U.mjs.map +1 -0
- package/dist/chunk-MUHFEEYW.js +33 -0
- package/dist/chunk-MUHFEEYW.js.map +1 -0
- package/dist/chunk-MUQYK5EO.js +1 -0
- package/dist/chunk-MUQYK5EO.js.map +1 -0
- package/dist/chunk-OBNALAMG.mjs +71 -0
- package/dist/chunk-OBNALAMG.mjs.map +1 -0
- package/dist/chunk-OLEYNPW6.js +25 -0
- package/dist/chunk-OLEYNPW6.js.map +1 -0
- package/dist/chunk-OYJRR3G2.js +123 -0
- package/dist/chunk-OYJRR3G2.js.map +1 -0
- package/dist/chunk-PLVG7AW3.js +16 -0
- package/dist/chunk-PLVG7AW3.js.map +1 -0
- package/dist/chunk-PYD4CES4.js +1 -0
- package/dist/chunk-PYD4CES4.js.map +1 -0
- package/dist/chunk-QACD2U6P.mjs +1 -0
- package/dist/chunk-QACD2U6P.mjs.map +1 -0
- package/dist/chunk-R5GGIVD4.js +10 -0
- package/dist/chunk-R5GGIVD4.js.map +1 -0
- package/dist/chunk-RCK5WCU5.mjs +25 -0
- package/dist/chunk-RCK5WCU5.mjs.map +1 -0
- package/dist/chunk-S6UUSM7S.js +13 -0
- package/dist/chunk-S6UUSM7S.js.map +1 -0
- package/dist/chunk-S7GOXCRM.js +114 -0
- package/dist/chunk-S7GOXCRM.js.map +1 -0
- package/dist/chunk-SMV5D5LO.mjs +28 -0
- package/dist/chunk-SMV5D5LO.mjs.map +1 -0
- package/dist/chunk-T7EVFD4G.mjs +60 -0
- package/dist/chunk-T7EVFD4G.mjs.map +1 -0
- package/dist/chunk-TLH3V4SY.mjs +1 -0
- package/dist/chunk-TLH3V4SY.mjs.map +1 -0
- package/dist/chunk-TUQ2CVAK.mjs +10 -0
- package/dist/chunk-TUQ2CVAK.mjs.map +1 -0
- package/dist/chunk-U6PVJKTB.js +51 -0
- package/dist/chunk-U6PVJKTB.js.map +1 -0
- package/dist/chunk-UXMMEEX4.mjs +27 -0
- package/dist/chunk-UXMMEEX4.mjs.map +1 -0
- package/dist/chunk-VVXNFFKI.mjs +44 -0
- package/dist/chunk-VVXNFFKI.mjs.map +1 -0
- package/dist/chunk-VZZ3RU3Q.js +28 -0
- package/dist/chunk-VZZ3RU3Q.js.map +1 -0
- package/dist/chunk-W4FWIZ2Y.js +34 -0
- package/dist/chunk-W4FWIZ2Y.js.map +1 -0
- package/dist/chunk-YEQFKOWD.mjs +154 -0
- package/dist/chunk-YEQFKOWD.mjs.map +1 -0
- package/dist/chunk-YPBKY4KY.mjs +1 -0
- package/dist/chunk-YPBKY4KY.mjs.map +1 -0
- package/dist/chunk-YY7K5CXX.js +174 -0
- package/dist/chunk-YY7K5CXX.js.map +1 -0
- package/dist/chunk-ZFORODOX.js +181 -0
- package/dist/chunk-ZFORODOX.js.map +1 -0
- package/dist/chunk-ZULSFSDG.mjs +309 -0
- package/dist/chunk-ZULSFSDG.mjs.map +1 -0
- package/dist/components/AdminManagerBase.d.mts +26 -0
- package/dist/components/AdminManagerBase.d.ts +26 -0
- package/dist/components/AdminManagerBase.js +13 -0
- package/dist/components/AdminManagerBase.js.map +1 -0
- package/dist/components/AdminManagerBase.mjs +12 -0
- package/dist/components/AdminManagerBase.mjs.map +1 -0
- package/dist/components/AdminManagerConfig.d.mts +83 -0
- package/dist/components/AdminManagerConfig.d.ts +83 -0
- package/dist/components/AdminManagerConfig.js +2 -0
- package/dist/components/AdminManagerConfig.js.map +1 -0
- package/dist/components/AdminManagerConfig.mjs +2 -0
- package/dist/components/AdminManagerConfig.mjs.map +1 -0
- package/dist/components/AdminShell.d.mts +30 -0
- package/dist/components/AdminShell.d.ts +30 -0
- package/dist/components/AdminShell.js +12 -0
- package/dist/components/AdminShell.js.map +1 -0
- package/dist/components/AdminShell.mjs +11 -0
- package/dist/components/AdminShell.mjs.map +1 -0
- package/dist/components/JsonLd.d.mts +32 -0
- package/dist/components/JsonLd.d.ts +32 -0
- package/dist/components/JsonLd.js +11 -0
- package/dist/components/JsonLd.js.map +1 -0
- package/dist/components/JsonLd.mjs +11 -0
- package/dist/components/JsonLd.mjs.map +1 -0
- package/dist/components/ResizableImage.d.mts +18 -0
- package/dist/components/ResizableImage.d.ts +18 -0
- package/dist/components/ResizableImage.js +10 -0
- package/dist/components/ResizableImage.js.map +1 -0
- package/dist/components/ResizableImage.mjs +9 -0
- package/dist/components/ResizableImage.mjs.map +1 -0
- package/dist/components/ToggleSwitch.d.mts +11 -0
- package/dist/components/ToggleSwitch.d.ts +11 -0
- package/dist/components/ToggleSwitch.js +10 -0
- package/dist/components/ToggleSwitch.js.map +1 -0
- package/dist/components/ToggleSwitch.mjs +9 -0
- package/dist/components/ToggleSwitch.mjs.map +1 -0
- package/dist/components/image-drop-zone.css +115 -0
- package/dist/components/index.d.mts +26 -0
- package/dist/components/index.d.ts +26 -0
- package/dist/components/index.js +35 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +35 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/toggle-switch.css +55 -0
- package/dist/hooks/index.d.mts +45 -0
- package/dist/hooks/index.d.ts +45 -0
- package/dist/hooks/index.js +25 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +25 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/hooks/useImageDropZone.d.mts +37 -0
- package/dist/hooks/useImageDropZone.d.ts +37 -0
- package/dist/hooks/useImageDropZone.js +13 -0
- package/dist/hooks/useImageDropZone.js.map +1 -0
- package/dist/hooks/useImageDropZone.mjs +12 -0
- package/dist/hooks/useImageDropZone.mjs.map +1 -0
- package/dist/hooks/useScrollReveal.d.mts +6 -0
- package/dist/hooks/useScrollReveal.d.ts +6 -0
- package/dist/hooks/useScrollReveal.js +12 -0
- package/dist/hooks/useScrollReveal.js.map +1 -0
- package/dist/hooks/useScrollReveal.mjs +11 -0
- package/dist/hooks/useScrollReveal.mjs.map +1 -0
- package/dist/image-drop-zone.css +115 -0
- package/dist/index-00a40-FQ.d.mts +136 -0
- package/dist/index-00a40-FQ.d.ts +136 -0
- package/dist/index.d.mts +35 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.js +169 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +169 -0
- package/dist/index.mjs.map +1 -0
- package/dist/infrastructure/index.d.mts +4 -0
- package/dist/infrastructure/index.d.ts +4 -0
- package/dist/infrastructure/index.js +20 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/index.mjs +20 -0
- package/dist/infrastructure/index.mjs.map +1 -0
- package/dist/infrastructure/middleware/index.d.mts +3 -0
- package/dist/infrastructure/middleware/index.d.ts +3 -0
- package/dist/infrastructure/middleware/index.js +15 -0
- package/dist/infrastructure/middleware/index.js.map +1 -0
- package/dist/infrastructure/middleware/index.mjs +15 -0
- package/dist/infrastructure/middleware/index.mjs.map +1 -0
- package/dist/infrastructure/middleware/wrappers.d.mts +10 -0
- package/dist/infrastructure/middleware/wrappers.d.ts +10 -0
- package/dist/infrastructure/middleware/wrappers.js +15 -0
- package/dist/infrastructure/middleware/wrappers.js.map +1 -0
- package/dist/infrastructure/middleware/wrappers.mjs +15 -0
- package/dist/infrastructure/middleware/wrappers.mjs.map +1 -0
- package/dist/infrastructure/prisma.d.mts +5 -0
- package/dist/infrastructure/prisma.d.ts +5 -0
- package/dist/infrastructure/prisma.js +12 -0
- package/dist/infrastructure/prisma.js.map +1 -0
- package/dist/infrastructure/prisma.mjs +12 -0
- package/dist/infrastructure/prisma.mjs.map +1 -0
- package/dist/services/index.d.mts +22 -0
- package/dist/services/index.d.ts +22 -0
- package/dist/services/index.js +36 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +36 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/toggle-switch.css +55 -0
- package/dist/types/common.d.mts +14 -0
- package/dist/types/common.d.ts +14 -0
- package/dist/types/common.js +8 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/common.mjs +8 -0
- package/dist/types/common.mjs.map +1 -0
- package/dist/types/index.d.mts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +9 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/admin-fetch.d.mts +11 -0
- package/dist/utils/admin-fetch.d.ts +11 -0
- package/dist/utils/admin-fetch.js +13 -0
- package/dist/utils/admin-fetch.js.map +1 -0
- package/dist/utils/admin-fetch.mjs +13 -0
- package/dist/utils/admin-fetch.mjs.map +1 -0
- package/dist/utils/api-helpers.d.mts +20 -0
- package/dist/utils/api-helpers.d.ts +20 -0
- package/dist/utils/api-helpers.js +12 -0
- package/dist/utils/api-helpers.js.map +1 -0
- package/dist/utils/api-helpers.mjs +12 -0
- package/dist/utils/api-helpers.mjs.map +1 -0
- package/dist/utils/date.d.mts +5 -0
- package/dist/utils/date.d.ts +5 -0
- package/dist/utils/date.js +12 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/date.mjs +12 -0
- package/dist/utils/date.mjs.map +1 -0
- package/dist/utils/html-sanitizer.d.mts +56 -0
- package/dist/utils/html-sanitizer.d.ts +56 -0
- package/dist/utils/html-sanitizer.js +11 -0
- package/dist/utils/html-sanitizer.js.map +1 -0
- package/dist/utils/html-sanitizer.mjs +11 -0
- package/dist/utils/html-sanitizer.mjs.map +1 -0
- package/dist/utils/image-variant-utils.d.mts +14 -0
- package/dist/utils/image-variant-utils.d.ts +14 -0
- package/dist/utils/image-variant-utils.js +10 -0
- package/dist/utils/image-variant-utils.js.map +1 -0
- package/dist/utils/image-variant-utils.mjs +10 -0
- package/dist/utils/image-variant-utils.mjs.map +1 -0
- package/dist/utils/image-variants.d.mts +13 -0
- package/dist/utils/image-variants.d.ts +13 -0
- package/dist/utils/image-variants.js +12 -0
- package/dist/utils/image-variants.js.map +1 -0
- package/dist/utils/image-variants.mjs +12 -0
- package/dist/utils/image-variants.mjs.map +1 -0
- package/dist/utils/index.d.mts +88 -0
- package/dist/utils/index.d.ts +88 -0
- package/dist/utils/index.js +92 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +92 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/jwt.d.mts +19 -0
- package/dist/utils/jwt.d.ts +19 -0
- package/dist/utils/jwt.js +9 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/jwt.mjs +9 -0
- package/dist/utils/jwt.mjs.map +1 -0
- package/dist/utils/r2-helpers.d.mts +9 -0
- package/dist/utils/r2-helpers.d.ts +9 -0
- package/dist/utils/r2-helpers.js +20 -0
- package/dist/utils/r2-helpers.js.map +1 -0
- package/dist/utils/r2-helpers.mjs +20 -0
- package/dist/utils/r2-helpers.mjs.map +1 -0
- package/dist/utils/r2-storage.d.mts +38 -0
- package/dist/utils/r2-storage.d.ts +38 -0
- package/dist/utils/r2-storage.js +17 -0
- package/dist/utils/r2-storage.js.map +1 -0
- package/dist/utils/r2-storage.mjs +17 -0
- package/dist/utils/r2-storage.mjs.map +1 -0
- package/dist/utils/route-params.d.mts +3 -0
- package/dist/utils/route-params.d.ts +3 -0
- package/dist/utils/route-params.js +8 -0
- package/dist/utils/route-params.js.map +1 -0
- package/dist/utils/route-params.mjs +8 -0
- package/dist/utils/route-params.mjs.map +1 -0
- package/dist/validators/index.d.mts +2 -0
- package/dist/validators/index.d.ts +2 -0
- package/dist/validators/index.js +11 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/index.mjs +11 -0
- package/dist/validators/index.mjs.map +1 -0
- package/dist/validators/shared.d.mts +6 -0
- package/dist/validators/shared.d.ts +6 -0
- package/dist/validators/shared.js +10 -0
- package/dist/validators/shared.js.map +1 -0
- package/dist/validators/shared.mjs +10 -0
- package/dist/validators/shared.mjs.map +1 -0
- package/package.json +257 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { d as CmsNavItem } from '../index-00a40-FQ.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* AdminShell props (spec.md §4.1 / Sprint 1 C1/C2).
|
|
6
|
+
*
|
|
7
|
+
* brand/nav/route 는 더 이상 하드코딩되지 않는다. 우선순위:
|
|
8
|
+
* props > §5 config boundary (`setCmsConfig`) > 안전 중립 기본값
|
|
9
|
+
* (빈 nav + 1회 `@withwiz/cms-kit:` warn, route 는 레거시 기본 경로).
|
|
10
|
+
*/
|
|
11
|
+
interface AdminShellProps {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
/** 브랜드 라벨 (사이드바 홈 링크 텍스트). 미지정 시 §5 config. */
|
|
14
|
+
brandLabel?: string;
|
|
15
|
+
/** 브랜드 홈 링크 href. */
|
|
16
|
+
brandHref?: string;
|
|
17
|
+
/** admin 링크 href. */
|
|
18
|
+
adminHref?: string;
|
|
19
|
+
/** 순서 있는 nav 항목 목록 (label/href/glyph). */
|
|
20
|
+
navItems?: CmsNavItem[];
|
|
21
|
+
/** 로그인 페이지 경로 (라우트 가드/리다이렉트). */
|
|
22
|
+
loginPath?: string;
|
|
23
|
+
/** "현재 사용자" 엔드포인트. */
|
|
24
|
+
meEndpoint?: string;
|
|
25
|
+
/** 로그아웃 엔드포인트. */
|
|
26
|
+
logoutEndpoint?: string;
|
|
27
|
+
}
|
|
28
|
+
declare function AdminShell({ children, brandLabel, brandHref, adminHref, navItems, loginPath, meEndpoint, logoutEndpoint, }: AdminShellProps): react_jsx_runtime.JSX.Element;
|
|
29
|
+
|
|
30
|
+
export { type AdminShellProps, AdminShell as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkC5WFZJM4js = require('../chunk-C5WFZJM4.js');
|
|
6
|
+
require('../chunk-KWKV2GAH.js');
|
|
7
|
+
require('../chunk-EG6NVPP2.js');
|
|
8
|
+
require('../chunk-DGUM43GV.js');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.default = _chunkC5WFZJM4js.AdminShell;
|
|
12
|
+
//# sourceMappingURL=AdminShell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/AdminShell.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,8CAAC","file":"/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/AdminShell.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JSON-LD 구조화 데이터 스크립트 (spec.md §4.6 / Sprint 1 S2).
|
|
5
|
+
*
|
|
6
|
+
* `JSON.stringify(data)` 를 그대로 `<script>` 에 주입하면 `data` 값에 들어 있는
|
|
7
|
+
* `</script>` / `<!--` / `<` / `&` / U+2028 / U+2029 가 스크립트 요소를
|
|
8
|
+
* 탈출(breakout)시켜 저장/반사형 XSS 가 된다. 아래 escapeJsonForScript 가
|
|
9
|
+
* 직렬화 결과를 안전하게 이스케이프한다 (codepoint 기반 — 소스에 비가시
|
|
10
|
+
* 라인 종결자 문자를 두지 않는다). 이스케이프 대상:
|
|
11
|
+
*
|
|
12
|
+
* U+003C (escaped to backslash-u003c) -- blocks </script>, <!--, <
|
|
13
|
+
* U+003E (escaped to backslash-u003e)
|
|
14
|
+
* U+0026 (escaped to backslash-u0026)
|
|
15
|
+
* U+2028 (escaped to backslash-u2028) -- JS string literal break guard
|
|
16
|
+
* U+2029 (escaped to backslash-u2029)
|
|
17
|
+
*
|
|
18
|
+
* 이 치환들은 JSON 문자열 컨텍스트 안에서 유효한 \uXXXX 이스케이프이므로,
|
|
19
|
+
* 디코드된 스크립트 텍스트를 JSON.parse 하면 원본 data 와 정확히
|
|
20
|
+
* deep-equal 한다 (round-trip 보존).
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* `<script>` 안에 안전하게 넣을 수 있도록 직렬화된 JSON 을 이스케이프한다.
|
|
24
|
+
* 결과는 여전히 유효한 `application/ld+json` 이며 `JSON.parse` 시 원본으로
|
|
25
|
+
* 복원된다.
|
|
26
|
+
*/
|
|
27
|
+
declare function escapeJsonForScript(data: unknown): string;
|
|
28
|
+
declare function JsonLd({ data }: {
|
|
29
|
+
data: Record<string, unknown>;
|
|
30
|
+
}): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
export { JsonLd, escapeJsonForScript };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JSON-LD 구조화 데이터 스크립트 (spec.md §4.6 / Sprint 1 S2).
|
|
5
|
+
*
|
|
6
|
+
* `JSON.stringify(data)` 를 그대로 `<script>` 에 주입하면 `data` 값에 들어 있는
|
|
7
|
+
* `</script>` / `<!--` / `<` / `&` / U+2028 / U+2029 가 스크립트 요소를
|
|
8
|
+
* 탈출(breakout)시켜 저장/반사형 XSS 가 된다. 아래 escapeJsonForScript 가
|
|
9
|
+
* 직렬화 결과를 안전하게 이스케이프한다 (codepoint 기반 — 소스에 비가시
|
|
10
|
+
* 라인 종결자 문자를 두지 않는다). 이스케이프 대상:
|
|
11
|
+
*
|
|
12
|
+
* U+003C (escaped to backslash-u003c) -- blocks </script>, <!--, <
|
|
13
|
+
* U+003E (escaped to backslash-u003e)
|
|
14
|
+
* U+0026 (escaped to backslash-u0026)
|
|
15
|
+
* U+2028 (escaped to backslash-u2028) -- JS string literal break guard
|
|
16
|
+
* U+2029 (escaped to backslash-u2029)
|
|
17
|
+
*
|
|
18
|
+
* 이 치환들은 JSON 문자열 컨텍스트 안에서 유효한 \uXXXX 이스케이프이므로,
|
|
19
|
+
* 디코드된 스크립트 텍스트를 JSON.parse 하면 원본 data 와 정확히
|
|
20
|
+
* deep-equal 한다 (round-trip 보존).
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* `<script>` 안에 안전하게 넣을 수 있도록 직렬화된 JSON 을 이스케이프한다.
|
|
24
|
+
* 결과는 여전히 유효한 `application/ld+json` 이며 `JSON.parse` 시 원본으로
|
|
25
|
+
* 복원된다.
|
|
26
|
+
*/
|
|
27
|
+
declare function escapeJsonForScript(data: unknown): string;
|
|
28
|
+
declare function JsonLd({ data }: {
|
|
29
|
+
data: Record<string, unknown>;
|
|
30
|
+
}): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
export { JsonLd, escapeJsonForScript };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkMUHFEEYWjs = require('../chunk-MUHFEEYW.js');
|
|
6
|
+
require('../chunk-DGUM43GV.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.JsonLd = _chunkMUHFEEYWjs.JsonLd; exports.escapeJsonForScript = _chunkMUHFEEYWjs.escapeJsonForScript;
|
|
11
|
+
//# sourceMappingURL=JsonLd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/JsonLd.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACF,6GAAC","file":"/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/JsonLd.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
|
|
3
|
+
declare module "@tiptap/core" {
|
|
4
|
+
interface Commands<ReturnType> {
|
|
5
|
+
resizableImage: {
|
|
6
|
+
setImage: (options: {
|
|
7
|
+
src: string;
|
|
8
|
+
alt?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
align?: string;
|
|
12
|
+
}) => ReturnType;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
declare const ResizableImage: Node<any, any>;
|
|
17
|
+
|
|
18
|
+
export { ResizableImage };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
|
|
3
|
+
declare module "@tiptap/core" {
|
|
4
|
+
interface Commands<ReturnType> {
|
|
5
|
+
resizableImage: {
|
|
6
|
+
setImage: (options: {
|
|
7
|
+
src: string;
|
|
8
|
+
alt?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
align?: string;
|
|
12
|
+
}) => ReturnType;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
declare const ResizableImage: Node<any, any>;
|
|
17
|
+
|
|
18
|
+
export { ResizableImage };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkZFORODOXjs = require('../chunk-ZFORODOX.js');
|
|
6
|
+
require('../chunk-DGUM43GV.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.ResizableImage = _chunkZFORODOXjs.ResizableImage;
|
|
10
|
+
//# sourceMappingURL=ResizableImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/ResizableImage.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,yDAAC","file":"/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/ResizableImage.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface ToggleSwitchProps {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
onChange: (checked: boolean) => void;
|
|
6
|
+
label?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function ToggleSwitch({ checked, onChange, label, className, }: ToggleSwitchProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { ToggleSwitch as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface ToggleSwitchProps {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
onChange: (checked: boolean) => void;
|
|
6
|
+
label?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function ToggleSwitch({ checked, onChange, label, className, }: ToggleSwitchProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { ToggleSwitch as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkVZZ3RU3Qjs = require('../chunk-VZZ3RU3Q.js');
|
|
6
|
+
require('../chunk-DGUM43GV.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.default = _chunkVZZ3RU3Qjs.ToggleSwitch;
|
|
10
|
+
//# sourceMappingURL=ToggleSwitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/ToggleSwitch.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,gDAAC","file":"/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/ToggleSwitch.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/* ═══ Shared Drag-and-Drop Upload States ═══ */
|
|
2
|
+
|
|
3
|
+
/* Drag-over visual feedback */
|
|
4
|
+
.af-upload-zone.is-drag-over,
|
|
5
|
+
.nbe-ed-img-up.is-drag-over,
|
|
6
|
+
.nbe-img-upload.is-drag-over,
|
|
7
|
+
.admin-cover-upload.is-drag-over,
|
|
8
|
+
.pm-poster-upload.is-drag-over,
|
|
9
|
+
.rm-pu.is-drag-over,
|
|
10
|
+
.rm-ce-iup.is-drag-over,
|
|
11
|
+
.rm-gal-grid.is-drag-over {
|
|
12
|
+
border-color: #8c7444 !important;
|
|
13
|
+
border-style: dashed !important;
|
|
14
|
+
background: rgba(201, 169, 110, 0.08) !important;
|
|
15
|
+
box-shadow: inset 0 0 0 2px rgba(201, 169, 110, 0.15);
|
|
16
|
+
transition: all 0.15s ease;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Uploading / Resizing state */
|
|
20
|
+
.af-upload-zone.is-uploading,
|
|
21
|
+
.nbe-ed-img-up.is-uploading,
|
|
22
|
+
.nbe-img-upload.is-uploading,
|
|
23
|
+
.admin-cover-upload.is-uploading,
|
|
24
|
+
.pm-poster-upload.is-uploading,
|
|
25
|
+
.rm-pu.is-uploading,
|
|
26
|
+
.rm-ce-iup.is-uploading,
|
|
27
|
+
.af-upload-zone.is-resizing,
|
|
28
|
+
.nbe-ed-img-up.is-resizing,
|
|
29
|
+
.nbe-img-upload.is-resizing,
|
|
30
|
+
.admin-cover-upload.is-resizing,
|
|
31
|
+
.pm-poster-upload.is-resizing,
|
|
32
|
+
.rm-pu.is-resizing,
|
|
33
|
+
.rm-ce-iup.is-resizing {
|
|
34
|
+
opacity: 0.6;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Upload spinner */
|
|
39
|
+
.dz-upload-spinner {
|
|
40
|
+
display: inline-flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
gap: 6px;
|
|
43
|
+
font-size: 12px;
|
|
44
|
+
color: #8c7444;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.dz-upload-spinner::before {
|
|
48
|
+
content: "";
|
|
49
|
+
width: 14px;
|
|
50
|
+
height: 14px;
|
|
51
|
+
border: 2px solid #e8e0d0;
|
|
52
|
+
border-top-color: #8c7444;
|
|
53
|
+
border-radius: 50%;
|
|
54
|
+
animation: dz-spin 0.6s linear infinite;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@keyframes dz-spin {
|
|
58
|
+
to {
|
|
59
|
+
transform: rotate(360deg);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* Error message */
|
|
64
|
+
.dz-error {
|
|
65
|
+
font-size: 11px;
|
|
66
|
+
color: #d44;
|
|
67
|
+
margin-top: 4px;
|
|
68
|
+
padding: 4px 8px;
|
|
69
|
+
background: #fef5f5;
|
|
70
|
+
border: 1px solid #f0c0c0;
|
|
71
|
+
border-radius: 4px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* Drag hint text */
|
|
75
|
+
.dz-drag-hint {
|
|
76
|
+
font-size: 12px;
|
|
77
|
+
color: #8c7444;
|
|
78
|
+
font-weight: 600;
|
|
79
|
+
pointer-events: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Placeholder with guide */
|
|
83
|
+
.dz-placeholder {
|
|
84
|
+
display: flex;
|
|
85
|
+
flex-direction: column;
|
|
86
|
+
align-items: center;
|
|
87
|
+
gap: 6px;
|
|
88
|
+
padding: 12px;
|
|
89
|
+
text-align: center;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.dz-placeholder-icon {
|
|
93
|
+
font-size: 24px;
|
|
94
|
+
color: #aaa;
|
|
95
|
+
line-height: 1;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.dz-placeholder-text {
|
|
99
|
+
font-size: 13px;
|
|
100
|
+
color: #888;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.dz-placeholder-guide {
|
|
104
|
+
font-size: 11px;
|
|
105
|
+
color: #bbb;
|
|
106
|
+
line-height: 1.5;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* Gallery drop zone add button state */
|
|
110
|
+
.rm-gal-add.dz-state {
|
|
111
|
+
display: flex;
|
|
112
|
+
align-items: center;
|
|
113
|
+
justify-content: center;
|
|
114
|
+
pointer-events: none;
|
|
115
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { JsonLd } from './JsonLd.mjs';
|
|
2
|
+
export { default as AdminShell } from './AdminShell.mjs';
|
|
3
|
+
export { default as AdminManagerBase, AdminManagerBaseHandle } from './AdminManagerBase.mjs';
|
|
4
|
+
export { AdminManagerConfig, DetailPreviewSlotProps, EditFormSlotProps, FilterSlotProps, ListItemSlotProps, ListPreviewSlotProps } from './AdminManagerConfig.mjs';
|
|
5
|
+
export { default as ToggleSwitch } from './ToggleSwitch.mjs';
|
|
6
|
+
export { ResizableImage } from './ResizableImage.mjs';
|
|
7
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
8
|
+
import '../index-00a40-FQ.mjs';
|
|
9
|
+
import 'react';
|
|
10
|
+
import '@tiptap/core';
|
|
11
|
+
|
|
12
|
+
interface Props {
|
|
13
|
+
/** Current image URL */
|
|
14
|
+
src: string;
|
|
15
|
+
/** Called with uploaded image URL and key */
|
|
16
|
+
onUpload: (url: string, key: string) => void;
|
|
17
|
+
/** Track uploaded key for orphan cleanup */
|
|
18
|
+
onKeyTracked?: (key: string) => void;
|
|
19
|
+
/** CSS class for the drop zone container */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** Placeholder text when no image */
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
}
|
|
24
|
+
declare function ImageDropUpload({ src, onUpload, onKeyTracked, className, placeholder, }: Props): react_jsx_runtime.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { ImageDropUpload };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { JsonLd } from './JsonLd.js';
|
|
2
|
+
export { default as AdminShell } from './AdminShell.js';
|
|
3
|
+
export { default as AdminManagerBase, AdminManagerBaseHandle } from './AdminManagerBase.js';
|
|
4
|
+
export { AdminManagerConfig, DetailPreviewSlotProps, EditFormSlotProps, FilterSlotProps, ListItemSlotProps, ListPreviewSlotProps } from './AdminManagerConfig.js';
|
|
5
|
+
export { default as ToggleSwitch } from './ToggleSwitch.js';
|
|
6
|
+
export { ResizableImage } from './ResizableImage.js';
|
|
7
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
8
|
+
import '../index-00a40-FQ.js';
|
|
9
|
+
import 'react';
|
|
10
|
+
import '@tiptap/core';
|
|
11
|
+
|
|
12
|
+
interface Props {
|
|
13
|
+
/** Current image URL */
|
|
14
|
+
src: string;
|
|
15
|
+
/** Called with uploaded image URL and key */
|
|
16
|
+
onUpload: (url: string, key: string) => void;
|
|
17
|
+
/** Track uploaded key for orphan cleanup */
|
|
18
|
+
onKeyTracked?: (key: string) => void;
|
|
19
|
+
/** CSS class for the drop zone container */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** Placeholder text when no image */
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
}
|
|
24
|
+
declare function ImageDropUpload({ src, onUpload, onKeyTracked, className, placeholder, }: Props): react_jsx_runtime.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { ImageDropUpload };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
|
+
|
|
4
|
+
var _chunk6EZ3QE5Njs = require('../chunk-6EZ3QE5N.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkDCIF4XJLjs = require('../chunk-DCIF4XJL.js');
|
|
8
|
+
require('../chunk-D2VDTRXO.js');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _chunkC5WFZJM4js = require('../chunk-C5WFZJM4.js');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _chunkMUHFEEYWjs = require('../chunk-MUHFEEYW.js');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
var _chunkZFORODOXjs = require('../chunk-ZFORODOX.js');
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
var _chunkVZZ3RU3Qjs = require('../chunk-VZZ3RU3Q.js');
|
|
21
|
+
require('../chunk-5JUIMXNF.js');
|
|
22
|
+
require('../chunk-YY7K5CXX.js');
|
|
23
|
+
require('../chunk-S7GOXCRM.js');
|
|
24
|
+
require('../chunk-KWKV2GAH.js');
|
|
25
|
+
require('../chunk-EG6NVPP2.js');
|
|
26
|
+
require('../chunk-DGUM43GV.js');
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
exports.AdminManagerBase = _chunkDCIF4XJLjs.AdminManagerBase; exports.AdminShell = _chunkC5WFZJM4js.AdminShell; exports.ImageDropUpload = _chunk6EZ3QE5Njs.ImageDropUpload; exports.JsonLd = _chunkMUHFEEYWjs.JsonLd; exports.ResizableImage = _chunkZFORODOXjs.ResizableImage; exports.ToggleSwitch = _chunkVZZ3RU3Qjs.ToggleSwitch;
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/index.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,qUAAC","file":"/Users/uni4love/project/workspace/211-withwiz/node-packages/withwiz-cms-kit/dist/components/index.js"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
ImageDropUpload
|
|
4
|
+
} from "../chunk-OBNALAMG.mjs";
|
|
5
|
+
import {
|
|
6
|
+
AdminManagerBase
|
|
7
|
+
} from "../chunk-ZULSFSDG.mjs";
|
|
8
|
+
import "../chunk-6ES4W2DL.mjs";
|
|
9
|
+
import {
|
|
10
|
+
AdminShell
|
|
11
|
+
} from "../chunk-FEPGJ7WN.mjs";
|
|
12
|
+
import {
|
|
13
|
+
JsonLd
|
|
14
|
+
} from "../chunk-3Y2TQCHU.mjs";
|
|
15
|
+
import {
|
|
16
|
+
ResizableImage
|
|
17
|
+
} from "../chunk-D75ADHVM.mjs";
|
|
18
|
+
import {
|
|
19
|
+
ToggleSwitch
|
|
20
|
+
} from "../chunk-SMV5D5LO.mjs";
|
|
21
|
+
import "../chunk-FCCCG5Z7.mjs";
|
|
22
|
+
import "../chunk-LF5LOI7K.mjs";
|
|
23
|
+
import "../chunk-J5N76ASB.mjs";
|
|
24
|
+
import "../chunk-T7EVFD4G.mjs";
|
|
25
|
+
import "../chunk-BWKKHCDG.mjs";
|
|
26
|
+
import "../chunk-BJTO5JO5.mjs";
|
|
27
|
+
export {
|
|
28
|
+
AdminManagerBase,
|
|
29
|
+
AdminShell,
|
|
30
|
+
ImageDropUpload,
|
|
31
|
+
JsonLd,
|
|
32
|
+
ResizableImage,
|
|
33
|
+
ToggleSwitch
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* ─── Toggle Switch ─── */
|
|
2
|
+
.admin-toggle {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 6px;
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
user-select: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.admin-toggle-input {
|
|
11
|
+
position: absolute;
|
|
12
|
+
opacity: 0;
|
|
13
|
+
width: 0;
|
|
14
|
+
height: 0;
|
|
15
|
+
pointer-events: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Track */
|
|
19
|
+
.admin-toggle-track {
|
|
20
|
+
position: relative;
|
|
21
|
+
width: 36px;
|
|
22
|
+
height: 20px;
|
|
23
|
+
background: #ccc;
|
|
24
|
+
border-radius: 10px;
|
|
25
|
+
transition: background 0.2s;
|
|
26
|
+
flex-shrink: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.admin-toggle-track.on {
|
|
30
|
+
background: #8c7444;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Thumb */
|
|
34
|
+
.admin-toggle-thumb {
|
|
35
|
+
position: absolute;
|
|
36
|
+
top: 2px;
|
|
37
|
+
left: 2px;
|
|
38
|
+
width: 16px;
|
|
39
|
+
height: 16px;
|
|
40
|
+
background: #fff;
|
|
41
|
+
border-radius: 50%;
|
|
42
|
+
transition: left 0.2s;
|
|
43
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.admin-toggle-track.on .admin-toggle-thumb {
|
|
47
|
+
left: 18px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Label */
|
|
51
|
+
.admin-toggle-label {
|
|
52
|
+
font-size: 12px;
|
|
53
|
+
color: #555;
|
|
54
|
+
white-space: nowrap;
|
|
55
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export { useScrollReveal, useScrollRevealAll } from './useScrollReveal.mjs';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
export { useImageDropZone } from './useImageDropZone.mjs';
|
|
4
|
+
|
|
5
|
+
interface UseAdminListOptions<T, S extends string> {
|
|
6
|
+
initialItems: T[];
|
|
7
|
+
apiPath: string;
|
|
8
|
+
defaultSortKey: S;
|
|
9
|
+
normalizeItem?: (raw: unknown) => T;
|
|
10
|
+
defaultFilterValue?: string;
|
|
11
|
+
}
|
|
12
|
+
declare function useAdminList<T, S extends string = string>(options: UseAdminListOptions<T, S>): {
|
|
13
|
+
items: T[];
|
|
14
|
+
setItems: react.Dispatch<react.SetStateAction<T[]>>;
|
|
15
|
+
searchQuery: string;
|
|
16
|
+
setSearchQuery: react.Dispatch<react.SetStateAction<string>>;
|
|
17
|
+
sortKey: S;
|
|
18
|
+
setSortKey: react.Dispatch<react.SetStateAction<S>>;
|
|
19
|
+
filterValue: string;
|
|
20
|
+
setFilterValue: react.Dispatch<react.SetStateAction<string>>;
|
|
21
|
+
fetchList: (sort: S) => Promise<void>;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
declare function useAdminForm<F extends object>(initialForm: F): {
|
|
25
|
+
tab: "list" | "edit";
|
|
26
|
+
setTab: react.Dispatch<react.SetStateAction<"list" | "edit">>;
|
|
27
|
+
form: F;
|
|
28
|
+
setForm: react.Dispatch<react.SetStateAction<F>>;
|
|
29
|
+
updateField: <K extends keyof F>(key: K, value: F[K]) => void;
|
|
30
|
+
selectedId: string | null;
|
|
31
|
+
setSelectedId: react.Dispatch<react.SetStateAction<string | null>>;
|
|
32
|
+
isNew: boolean;
|
|
33
|
+
setIsNew: react.Dispatch<react.SetStateAction<boolean>>;
|
|
34
|
+
saving: boolean;
|
|
35
|
+
setSaving: react.Dispatch<react.SetStateAction<boolean>>;
|
|
36
|
+
loading: boolean;
|
|
37
|
+
setLoading: react.Dispatch<react.SetStateAction<boolean>>;
|
|
38
|
+
mobilePv: boolean;
|
|
39
|
+
setMobilePv: react.Dispatch<react.SetStateAction<boolean>>;
|
|
40
|
+
addNew: (emptyForm: F) => void;
|
|
41
|
+
startEdit: (id: string, emptyForm?: F) => void;
|
|
42
|
+
backToList: () => void;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { useAdminForm, useAdminList };
|