@scglab/admin-ui 0.1.7 → 0.1.8

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.
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/stores/index.ts
21
+ var stores_exports = {};
22
+ __export(stores_exports, {
23
+ useDialogStore: () => DialogStore_default,
24
+ useLoadingStore: () => LoadingStore_default
25
+ });
26
+ module.exports = __toCommonJS(stores_exports);
27
+
28
+ // src/store/DialogStore.tsx
29
+ var import_zustand = require("zustand");
30
+ var useDialogStore = (0, import_zustand.create)((set) => ({
31
+ isOpen: false,
32
+ type: "alert",
33
+ message: "",
34
+ showAlert: ({ title, message, onConfirm }) => set({
35
+ isOpen: true,
36
+ type: "alert",
37
+ title,
38
+ message,
39
+ onConfirm: () => {
40
+ onConfirm?.();
41
+ set({ isOpen: false });
42
+ }
43
+ }),
44
+ showConfirm: ({ title, message, onConfirm, onCancel }) => set({
45
+ isOpen: true,
46
+ type: "confirm",
47
+ title,
48
+ message,
49
+ onConfirm: () => {
50
+ onConfirm();
51
+ set({ isOpen: false });
52
+ },
53
+ onCancel: () => {
54
+ onCancel?.();
55
+ set({ isOpen: false });
56
+ }
57
+ }),
58
+ showPrompt: ({ title, message, defaultValue, onConfirm, onCancel }) => set({
59
+ isOpen: true,
60
+ type: "prompt",
61
+ title,
62
+ message,
63
+ defaultValue,
64
+ onConfirm: (value) => {
65
+ onConfirm(value || "");
66
+ set({ isOpen: false });
67
+ },
68
+ onCancel: () => {
69
+ onCancel?.();
70
+ set({ isOpen: false });
71
+ }
72
+ }),
73
+ close: () => set({ isOpen: false })
74
+ }));
75
+ var DialogStore_default = useDialogStore;
76
+
77
+ // src/store/LoadingStore.tsx
78
+ var import_zustand2 = require("zustand");
79
+ var useLoadingStore = (0, import_zustand2.create)((set) => ({
80
+ isLoading: false,
81
+ setLoading: (loading) => set({ isLoading: loading })
82
+ }));
83
+ var LoadingStore_default = useLoadingStore;
84
+ // Annotate the CommonJS export names for ESM import in node:
85
+ 0 && (module.exports = {
86
+ useDialogStore,
87
+ useLoadingStore
88
+ });
89
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/stores/index.ts","../../src/store/DialogStore.tsx","../../src/store/LoadingStore.tsx"],"sourcesContent":["export { default as useDialogStore } from '../store/DialogStore';\nexport { default as useLoadingStore } from '../store/LoadingStore';\n","import { create } from \"zustand\";\n\ninterface DialogState {\n isOpen: boolean;\n type: \"alert\" | \"confirm\" | \"prompt\";\n title?: string;\n message: string | React.ReactNode;\n defaultValue?: string;\n onConfirm?: (value?: string) => void;\n onCancel?: () => void;\n showAlert: (options: {\n title?: string;\n message: string;\n onConfirm?: () => void;\n }) => void;\n showConfirm: (options: {\n title?: string;\n message: string | React.ReactNode;\n onConfirm: () => void;\n onCancel?: () => void;\n }) => void;\n showPrompt: (options: {\n title?: string;\n message: string;\n defaultValue?: string;\n onConfirm: (value: string) => void;\n onCancel?: () => void;\n }) => void;\n close: () => void;\n}\n\nconst useDialogStore = create<DialogState>((set) => ({\n isOpen: false,\n type: \"alert\",\n message: \"\",\n\n showAlert: ({ title, message, onConfirm }) =>\n set({\n isOpen: true,\n type: \"alert\",\n title,\n message,\n onConfirm: () => {\n onConfirm?.();\n set({ isOpen: false });\n },\n }),\n\n showConfirm: ({ title, message, onConfirm, onCancel }) =>\n set({\n isOpen: true,\n type: \"confirm\",\n title,\n message,\n onConfirm: () => {\n onConfirm();\n set({ isOpen: false });\n },\n onCancel: () => {\n onCancel?.();\n set({ isOpen: false });\n },\n }),\n\n showPrompt: ({ title, message, defaultValue, onConfirm, onCancel }) =>\n set({\n isOpen: true,\n type: \"prompt\",\n title,\n message,\n defaultValue,\n onConfirm: (value?: string) => {\n onConfirm(value || \"\");\n set({ isOpen: false });\n },\n onCancel: () => {\n onCancel?.();\n set({ isOpen: false });\n },\n }),\n\n close: () => set({ isOpen: false }),\n}));\n\nexport default useDialogStore;\n","import { create } from \"zustand\";\n\ninterface LoadingState {\n isLoading: boolean;\n setLoading: (loading: boolean) => void;\n}\n\nconst useLoadingStore = create<LoadingState>((set) => ({\n isLoading: false,\n setLoading: (loading) => set({ isLoading: loading }),\n}));\n\nexport default useLoadingStore;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAAuB;AA+BvB,IAAM,qBAAiB,uBAAoB,CAAC,SAAS;AAAA,EACnD,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EAET,WAAW,CAAC,EAAE,OAAO,SAAS,UAAU,MACtC,IAAI;AAAA,IACF,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,WAAW,MAAM;AACf,kBAAY;AACZ,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA,EAEH,aAAa,CAAC,EAAE,OAAO,SAAS,WAAW,SAAS,MAClD,IAAI;AAAA,IACF,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,WAAW,MAAM;AACf,gBAAU;AACV,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,IACA,UAAU,MAAM;AACd,iBAAW;AACX,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA,EAEH,YAAY,CAAC,EAAE,OAAO,SAAS,cAAc,WAAW,SAAS,MAC/D,IAAI;AAAA,IACF,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,CAAC,UAAmB;AAC7B,gBAAU,SAAS,EAAE;AACrB,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,IACA,UAAU,MAAM;AACd,iBAAW;AACX,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA,EAEH,OAAO,MAAM,IAAI,EAAE,QAAQ,MAAM,CAAC;AACpC,EAAE;AAEF,IAAO,sBAAQ;;;ACpFf,IAAAA,kBAAuB;AAOvB,IAAM,sBAAkB,wBAAqB,CAAC,SAAS;AAAA,EACrD,WAAW;AAAA,EACX,YAAY,CAAC,YAAY,IAAI,EAAE,WAAW,QAAQ,CAAC;AACrD,EAAE;AAEF,IAAO,uBAAQ;","names":["import_zustand"]}
@@ -0,0 +1,39 @@
1
+ import * as zustand from 'zustand';
2
+
3
+ interface DialogState {
4
+ isOpen: boolean;
5
+ type: "alert" | "confirm" | "prompt";
6
+ title?: string;
7
+ message: string | React.ReactNode;
8
+ defaultValue?: string;
9
+ onConfirm?: (value?: string) => void;
10
+ onCancel?: () => void;
11
+ showAlert: (options: {
12
+ title?: string;
13
+ message: string;
14
+ onConfirm?: () => void;
15
+ }) => void;
16
+ showConfirm: (options: {
17
+ title?: string;
18
+ message: string | React.ReactNode;
19
+ onConfirm: () => void;
20
+ onCancel?: () => void;
21
+ }) => void;
22
+ showPrompt: (options: {
23
+ title?: string;
24
+ message: string;
25
+ defaultValue?: string;
26
+ onConfirm: (value: string) => void;
27
+ onCancel?: () => void;
28
+ }) => void;
29
+ close: () => void;
30
+ }
31
+ declare const useDialogStore: zustand.UseBoundStore<zustand.StoreApi<DialogState>>;
32
+
33
+ interface LoadingState {
34
+ isLoading: boolean;
35
+ setLoading: (loading: boolean) => void;
36
+ }
37
+ declare const useLoadingStore: zustand.UseBoundStore<zustand.StoreApi<LoadingState>>;
38
+
39
+ export { useDialogStore, useLoadingStore };
@@ -0,0 +1,39 @@
1
+ import * as zustand from 'zustand';
2
+
3
+ interface DialogState {
4
+ isOpen: boolean;
5
+ type: "alert" | "confirm" | "prompt";
6
+ title?: string;
7
+ message: string | React.ReactNode;
8
+ defaultValue?: string;
9
+ onConfirm?: (value?: string) => void;
10
+ onCancel?: () => void;
11
+ showAlert: (options: {
12
+ title?: string;
13
+ message: string;
14
+ onConfirm?: () => void;
15
+ }) => void;
16
+ showConfirm: (options: {
17
+ title?: string;
18
+ message: string | React.ReactNode;
19
+ onConfirm: () => void;
20
+ onCancel?: () => void;
21
+ }) => void;
22
+ showPrompt: (options: {
23
+ title?: string;
24
+ message: string;
25
+ defaultValue?: string;
26
+ onConfirm: (value: string) => void;
27
+ onCancel?: () => void;
28
+ }) => void;
29
+ close: () => void;
30
+ }
31
+ declare const useDialogStore: zustand.UseBoundStore<zustand.StoreApi<DialogState>>;
32
+
33
+ interface LoadingState {
34
+ isLoading: boolean;
35
+ setLoading: (loading: boolean) => void;
36
+ }
37
+ declare const useLoadingStore: zustand.UseBoundStore<zustand.StoreApi<LoadingState>>;
38
+
39
+ export { useDialogStore, useLoadingStore };
@@ -0,0 +1,61 @@
1
+ // src/store/DialogStore.tsx
2
+ import { create } from "zustand";
3
+ var useDialogStore = create((set) => ({
4
+ isOpen: false,
5
+ type: "alert",
6
+ message: "",
7
+ showAlert: ({ title, message, onConfirm }) => set({
8
+ isOpen: true,
9
+ type: "alert",
10
+ title,
11
+ message,
12
+ onConfirm: () => {
13
+ onConfirm?.();
14
+ set({ isOpen: false });
15
+ }
16
+ }),
17
+ showConfirm: ({ title, message, onConfirm, onCancel }) => set({
18
+ isOpen: true,
19
+ type: "confirm",
20
+ title,
21
+ message,
22
+ onConfirm: () => {
23
+ onConfirm();
24
+ set({ isOpen: false });
25
+ },
26
+ onCancel: () => {
27
+ onCancel?.();
28
+ set({ isOpen: false });
29
+ }
30
+ }),
31
+ showPrompt: ({ title, message, defaultValue, onConfirm, onCancel }) => set({
32
+ isOpen: true,
33
+ type: "prompt",
34
+ title,
35
+ message,
36
+ defaultValue,
37
+ onConfirm: (value) => {
38
+ onConfirm(value || "");
39
+ set({ isOpen: false });
40
+ },
41
+ onCancel: () => {
42
+ onCancel?.();
43
+ set({ isOpen: false });
44
+ }
45
+ }),
46
+ close: () => set({ isOpen: false })
47
+ }));
48
+ var DialogStore_default = useDialogStore;
49
+
50
+ // src/store/LoadingStore.tsx
51
+ import { create as create2 } from "zustand";
52
+ var useLoadingStore = create2((set) => ({
53
+ isLoading: false,
54
+ setLoading: (loading) => set({ isLoading: loading })
55
+ }));
56
+ var LoadingStore_default = useLoadingStore;
57
+ export {
58
+ DialogStore_default as useDialogStore,
59
+ LoadingStore_default as useLoadingStore
60
+ };
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/store/DialogStore.tsx","../../src/store/LoadingStore.tsx"],"sourcesContent":["import { create } from \"zustand\";\n\ninterface DialogState {\n isOpen: boolean;\n type: \"alert\" | \"confirm\" | \"prompt\";\n title?: string;\n message: string | React.ReactNode;\n defaultValue?: string;\n onConfirm?: (value?: string) => void;\n onCancel?: () => void;\n showAlert: (options: {\n title?: string;\n message: string;\n onConfirm?: () => void;\n }) => void;\n showConfirm: (options: {\n title?: string;\n message: string | React.ReactNode;\n onConfirm: () => void;\n onCancel?: () => void;\n }) => void;\n showPrompt: (options: {\n title?: string;\n message: string;\n defaultValue?: string;\n onConfirm: (value: string) => void;\n onCancel?: () => void;\n }) => void;\n close: () => void;\n}\n\nconst useDialogStore = create<DialogState>((set) => ({\n isOpen: false,\n type: \"alert\",\n message: \"\",\n\n showAlert: ({ title, message, onConfirm }) =>\n set({\n isOpen: true,\n type: \"alert\",\n title,\n message,\n onConfirm: () => {\n onConfirm?.();\n set({ isOpen: false });\n },\n }),\n\n showConfirm: ({ title, message, onConfirm, onCancel }) =>\n set({\n isOpen: true,\n type: \"confirm\",\n title,\n message,\n onConfirm: () => {\n onConfirm();\n set({ isOpen: false });\n },\n onCancel: () => {\n onCancel?.();\n set({ isOpen: false });\n },\n }),\n\n showPrompt: ({ title, message, defaultValue, onConfirm, onCancel }) =>\n set({\n isOpen: true,\n type: \"prompt\",\n title,\n message,\n defaultValue,\n onConfirm: (value?: string) => {\n onConfirm(value || \"\");\n set({ isOpen: false });\n },\n onCancel: () => {\n onCancel?.();\n set({ isOpen: false });\n },\n }),\n\n close: () => set({ isOpen: false }),\n}));\n\nexport default useDialogStore;\n","import { create } from \"zustand\";\n\ninterface LoadingState {\n isLoading: boolean;\n setLoading: (loading: boolean) => void;\n}\n\nconst useLoadingStore = create<LoadingState>((set) => ({\n isLoading: false,\n setLoading: (loading) => set({ isLoading: loading }),\n}));\n\nexport default useLoadingStore;\n"],"mappings":";AAAA,SAAS,cAAc;AA+BvB,IAAM,iBAAiB,OAAoB,CAAC,SAAS;AAAA,EACnD,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EAET,WAAW,CAAC,EAAE,OAAO,SAAS,UAAU,MACtC,IAAI;AAAA,IACF,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,WAAW,MAAM;AACf,kBAAY;AACZ,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA,EAEH,aAAa,CAAC,EAAE,OAAO,SAAS,WAAW,SAAS,MAClD,IAAI;AAAA,IACF,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,WAAW,MAAM;AACf,gBAAU;AACV,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,IACA,UAAU,MAAM;AACd,iBAAW;AACX,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA,EAEH,YAAY,CAAC,EAAE,OAAO,SAAS,cAAc,WAAW,SAAS,MAC/D,IAAI;AAAA,IACF,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,CAAC,UAAmB;AAC7B,gBAAU,SAAS,EAAE;AACrB,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,IACA,UAAU,MAAM;AACd,iBAAW;AACX,UAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA,EAEH,OAAO,MAAM,IAAI,EAAE,QAAQ,MAAM,CAAC;AACpC,EAAE;AAEF,IAAO,sBAAQ;;;ACpFf,SAAS,UAAAA,eAAc;AAOvB,IAAM,kBAAkBA,QAAqB,CAAC,SAAS;AAAA,EACrD,WAAW;AAAA,EACX,YAAY,CAAC,YAAY,IAAI,EAAE,WAAW,QAAQ,CAAC;AACrD,EAAE;AAEF,IAAO,uBAAQ;","names":["create"]}
@@ -816,7 +816,11 @@
816
816
  }
817
817
 
818
818
  .min-w-\[140px\] {
819
- min-width: 140px;
819
+ min-width: 10rem;
820
+ }
821
+
822
+ .min-w-\[320px\] {
823
+ min-width: 22.8571428571rem;
820
824
  }
821
825
 
822
826
  .max-h-36 {
@@ -835,6 +839,10 @@
835
839
  max-height: 14.2857142857rem;
836
840
  }
837
841
 
842
+ .max-h-\[90vh\] {
843
+ max-height: 90vh;
844
+ }
845
+
838
846
  .max-h-screen {
839
847
  max-height: 100vh;
840
848
  }
@@ -1446,6 +1454,13 @@
1446
1454
  position: fixed;
1447
1455
  }
1448
1456
 
1457
+ .inset-0 {
1458
+ top: 0;
1459
+ right: 0;
1460
+ bottom: 0;
1461
+ left: 0;
1462
+ }
1463
+
1449
1464
  .inset-y-0 {
1450
1465
  top: 0;
1451
1466
  bottom: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scglab/admin-ui",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "React 기반 SCGLab 어드민 UI 컴포넌트 라이브러리",
5
5
  "keywords": [
6
6
  "react",
@@ -22,9 +22,14 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "exports": {
24
24
  ".": {
25
+ "types": "./dist/index.d.ts",
25
26
  "require": "./dist/index.cjs",
26
- "import": "./dist/index.js",
27
- "types": "./dist/index.d.ts"
27
+ "import": "./dist/index.js"
28
+ },
29
+ "./stores": {
30
+ "types": "./dist/stores/index.d.ts",
31
+ "require": "./dist/stores/index.cjs",
32
+ "import": "./dist/stores/index.js"
28
33
  },
29
34
  "./styles": "./dist/styles/index.css"
30
35
  },
@@ -33,6 +38,7 @@
33
38
  "README.md"
34
39
  ],
35
40
  "peerDependencies": {
41
+ "zustand": "^4.5.0",
36
42
  "@dnd-kit/core": "^6.3.1",
37
43
  "@dnd-kit/sortable": "^10.0.0",
38
44
  "@dnd-kit/utilities": "^3.2.2",
@@ -52,6 +58,7 @@
52
58
  "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}\""
53
59
  },
54
60
  "devDependencies": {
61
+ "zustand": "^4.5.0",
55
62
  "@dnd-kit/core": "^6.3.1",
56
63
  "@dnd-kit/sortable": "^10.0.0",
57
64
  "@dnd-kit/utilities": "^3.2.2",