@chaibuilder/sdk 0.1.9 → 0.1.11

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.
Files changed (58) hide show
  1. package/dist/{AddBlocks-8bcba532.cjs → AddBlocks-12a3610b.cjs} +1 -1
  2. package/dist/{AddBlocks-a9d3b6c0.js → AddBlocks-9d1873e7.js} +1 -1
  3. package/dist/{BrandingOptions-c8dba155.js → BrandingOptions-69d302c5.js} +1 -1
  4. package/dist/{BrandingOptions-c4c8676e.cjs → BrandingOptions-7439ff1e.cjs} +1 -1
  5. package/dist/{CanvasArea-c8892280.cjs → CanvasArea-6f24eabe.cjs} +2 -2
  6. package/dist/{CanvasArea-77c280f6.js → CanvasArea-7424817c.js} +2 -2
  7. package/dist/{CurrentPage-6ca95592.js → CurrentPage-1e98746d.js} +21 -21
  8. package/dist/CurrentPage-526d5497.cjs +1 -0
  9. package/dist/{ImagesPanel-8ccab6d9.js → ImagesPanel-36a2f276.js} +1 -1
  10. package/dist/{ImagesPanel-addb2bf9.cjs → ImagesPanel-731cda7a.cjs} +1 -1
  11. package/dist/{Layers-c1be574f.cjs → Layers-1fa4a7ad.cjs} +1 -1
  12. package/dist/{Layers-d3c8eea6.js → Layers-8233c000.js} +2 -2
  13. package/dist/{MarkAsGlobalBlock-04b2d169.js → MarkAsGlobalBlock-46fcc533.js} +1 -1
  14. package/dist/{MarkAsGlobalBlock-d40a9947.cjs → MarkAsGlobalBlock-9b4b1f4f.cjs} +1 -1
  15. package/dist/PagesPanel-4aafb70f.cjs +1 -0
  16. package/dist/{PagesPanel-78e3bbb9.js → PagesPanel-51d88965.js} +8 -14
  17. package/dist/{ProjectPanel-8cec3a82.cjs → ProjectPanel-0748603f.cjs} +1 -1
  18. package/dist/{ProjectPanel-22ec7598.js → ProjectPanel-af75d218.js} +2 -2
  19. package/dist/{Settings-e49b1212.js → Settings-29f58509.js} +3 -3
  20. package/dist/{Settings-675c7a84.cjs → Settings-c184ce31.cjs} +1 -1
  21. package/dist/{SidePanels-35ad2f5f.cjs → SidePanels-279903d7.cjs} +1 -1
  22. package/dist/{SidePanels-7371a5c6.js → SidePanels-54124742.js} +2 -2
  23. package/dist/{Topbar-da90da83.js → Topbar-c52e0d3e.js} +1 -1
  24. package/dist/{Topbar-3bda931b.cjs → Topbar-c7ce8963.cjs} +1 -1
  25. package/dist/UploadImages-33c1507a.cjs +1 -0
  26. package/dist/{UploadImages-1839950f.js → UploadImages-f0ba3215.js} +5 -3
  27. package/dist/{add-page-modal-15f377cc.cjs → add-page-modal-6be96646.cjs} +1 -1
  28. package/dist/{add-page-modal-6b37b90c.js → add-page-modal-fda0926e.js} +4 -4
  29. package/dist/core.cjs +1 -1
  30. package/dist/core.js +1 -1
  31. package/dist/{delete-page-modal-3b1edeb1.js → delete-page-modal-0aa98758.js} +1 -1
  32. package/dist/{delete-page-modal-92a70848.cjs → delete-page-modal-d7a7059c.cjs} +1 -1
  33. package/dist/{form-526188f9.js → form-1ead8a4a.js} +1 -1
  34. package/dist/{form-431f0141.cjs → form-d82a2694.cjs} +1 -1
  35. package/dist/{index-d214d8c8.cjs → index-2524cb40.cjs} +2 -2
  36. package/dist/{index-67c3fc28.js → index-d0cc5c76.js} +336 -333
  37. package/dist/{link-ebe8a751.js → link-82714c4b.js} +1 -1
  38. package/dist/{link-8b201d2c.cjs → link-fcfa7b45.cjs} +1 -1
  39. package/dist/{page-viewer-584e4c45.cjs → page-viewer-a53f2a9b.cjs} +1 -1
  40. package/dist/{page-viewer-dcd98e40.js → page-viewer-b65e1389.js} +4 -4
  41. package/dist/{project-general-setting-f4614eb4.js → project-general-setting-40d772a0.js} +4 -4
  42. package/dist/{project-general-setting-09427e43.cjs → project-general-setting-c4907c79.cjs} +1 -1
  43. package/dist/{project-seo-setting-f31a84f5.js → project-seo-setting-245555ef.js} +3 -3
  44. package/dist/{project-seo-setting-157acce4.cjs → project-seo-setting-5a54c6a6.cjs} +1 -1
  45. package/dist/render.cjs +2 -2
  46. package/dist/render.d.ts +9 -0
  47. package/dist/render.js +38 -31
  48. package/dist/server.cjs +1 -1
  49. package/dist/server.d.ts +147 -70
  50. package/dist/server.js +90 -48
  51. package/dist/{single-page-detail-20bf1b52.js → single-page-detail-15c218dc.js} +5 -5
  52. package/dist/{single-page-detail-e9713757.cjs → single-page-detail-5e2a7ffe.cjs} +1 -1
  53. package/dist/ui.cjs +1 -1
  54. package/dist/ui.js +2 -2
  55. package/package.json +1 -1
  56. package/dist/CurrentPage-ebe20c9e.cjs +0 -1
  57. package/dist/PagesPanel-27f7a791.cjs +0 -1
  58. package/dist/UploadImages-d398bc93.cjs +0 -1
package/dist/server.d.ts CHANGED
@@ -1,15 +1,49 @@
1
- import type { ChaiBlock } from '@chaibuilder/sdk';
2
-
3
1
  declare type ChaiApiResponse<T> = Promise<{
4
2
  data: T;
5
- error: null | string;
3
+ error: null;
6
4
  result: string;
7
5
  }>;
8
6
 
7
+ declare type ChaiAsset = {
8
+ id: string;
9
+ url: string;
10
+ thumbUrl: string;
11
+ };
12
+
13
+ declare type ChaiBlock = {
14
+ _id: string;
15
+ _name?: string;
16
+ _parent?: string | null | undefined;
17
+ _bindings?: Record<string, string>;
18
+ readonly _type: string;
19
+ } & Record<string, string>;
20
+
9
21
  export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
10
- private authToken;
11
- private readonly projectKey;
12
- constructor(authToken: string, projectKey: string);
22
+ private authSecret;
23
+ private readonly appKey;
24
+ constructor(authSecret: string, appKey: string);
25
+ /**
26
+ *
27
+ * @param endpoint
28
+ * @param queryParam
29
+ * @returns api endpoint with query param
30
+ */
31
+ private getURL;
32
+ /**
33
+ *
34
+ * @returns headers for api
35
+ */
36
+ private getHeaders;
37
+ /**
38
+ *
39
+ * @returns Fetch API
40
+ */
41
+ private fetchAPI;
42
+ getPageData(slug: string): Promise<{
43
+ data: ChaiPageData;
44
+ error: null;
45
+ result: string;
46
+ }>;
13
47
  /**
14
48
  *
15
49
  * @param uuid
@@ -19,7 +53,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
19
53
  data: ChaiPage & {
20
54
  subPages: ChaiSubPage[];
21
55
  };
22
- error: string;
56
+ error: null;
23
57
  result: string;
24
58
  }>;
25
59
  /**
@@ -28,7 +62,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
28
62
  */
29
63
  getPages(): Promise<{
30
64
  data: Omit<ChaiPage, "blocks">[];
31
- error: string;
65
+ error: null;
32
66
  result: string;
33
67
  }>;
34
68
  /**
@@ -38,7 +72,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
38
72
  */
39
73
  addPage(page: Pick<ChaiPage, "name" | "slug">): Promise<{
40
74
  data: ChaiPage;
41
- error: string;
75
+ error: null;
42
76
  result: string;
43
77
  }>;
44
78
  /**
@@ -48,7 +82,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
48
82
  */
49
83
  deletePage(uuid: string): Promise<{
50
84
  data: null;
51
- error: string;
85
+ error: null;
52
86
  result: string;
53
87
  }>;
54
88
  /**
@@ -58,7 +92,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
58
92
  */
59
93
  updatePage(page: ChaiPage): Promise<{
60
94
  data: ChaiPage;
61
- error: string;
95
+ error: null;
62
96
  result: string;
63
97
  }>;
64
98
  /**
@@ -67,7 +101,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
67
101
  */
68
102
  getProject(): Promise<{
69
103
  data: ChaiProject;
70
- error: string;
104
+ error: null;
71
105
  result: string;
72
106
  }>;
73
107
  /**
@@ -77,80 +111,123 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
77
111
  */
78
112
  updateProject(project: Partial<ChaiProject>): Promise<{
79
113
  data: ChaiProject;
80
- error: string;
81
- result: string;
82
- }>;
83
- authenticate({ password }: {
84
- password: string;
85
- }): Promise<{
86
- data: {
87
- token: string;
88
- };
89
- error: string;
114
+ error: null;
90
115
  result: string;
91
116
  }>;
92
- verify(token: string): Promise<{
117
+ /**
118
+ *
119
+ * @returns Upload asset
120
+ * @param formData
121
+ * @param req
122
+ */
123
+ uploadAsset(formData: FormData): Promise<{
93
124
  data: {
94
- result: string;
125
+ url: string;
95
126
  };
96
- error: string;
127
+ error: null;
97
128
  result: string;
98
129
  }>;
99
130
  /**
100
131
  *
101
- * @param endpoint
102
- * @param queryParam
103
- * @returns api endpoint with query param
132
+ * @returns Get assets
133
+ * @param limit
134
+ * @param offset
104
135
  */
105
- private getURL;
136
+ getAssets(limit?: string, offset?: string): Promise<{
137
+ data: ChaiAsset[];
138
+ error: null;
139
+ result: string;
140
+ }>;
106
141
  /**
107
142
  *
108
- * @returns headers for api
143
+ * @param { password }
144
+ * @returns { token }
109
145
  */
110
- private getHeaders;
146
+ authenticate({ password }: {
147
+ password: string;
148
+ }): Promise<{
149
+ data: {
150
+ token: string;
151
+ };
152
+ error: null;
153
+ result: string;
154
+ }>;
111
155
  /**
112
156
  *
113
- * @returns Fetch API
114
- */
115
- private fetchAPI;
116
- }
157
+ * @param token
158
+ * @returns { result: 'success' | 'error' }
159
+ */
160
+ verify(token: string): Promise<{
161
+ data: {
162
+ result: string;
163
+ };
164
+ error: null;
165
+ result: string;
166
+ }>;
167
+ }
117
168
 
118
- declare interface ChaibuilderBackendInterface {
119
- getPage(uuid: string): ChaiApiResponse<ChaiPage & {
120
- subPages: ChaiSubPage[];
121
- }>;
122
- getPages(): ChaiApiResponse<ChaiPage>;
123
- addPage(page: Pick<ChaiPage, "name" | "slug">): ChaiApiResponse<ChaiPage>;
124
- deletePage(uuid: string): ChaiApiResponse<null>;
125
- updatePage(page: ChaiPage): ChaiApiResponse<ChaiPage>;
126
- getProject(): ChaiApiResponse<ChaiProject>;
127
- updateProject(project: Partial<ChaiProject>): ChaiApiResponse<ChaiProject>;
128
- }
169
+ declare interface ChaibuilderBackendInterface {
170
+ getPage(uuid: string): ChaiApiResponse<ChaiPage & {
171
+ subPages: ChaiSubPage[];
172
+ }>;
173
+ getPages(): ChaiApiResponse<ChaiPage>;
174
+ addPage(page: Pick<ChaiPage, "name" | "slug">): ChaiApiResponse<ChaiPage>;
175
+ deletePage(uuid: string): ChaiApiResponse<null>;
176
+ updatePage(page: ChaiPage): ChaiApiResponse<ChaiPage>;
177
+ getProject(): ChaiApiResponse<ChaiProject>;
178
+ updateProject(project: Partial<ChaiProject>): ChaiApiResponse<ChaiProject>;
179
+ uploadAsset(formData: FormData): ChaiApiResponse<{
180
+ url: string;
181
+ }>;
182
+ getAssets(): ChaiApiResponse<ChaiAsset[]>;
183
+ }
129
184
 
130
- declare type ChaiPage = {
131
- uuid: string;
132
- name: string;
133
- slug: string;
134
- blocks: ChaiBlock[];
135
- seoData: object;
136
- type: "STATIC" | "DYNAMIC" | "SUBPAGE";
137
- project: string;
138
- };
185
+ declare type ChaiPage = {
186
+ uuid: string;
187
+ name: string;
188
+ slug: string;
189
+ blocks: ChaiBlock[];
190
+ seoData: object;
191
+ type: "STATIC" | "DYNAMIC" | "SUBPAGE";
192
+ project: string;
193
+ };
139
194
 
140
- declare type ChaiProject = {
141
- uuid: string;
142
- brandingOptions: Record<string, string | number>;
143
- favicon: string;
144
- homepage: string;
145
- name: string;
146
- description?: string;
147
- seoData: object;
148
- primaryLanguage?: string;
149
- password?: string;
150
- languages?: Array<string>;
151
- user?: string;
152
- };
195
+ declare type ChaiPageData = {
196
+ page: {
197
+ blocks: ChaiBlock[];
198
+ seoData?: Record<string, string>;
199
+ slug?: string;
200
+ name: string;
201
+ };
202
+ subPages?: {
203
+ uuid: string;
204
+ blocks: ChaiBlock[];
205
+ }[];
206
+ project: {
207
+ name: string;
208
+ favicon: string;
209
+ brandingOptions: Record<string, string | number>;
210
+ seoData?: Record<string, string>;
211
+ primaryLanguage: string;
212
+ languages: string[];
213
+ homepage: string;
214
+ };
215
+ };
216
+
217
+ declare type ChaiProject = {
218
+ uuid: string;
219
+ brandingOptions: Record<string, string | number>;
220
+ favicon: string;
221
+ homepage: string;
222
+ name: string;
223
+ description?: string;
224
+ seoData: Record<string, string>;
225
+ primaryLanguage?: string;
226
+ password?: string;
227
+ languages?: Array<string>;
228
+ user?: string;
229
+ };
153
230
 
154
- declare type ChaiSubPage = Pick<ChaiPage, "uuid" | "name" | "blocks" | "type" | "project">;
231
+ declare type ChaiSubPage = Pick<ChaiPage, "uuid" | "name" | "blocks" | "type" | "project">;
155
232
 
156
- export { }
233
+ export { }
package/dist/server.js CHANGED
@@ -1,17 +1,57 @@
1
- var i = Object.defineProperty;
2
- var d = (c, t, e) => t in c ? i(c, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[t] = e;
3
- var a = (c, t, e) => (d(c, typeof t != "symbol" ? t + "" : t, e), e);
4
- import { isEmpty as u } from "lodash";
5
- const h = "https://api.chaibuilder.com";
6
- class l {
1
+ var g = Object.defineProperty;
2
+ var u = (c, t, e) => t in c ? g(c, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[t] = e;
3
+ var a = (c, t, e) => (u(c, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import { isEmpty as h } from "lodash";
5
+ const i = "https://api.chaibuilder.com";
6
+ class m {
7
7
  constructor(t, e) {
8
- a(this, "authToken");
9
- a(this, "projectKey");
8
+ a(this, "authSecret");
9
+ a(this, "appKey");
10
10
  if (!t)
11
- throw "Please provide valid auth token.";
11
+ throw "Please provide valid auth secret.";
12
12
  if (!e)
13
13
  throw "Please provide valid project key.";
14
- this.authToken = t, this.projectKey = e;
14
+ this.authSecret = t, this.appKey = e;
15
+ }
16
+ /**
17
+ *
18
+ * @param endpoint
19
+ * @param queryParam
20
+ * @returns api endpoint with query param
21
+ */
22
+ getURL(t, e) {
23
+ const s = new URLSearchParams(e).toString();
24
+ return h(e) ? `${i}/v1/${t}` : `${i}/v1/${t}?${s}`;
25
+ }
26
+ /**
27
+ *
28
+ * @returns headers for api
29
+ */
30
+ getHeaders() {
31
+ const t = new Headers();
32
+ return t.append("x-chai-app-key", this.appKey), t.append("x-chai-auth-secret", this.authSecret), t;
33
+ }
34
+ /**
35
+ *
36
+ * @returns Fetch API
37
+ */
38
+ async fetchAPI(t, e) {
39
+ try {
40
+ const s = await fetch(t, e).then((o) => o.json());
41
+ if ((s == null ? void 0 : s.result) === "success")
42
+ return { data: s == null ? void 0 : s.data, error: null, result: "success" };
43
+ throw s == null ? void 0 : s.error;
44
+ } catch (s) {
45
+ return { data: null, error: s, result: "error" };
46
+ }
47
+ }
48
+ async getPageData(t) {
49
+ const e = this.getHeaders(), s = this.getURL("page-data", h(t) ? {} : { slug: t }), n = {
50
+ method: "GET",
51
+ headers: e,
52
+ next: { tags: [h(t) ? "_homepage" : t] }
53
+ };
54
+ return this.fetchAPI(s, n);
15
55
  }
16
56
  /**
17
57
  *
@@ -34,8 +74,8 @@ class l {
34
74
  */
35
75
  // @ts-ignore
36
76
  async getPages() {
37
- const t = this.getHeaders(), e = this.getURL("pages"), r = { method: "GET", headers: t };
38
- return this.fetchAPI(e, r);
77
+ const t = this.getHeaders(), e = this.getURL("pages"), o = { method: "GET", headers: t };
78
+ return this.fetchAPI(e, o);
39
79
  }
40
80
  /**
41
81
  *
@@ -43,8 +83,8 @@ class l {
43
83
  * @returns Detail of new page
44
84
  */
45
85
  async addPage(t) {
46
- const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("page"), o = { method: "POST", headers: s, body: e };
47
- return this.fetchAPI(r, o);
86
+ const e = JSON.stringify(t), s = this.getHeaders(), o = this.getURL("page"), r = { method: "POST", headers: s, body: e };
87
+ return this.fetchAPI(o, r);
48
88
  }
49
89
  /**
50
90
  *
@@ -67,16 +107,16 @@ class l {
67
107
  * @returns Update page information or Error response
68
108
  */
69
109
  async updatePage(t) {
70
- const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("page"), o = { method: "PUT", headers: s, body: e };
71
- return this.fetchAPI(r, o);
110
+ const e = JSON.stringify(t), s = this.getHeaders(), o = this.getURL("page"), r = { method: "PUT", headers: s, body: e };
111
+ return this.fetchAPI(o, r);
72
112
  }
73
113
  /**
74
114
  *
75
115
  * @returns Project detail
76
116
  */
77
117
  async getProject() {
78
- const t = this.getHeaders(), e = this.getURL("project"), r = { method: "GET", headers: t };
79
- return this.fetchAPI(e, r);
118
+ const t = this.getHeaders(), e = this.getURL("project"), o = { method: "GET", headers: t };
119
+ return this.fetchAPI(e, o);
80
120
  }
81
121
  /**
82
122
  *
@@ -84,50 +124,52 @@ class l {
84
124
  * @returns Updated project detail
85
125
  */
86
126
  async updateProject(t) {
87
- const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("project"), o = { method: "PUT", headers: s, body: e };
88
- return this.fetchAPI(r, o);
127
+ const e = JSON.stringify(t), s = this.getHeaders(), o = this.getURL("project"), r = { method: "PUT", headers: s, body: e };
128
+ return this.fetchAPI(o, r);
89
129
  }
90
- async authenticate({ password: t }) {
91
- const e = JSON.stringify({ password: t }), s = this.getHeaders(), r = this.getURL("authenticate"), o = { method: "POST", headers: s, body: e };
92
- return this.fetchAPI(r, o);
93
- }
94
- async verify(t) {
95
- const e = JSON.stringify({ token: t }), s = this.getHeaders(), r = this.getURL("verify"), o = { method: "POST", headers: s, body: e };
96
- return this.fetchAPI(r, o);
130
+ /**
131
+ *
132
+ * @returns Upload asset
133
+ * @param formData
134
+ * @param req
135
+ */
136
+ async uploadAsset(t) {
137
+ const e = this.getHeaders(), s = this.getURL("asset"), o = "POST", n = await t.get("file"), r = new FormData();
138
+ r.append("file", n);
139
+ const d = { method: o, headers: e, body: r };
140
+ return this.fetchAPI(s, d);
97
141
  }
98
142
  /**
99
143
  *
100
- * @param endpoint
101
- * @param queryParam
102
- * @returns api endpoint with query param
144
+ * @returns Get assets
145
+ * @param limit
146
+ * @param offset
103
147
  */
104
- getURL(t, e) {
105
- const s = new URLSearchParams(e).toString();
106
- return u(e) ? `${h}/v1/${t}` : `${h}/v1/${t}?${s}`;
148
+ async getAssets(t, e) {
149
+ const s = this.getHeaders(), o = this.getURL("asset");
150
+ t && o.concat(`?limit=${t}`), e && o.concat(`&offset=${e}`);
151
+ const r = { method: "GET", headers: s };
152
+ return this.fetchAPI(o, r);
107
153
  }
108
154
  /**
109
155
  *
110
- * @returns headers for api
156
+ * @param { password }
157
+ * @returns { token }
111
158
  */
112
- getHeaders() {
113
- const t = new Headers();
114
- return t.append("x-chai-app-key", this.projectKey), t.append("x-chai-auth-token", this.authToken), t.append("Content-Type", "application/json"), t;
159
+ async authenticate({ password: t }) {
160
+ const e = JSON.stringify({ password: t }), s = this.getHeaders(), o = this.getURL("authenticate"), r = { method: "POST", headers: s, body: e };
161
+ return this.fetchAPI(o, r);
115
162
  }
116
163
  /**
117
164
  *
118
- * @returns Fetch API
165
+ * @param token
166
+ * @returns { result: 'success' | 'error' }
119
167
  */
120
- async fetchAPI(t, e) {
121
- try {
122
- const s = await fetch(t, e).then((r) => r.json());
123
- if ((s == null ? void 0 : s.result) === "success")
124
- return { data: s == null ? void 0 : s.data, error: null, result: "success" };
125
- throw s == null ? void 0 : s.error;
126
- } catch (s) {
127
- return { data: null, error: s, result: "error" };
128
- }
168
+ async verify(t) {
169
+ const e = JSON.stringify({ token: t }), s = this.getHeaders(), o = this.getURL("verify"), r = { method: "POST", headers: s, body: e };
170
+ return this.fetchAPI(o, r);
129
171
  }
130
172
  }
131
173
  export {
132
- l as ChaibuilderBackend
174
+ m as ChaibuilderBackend
133
175
  };
@@ -6,8 +6,8 @@ import { B as Y } from "./useBuilderProp-81a14920.js";
6
6
  import { S as $ } from "./scroll-area-9f64a082.js";
7
7
  import { SingleLineText as g, Model as q, MultilineText as Z, Image as F, Checkbox as O } from "@chaibuilder/blocks";
8
8
  import { toast as Q } from "sonner";
9
- import { F as P } from "./form-526188f9.js";
10
- import { $ as U, P as V, a0 as X, O as _ } from "./index-67c3fc28.js";
9
+ import { F as P } from "./form-1ead8a4a.js";
10
+ import { $ as U, O as V, a0 as X, P as _ } from "./index-d0cc5c76.js";
11
11
  import "@radix-ui/react-slot";
12
12
  import "class-variance-authority";
13
13
  import "./utils-ac68b2c8.js";
@@ -19,12 +19,12 @@ import "jotai";
19
19
  import "@radix-ui/react-scroll-area";
20
20
  import "@rjsf/core";
21
21
  import "@rjsf/validator-ajv8";
22
- import "./link-ebe8a751.js";
22
+ import "./link-82714c4b.js";
23
23
  import "react-icons-picker";
24
24
  import "react-dom";
25
25
  import "./dialog-3d4e82ed.js";
26
26
  import "@radix-ui/react-dialog";
27
- import "./ImagesPanel-8ccab6d9.js";
27
+ import "./ImagesPanel-36a2f276.js";
28
28
  import "./tabs-85caa1e8.js";
29
29
  import "@radix-ui/react-tabs";
30
30
  import "react-quill";
@@ -41,7 +41,7 @@ import "himalaya";
41
41
  import "redux-undo";
42
42
  import "@react-hookz/web";
43
43
  import "lucide-react";
44
- const K = y.lazy(() => import("./delete-page-modal-3b1edeb1.js")), J = y.lazy(() => import("./confirm-alert-f2a47cc7.js")), h = (n) => {
44
+ const K = y.lazy(() => import("./delete-page-modal-0aa98758.js")), J = y.lazy(() => import("./confirm-alert-f2a47cc7.js")), h = (n) => {
45
45
  if (!z(n) || !(n.includes("/[") && n.includes("]")))
46
46
  return !1;
47
47
  const s = /^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/, u = /^[a-zA-Z0-9_-]+$/;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./jsx-runtime-5c3ac4f7.cjs"),q=require("react"),c=require("lodash"),M=require("@radix-ui/react-icons"),H=require("./useBuilderProp-5e57d0c8.cjs"),w=require("./scroll-area-088530b9.cjs"),d=require("@chaibuilder/blocks"),L=require("sonner"),p=require("./form-431f0141.cjs"),P=require("./index-d214d8c8.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("./utils-3c452dd0.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("@radix-ui/react-scroll-area");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./link-8b201d2c.cjs");require("react-icons-picker");require("react-dom");require("./dialog-170eaad9.cjs");require("@radix-ui/react-dialog");require("./ImagesPanel-addb2bf9.cjs");require("./tabs-860e37aa.cjs");require("@radix-ui/react-tabs");require("react-quill");require("react-i18next");require("i18next");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("flat-to-nested");require("./html-to-json-78bfa1f3.cjs");require("./MODIFIERS-70fef873.cjs");require("himalaya");require("redux-undo");require("@react-hookz/web");require("lucide-react");const z=q.lazy(()=>Promise.resolve().then(()=>require("./delete-page-modal-92a70848.cjs"))),B=q.lazy(()=>Promise.resolve().then(()=>require("./confirm-alert-4f50caa7.cjs"))),E=n=>{if(!c.isString(n)||!(n.includes("/[")&&n.includes("]")))return!1;const s=/^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/,g=/^[a-zA-Z0-9_-]+$/;let e=!0;return n.split("/").forEach(u=>{e&&(u.includes("[[")&&u.includes("]]")?e=/^\[\[\.{3}[a-zA-Z0-9_-]+\]\]$/.test(u):u.includes("[")&&u.includes("]")?e=s.test(u):e=g.test(u))}),e},h=n=>n&&c.isEmpty(n.seoData)?{...n,seoData:{title:"",description:"",image:""}}:n,G=(n,o)=>{const s=!c.isEqual(c.omit(n,["seoData"]),c.omit(o,["seoData"])),g=!c.isEqual(h(o).seoData,h(n).seoData);return s||g},Y=({open:n,setOpen:o,pageData:s})=>{const g=P.useQueryClient(),{data:e}=P.useProject(),u=P.useUpdatePage(),m=P.useUpdateProject("Homepage updated successfully."),[i,b]=q.useState(h(s)),[a,y]=q.useState({isHomePage:(e==null?void 0:e.homepage)===s.uuid}),j=G(i,s);q.useEffect(()=>{const l=!c.isEqual(h(s),i),r=(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage;o(l||r?"PENDING":"OPEN")},[e,s,i,a,o]);const S=()=>{if(j){if(s.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")){n==="ALERT"&&o("PENDING");return}u.mutate(i,{onSuccess:()=>{g.invalidateQueries({refetchType:"active",queryKey:["pages",e==null?void 0:e.uuid]}),o("CLOSE"),L.toast.success("Page updated successfully.")}})}a.isHomePage&&(e==null?void 0:e.homepage)!==s.uuid&&m.mutate({...e,homepage:s==null?void 0:s.uuid},{onSuccess:()=>o("CLOSE")})},C=({formData:l},r)=>{b(f=>{var R,N;if(!r)return f;const x={[r]:l[r]};return r==="name"?x.slug=c.kebabCase((R=l[r])==null?void 0:R.replace(/\d/g,"")):r==="slug"?x.slug=(N=l[r])==null?void 0:N.replace(/\d/g,"").replace(/\s+/g,"").replace("--","-").replace("__","_"):r==="seoData"&&(x.seoData={title:l[r].title||"",description:l[r].description||"",image:l[r].image||""}),{...f,...x}})},A=({formData:l},r)=>{y(f=>{const x={[r]:l[r]};return{...f,...x}})},I={name:d.SingleLineText({title:"Page Name",default:i.name}),slug:d.SingleLineText({title:"Page Slug",default:i.slug})},T={seoData:d.Model({title:"",description:"",default:{title:"",description:"",image:""},properties:{title:d.SingleLineText({title:"Meta Title",default:i.name}),description:d.MultilineText({title:"Meta Description",default:i.slug}),image:d.Image({title:"Social Media Image",default:""})}})},v={isHomePage:d.Checkbox({title:"Set as homepage",default:a.isHomePage})};return t.jsxRuntimeExports.jsxs(w.ScrollArea,{className:"flex h-full select-none flex-col",children:[t.jsxRuntimeExports.jsx(B,{open:n==="ALERT",title:"Do yo want to save changes?",onCancel:()=>o("CLOSE"),onConfirm:S,disabled:m.isPending||u.isPending}),t.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 px-2.5 py-1",children:t.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Page Details"})}),t.jsxRuntimeExports.jsx("div",{className:"px-2.5 pt-2",children:t.jsxRuntimeExports.jsxs("div",{className:"flex flex-col space-y-2",children:[t.jsxRuntimeExports.jsx(p.Form,{title:"Basic Details",formData:i,properties:I,onChange:C,disabled:u.isPending||m.isPending}),t.jsxRuntimeExports.jsx("div",{className:"h-2 w-full"}),t.jsxRuntimeExports.jsx(p.Form,{title:"SEO Details",formData:i,properties:T,onChange:C,disabled:u.isPending||m.isPending}),(e==null?void 0:e.homepage)!==s.uuid&&s.type==="STATIC"?t.jsxRuntimeExports.jsx(p.Form,{formData:a,properties:v,onChange:A,disabled:u.isPending||m.isPending}):s.type==="STATIC"&&t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-1 px-1 pt-2 text-xs font-medium text-gray-500",children:[t.jsxRuntimeExports.jsx(M.HomeIcon,{})," This is homepage"," "]}),i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")&&t.jsxRuntimeExports.jsxs("small",{className:"px-1 text-red-400",children:["Add dynamic ID in page slug Eg: ",t.jsxRuntimeExports.jsx("i",{className:"underline",children:"some-url/[some-id]"})]}),t.jsxRuntimeExports.jsxs("div",{className:"my-2 flex w-full items-center justify-between gap-x-2 px-1",children:[t.jsxRuntimeExports.jsx(H.Button,{className:"w-full",type:"submit",onClick:S,disabled:(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage?!1:c.isEmpty(i.name)||c.isEmpty(i.slug)||!j||u.isPending||m.isPending||i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||""),children:"Save"}),t.jsxRuntimeExports.jsx(z,{pageData:s,projectData:e})]})]})})]})};exports.default=Y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./jsx-runtime-5c3ac4f7.cjs"),q=require("react"),c=require("lodash"),M=require("@radix-ui/react-icons"),H=require("./useBuilderProp-5e57d0c8.cjs"),w=require("./scroll-area-088530b9.cjs"),d=require("@chaibuilder/blocks"),L=require("sonner"),p=require("./form-d82a2694.cjs"),P=require("./index-2524cb40.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("./utils-3c452dd0.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("@radix-ui/react-scroll-area");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./link-fcfa7b45.cjs");require("react-icons-picker");require("react-dom");require("./dialog-170eaad9.cjs");require("@radix-ui/react-dialog");require("./ImagesPanel-731cda7a.cjs");require("./tabs-860e37aa.cjs");require("@radix-ui/react-tabs");require("react-quill");require("react-i18next");require("i18next");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("flat-to-nested");require("./html-to-json-78bfa1f3.cjs");require("./MODIFIERS-70fef873.cjs");require("himalaya");require("redux-undo");require("@react-hookz/web");require("lucide-react");const z=q.lazy(()=>Promise.resolve().then(()=>require("./delete-page-modal-d7a7059c.cjs"))),B=q.lazy(()=>Promise.resolve().then(()=>require("./confirm-alert-4f50caa7.cjs"))),E=n=>{if(!c.isString(n)||!(n.includes("/[")&&n.includes("]")))return!1;const s=/^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/,g=/^[a-zA-Z0-9_-]+$/;let e=!0;return n.split("/").forEach(u=>{e&&(u.includes("[[")&&u.includes("]]")?e=/^\[\[\.{3}[a-zA-Z0-9_-]+\]\]$/.test(u):u.includes("[")&&u.includes("]")?e=s.test(u):e=g.test(u))}),e},h=n=>n&&c.isEmpty(n.seoData)?{...n,seoData:{title:"",description:"",image:""}}:n,G=(n,o)=>{const s=!c.isEqual(c.omit(n,["seoData"]),c.omit(o,["seoData"])),g=!c.isEqual(h(o).seoData,h(n).seoData);return s||g},Y=({open:n,setOpen:o,pageData:s})=>{const g=P.useQueryClient(),{data:e}=P.useProject(),u=P.useUpdatePage(),m=P.useUpdateProject("Homepage updated successfully."),[i,b]=q.useState(h(s)),[a,y]=q.useState({isHomePage:(e==null?void 0:e.homepage)===s.uuid}),j=G(i,s);q.useEffect(()=>{const l=!c.isEqual(h(s),i),r=(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage;o(l||r?"PENDING":"OPEN")},[e,s,i,a,o]);const S=()=>{if(j){if(s.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")){n==="ALERT"&&o("PENDING");return}u.mutate(i,{onSuccess:()=>{g.invalidateQueries({refetchType:"active",queryKey:["pages",e==null?void 0:e.uuid]}),o("CLOSE"),L.toast.success("Page updated successfully.")}})}a.isHomePage&&(e==null?void 0:e.homepage)!==s.uuid&&m.mutate({...e,homepage:s==null?void 0:s.uuid},{onSuccess:()=>o("CLOSE")})},C=({formData:l},r)=>{b(f=>{var R,N;if(!r)return f;const x={[r]:l[r]};return r==="name"?x.slug=c.kebabCase((R=l[r])==null?void 0:R.replace(/\d/g,"")):r==="slug"?x.slug=(N=l[r])==null?void 0:N.replace(/\d/g,"").replace(/\s+/g,"").replace("--","-").replace("__","_"):r==="seoData"&&(x.seoData={title:l[r].title||"",description:l[r].description||"",image:l[r].image||""}),{...f,...x}})},A=({formData:l},r)=>{y(f=>{const x={[r]:l[r]};return{...f,...x}})},I={name:d.SingleLineText({title:"Page Name",default:i.name}),slug:d.SingleLineText({title:"Page Slug",default:i.slug})},T={seoData:d.Model({title:"",description:"",default:{title:"",description:"",image:""},properties:{title:d.SingleLineText({title:"Meta Title",default:i.name}),description:d.MultilineText({title:"Meta Description",default:i.slug}),image:d.Image({title:"Social Media Image",default:""})}})},v={isHomePage:d.Checkbox({title:"Set as homepage",default:a.isHomePage})};return t.jsxRuntimeExports.jsxs(w.ScrollArea,{className:"flex h-full select-none flex-col",children:[t.jsxRuntimeExports.jsx(B,{open:n==="ALERT",title:"Do yo want to save changes?",onCancel:()=>o("CLOSE"),onConfirm:S,disabled:m.isPending||u.isPending}),t.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 px-2.5 py-1",children:t.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Page Details"})}),t.jsxRuntimeExports.jsx("div",{className:"px-2.5 pt-2",children:t.jsxRuntimeExports.jsxs("div",{className:"flex flex-col space-y-2",children:[t.jsxRuntimeExports.jsx(p.Form,{title:"Basic Details",formData:i,properties:I,onChange:C,disabled:u.isPending||m.isPending}),t.jsxRuntimeExports.jsx("div",{className:"h-2 w-full"}),t.jsxRuntimeExports.jsx(p.Form,{title:"SEO Details",formData:i,properties:T,onChange:C,disabled:u.isPending||m.isPending}),(e==null?void 0:e.homepage)!==s.uuid&&s.type==="STATIC"?t.jsxRuntimeExports.jsx(p.Form,{formData:a,properties:v,onChange:A,disabled:u.isPending||m.isPending}):s.type==="STATIC"&&t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-1 px-1 pt-2 text-xs font-medium text-gray-500",children:[t.jsxRuntimeExports.jsx(M.HomeIcon,{})," This is homepage"," "]}),i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")&&t.jsxRuntimeExports.jsxs("small",{className:"px-1 text-red-400",children:["Add dynamic ID in page slug Eg: ",t.jsxRuntimeExports.jsx("i",{className:"underline",children:"some-url/[some-id]"})]}),t.jsxRuntimeExports.jsxs("div",{className:"my-2 flex w-full items-center justify-between gap-x-2 px-1",children:[t.jsxRuntimeExports.jsx(H.Button,{className:"w-full",type:"submit",onClick:S,disabled:(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage?!1:c.isEmpty(i.name)||c.isEmpty(i.slug)||!j||u.isPending||m.isPending||i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||""),children:"Save"}),t.jsxRuntimeExports.jsx(z,{pageData:s,projectData:e})]})]})})]})};exports.default=Y;
package/dist/ui.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./toggle-b90fed97.cjs"),i=require("./dropdown-menu-84b2439e.cjs"),m=require("./useBuilderProp-5e57d0c8.cjs"),h=require("./accordion-0afd8143.cjs"),p=require("./textarea-a338ede6.cjs"),r=require("./jsx-runtime-5c3ac4f7.cjs"),N=require("class-variance-authority"),n=require("./utils-3c452dd0.cjs"),g=require("./alert-dialog-4ce6ed22.cjs"),x=require("./dialog-170eaad9.cjs"),te=require("./input-42acea7e.cjs"),oe=require("./label-167415e5.cjs"),D=require("./scroll-area-088530b9.cjs"),M=require("./tabs-860e37aa.cjs"),j=require("./popover-7cb9079b.cjs"),re=require("react"),C=require("@radix-ui/react-icons"),ae=require("@radix-ui/react-menubar"),f=require("./select-0e32300c.cjs"),ne=require("@radix-ui/react-dialog"),se=require("./separator-a597dba7.cjs"),c=require("cmdk"),l=require("./context-menu-fec580f2.cjs"),y=require("./link-8b201d2c.cjs");require("@radix-ui/react-toggle");require("@radix-ui/react-switch");require("@radix-ui/react-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-slot");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("lodash");require("@radix-ui/react-accordion");require("clsx");require("tailwind-merge");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-popover");require("@radix-ui/react-select");require("@radix-ui/react-separator");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("./ImagesPanel-addb2bf9.cjs");require("react-quill");require("react-i18next");function S(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const s=S(re),a=S(ae),u=S(ne),T=N.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),ie=({className:e,variant:t,...o})=>r.jsxRuntimeExports.jsx("div",{className:n.cn(T({variant:t}),e),...o}),de=a.Menu,le=a.Group,ue=a.Portal,ce=a.Sub,me=a.RadioGroup,v=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Root,{ref:o,className:n.cn("flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",e),...t}));v.displayName=a.Root.displayName;const I=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Trigger,{ref:o,className:n.cn("flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",e),...t}));I.displayName=a.Trigger.displayName;const E=s.forwardRef(({className:e,inset:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.SubTrigger,{ref:b,className:n.cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...d,children:[o,r.jsxRuntimeExports.jsx(C.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));E.displayName=a.SubTrigger.displayName;const q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.SubContent,{ref:o,className:n.cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));q.displayName=a.SubContent.displayName;const k=s.forwardRef(({className:e,align:t="start",alignOffset:o=-4,sideOffset:d=8,...b},ee)=>r.jsxRuntimeExports.jsx(a.Portal,{children:r.jsxRuntimeExports.jsx(a.Content,{ref:ee,align:t,alignOffset:o,sideOffset:d,className:n.cn("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...b})}));k.displayName=a.Content.displayName;const A=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Item,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...o}));A.displayName=a.Item.displayName;const P=s.forwardRef(({className:e,children:t,checked:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.CheckboxItem,{ref:b,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...d,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.CheckIcon,{className:"h-4 w-4"})})}),t]}));P.displayName=a.CheckboxItem.displayName;const _=s.forwardRef(({className:e,children:t,...o},d)=>r.jsxRuntimeExports.jsxs(a.RadioItem,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.DotFilledIcon,{className:"h-4 w-4 fill-current"})})}),t]}));_.displayName=a.RadioItem.displayName;const G=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Label,{ref:d,className:n.cn("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...o}));G.displayName=a.Label.displayName;const L=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Separator,{ref:o,className:n.cn("-mx-1 my-1 h-px bg-muted",e),...t}));L.displayName=a.Separator.displayName;const F=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});F.displayname="MenubarShortcut";const pe=u.Root,xe=u.Trigger,ge=u.Close,H=({className:e,...t})=>r.jsxRuntimeExports.jsx(u.Portal,{className:n.cn(e),...t});H.displayName=u.Portal.displayName;const V=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Overlay,{className:n.cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:o}));V.displayName=u.Overlay.displayName;const fe=N.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),z=s.forwardRef(({side:e="right",className:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(H,{children:[r.jsxRuntimeExports.jsx(V,{}),r.jsxRuntimeExports.jsxs(u.Content,{ref:b,className:n.cn(fe({side:e}),t),...d,children:[o,r.jsxRuntimeExports.jsxs(u.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[r.jsxRuntimeExports.jsx(C.Cross2Icon,{className:"h-4 w-4"}),r.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));z.displayName=u.Content.displayName;const O=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col space-y-2 text-center sm:text-left",e),...t});O.displayName="SheetHeader";const B=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});B.displayName="SheetFooter";const J=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Title,{ref:o,className:n.cn("text-lg font-semibold text-foreground",e),...t}));J.displayName=u.Title.displayName;const K=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Description,{ref:o,className:n.cn("text-sm text-muted-foreground",e),...t}));K.displayName=u.Description.displayName;const w=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command,{ref:o,className:n.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));w.displayName=c.Command.displayName;const be=({children:e,...t})=>r.jsxRuntimeExports.jsx(x.Dialog,{...t,children:r.jsxRuntimeExports.jsx(x.DialogContent,{className:"overflow-hidden p-0",children:r.jsxRuntimeExports.jsx(w,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),Q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[r.jsxRuntimeExports.jsx(C.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),r.jsxRuntimeExports.jsx(c.Command.Input,{ref:o,className:n.cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Q.displayName=c.Command.Input.displayName;const U=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.List,{ref:o,className:n.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));U.displayName=c.Command.List.displayName;const W=s.forwardRef((e,t)=>r.jsxRuntimeExports.jsx(c.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));W.displayName=c.Command.Empty.displayName;const X=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Group,{ref:o,className:n.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));X.displayName=c.Command.Group.displayName;const Y=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Separator,{ref:o,className:n.cn("-mx-1 h-px bg-border",e),...t}));Y.displayName=c.Command.Separator.displayName;const Z=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Item,{ref:o,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));Z.displayName=c.Command.Item.displayName;const $=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});$.displayName="CommandShortcut";exports.Toggle=R.Toggle;exports.toggleVariants=R.toggleVariants;exports.DropdownMenu=i.DropdownMenu;exports.DropdownMenuCheckboxItem=i.DropdownMenuCheckboxItem;exports.DropdownMenuContent=i.DropdownMenuContent;exports.DropdownMenuGroup=i.DropdownMenuGroup;exports.DropdownMenuItem=i.DropdownMenuItem;exports.DropdownMenuLabel=i.DropdownMenuLabel;exports.DropdownMenuPortal=i.DropdownMenuPortal;exports.DropdownMenuRadioGroup=i.DropdownMenuRadioGroup;exports.DropdownMenuRadioItem=i.DropdownMenuRadioItem;exports.DropdownMenuSeparator=i.DropdownMenuSeparator;exports.DropdownMenuShortcut=i.DropdownMenuShortcut;exports.DropdownMenuSub=i.DropdownMenuSub;exports.DropdownMenuSubContent=i.DropdownMenuSubContent;exports.DropdownMenuSubTrigger=i.DropdownMenuSubTrigger;exports.DropdownMenuTrigger=i.DropdownMenuTrigger;exports.HoverCard=i.HoverCard;exports.HoverCardContent=i.HoverCardContent;exports.HoverCardTrigger=i.HoverCardTrigger;exports.Switch=i.Switch;exports.Button=m.Button;exports.Skeleton=m.Skeleton;exports.Toaster=m.Toaster;exports.Tooltip=m.Tooltip;exports.TooltipContent=m.TooltipContent;exports.TooltipPortal=m.TooltipPortal;exports.TooltipProvider=m.TooltipProvider;exports.TooltipTrigger=m.TooltipTrigger;exports.buttonVariants=m.buttonVariants;exports.reducer=m.reducer;exports.toast=m.toast;exports.useToast=m.useToast;exports.Accordion=h.Accordion;exports.AccordionContent=h.AccordionContent;exports.AccordionItem=h.AccordionItem;exports.AccordionTrigger=h.AccordionTrigger;exports.Alert=p.Alert;exports.AlertDescription=p.AlertDescription;exports.AlertTitle=p.AlertTitle;exports.Card=p.Card;exports.CardContent=p.CardContent;exports.CardDescription=p.CardDescription;exports.CardFooter=p.CardFooter;exports.CardHeader=p.CardHeader;exports.CardTitle=p.CardTitle;exports.Textarea=p.Textarea;exports.AlertDialog=g.AlertDialog;exports.AlertDialogAction=g.AlertDialogAction;exports.AlertDialogCancel=g.AlertDialogCancel;exports.AlertDialogContent=g.AlertDialogContent;exports.AlertDialogDescription=g.AlertDialogDescription;exports.AlertDialogFooter=g.AlertDialogFooter;exports.AlertDialogHeader=g.AlertDialogHeader;exports.AlertDialogTitle=g.AlertDialogTitle;exports.AlertDialogTrigger=g.AlertDialogTrigger;exports.Dialog=x.Dialog;exports.DialogContent=x.DialogContent;exports.DialogDescription=x.DialogDescription;exports.DialogFooter=x.DialogFooter;exports.DialogHeader=x.DialogHeader;exports.DialogTitle=x.DialogTitle;exports.DialogTrigger=x.DialogTrigger;exports.Input=te.Input;exports.Label=oe.Label;exports.ScrollArea=D.ScrollArea;exports.ScrollBar=D.ScrollBar;exports.Tabs=M.Tabs;exports.TabsContent=M.TabsContent;exports.TabsList=M.TabsList;exports.TabsTrigger=M.TabsTrigger;exports.Popover=j.Popover;exports.PopoverContent=j.PopoverContent;exports.PopoverTrigger=j.PopoverTrigger;exports.Select=f.Select;exports.SelectContent=f.SelectContent;exports.SelectGroup=f.SelectGroup;exports.SelectItem=f.SelectItem;exports.SelectLabel=f.SelectLabel;exports.SelectSeparator=f.SelectSeparator;exports.SelectTrigger=f.SelectTrigger;exports.SelectValue=f.SelectValue;exports.Separator=se.Separator;exports.ContextMenu=l.ContextMenu;exports.ContextMenuCheckboxItem=l.ContextMenuCheckboxItem;exports.ContextMenuContent=l.ContextMenuContent;exports.ContextMenuGroup=l.ContextMenuGroup;exports.ContextMenuItem=l.ContextMenuItem;exports.ContextMenuLabel=l.ContextMenuLabel;exports.ContextMenuPortal=l.ContextMenuPortal;exports.ContextMenuRadioGroup=l.ContextMenuRadioGroup;exports.ContextMenuRadioItem=l.ContextMenuRadioItem;exports.ContextMenuSeparator=l.ContextMenuSeparator;exports.ContextMenuShortcut=l.ContextMenuShortcut;exports.ContextMenuSub=l.ContextMenuSub;exports.ContextMenuSubContent=l.ContextMenuSubContent;exports.ContextMenuSubTrigger=l.ContextMenuSubTrigger;exports.ContextMenuTrigger=l.ContextMenuTrigger;exports.IconPickerField=y.IconPickerField;exports.ImagePickerField=y.ImagePickerField;exports.LinkField=y.LinkField;exports.RTEField=y.RichTextEditorField;exports.Badge=ie;exports.Command=w;exports.CommandDialog=be;exports.CommandEmpty=W;exports.CommandGroup=X;exports.CommandInput=Q;exports.CommandItem=Z;exports.CommandList=U;exports.CommandSeparator=Y;exports.CommandShortcut=$;exports.Menubar=v;exports.MenubarCheckboxItem=P;exports.MenubarContent=k;exports.MenubarGroup=le;exports.MenubarItem=A;exports.MenubarLabel=G;exports.MenubarMenu=de;exports.MenubarPortal=ue;exports.MenubarRadioGroup=me;exports.MenubarRadioItem=_;exports.MenubarSeparator=L;exports.MenubarShortcut=F;exports.MenubarSub=ce;exports.MenubarSubContent=q;exports.MenubarSubTrigger=E;exports.MenubarTrigger=I;exports.Sheet=pe;exports.SheetClose=ge;exports.SheetContent=z;exports.SheetDescription=K;exports.SheetFooter=B;exports.SheetHeader=O;exports.SheetTitle=J;exports.SheetTrigger=xe;exports.badgeVariants=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./toggle-b90fed97.cjs"),i=require("./dropdown-menu-84b2439e.cjs"),m=require("./useBuilderProp-5e57d0c8.cjs"),h=require("./accordion-0afd8143.cjs"),p=require("./textarea-a338ede6.cjs"),r=require("./jsx-runtime-5c3ac4f7.cjs"),N=require("class-variance-authority"),n=require("./utils-3c452dd0.cjs"),g=require("./alert-dialog-4ce6ed22.cjs"),x=require("./dialog-170eaad9.cjs"),te=require("./input-42acea7e.cjs"),oe=require("./label-167415e5.cjs"),D=require("./scroll-area-088530b9.cjs"),M=require("./tabs-860e37aa.cjs"),j=require("./popover-7cb9079b.cjs"),re=require("react"),C=require("@radix-ui/react-icons"),ae=require("@radix-ui/react-menubar"),f=require("./select-0e32300c.cjs"),ne=require("@radix-ui/react-dialog"),se=require("./separator-a597dba7.cjs"),c=require("cmdk"),l=require("./context-menu-fec580f2.cjs"),y=require("./link-fcfa7b45.cjs");require("@radix-ui/react-toggle");require("@radix-ui/react-switch");require("@radix-ui/react-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-slot");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("lodash");require("@radix-ui/react-accordion");require("clsx");require("tailwind-merge");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-popover");require("@radix-ui/react-select");require("@radix-ui/react-separator");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("./ImagesPanel-731cda7a.cjs");require("react-quill");require("react-i18next");function S(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const s=S(re),a=S(ae),u=S(ne),T=N.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),ie=({className:e,variant:t,...o})=>r.jsxRuntimeExports.jsx("div",{className:n.cn(T({variant:t}),e),...o}),de=a.Menu,le=a.Group,ue=a.Portal,ce=a.Sub,me=a.RadioGroup,v=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Root,{ref:o,className:n.cn("flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",e),...t}));v.displayName=a.Root.displayName;const I=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Trigger,{ref:o,className:n.cn("flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",e),...t}));I.displayName=a.Trigger.displayName;const E=s.forwardRef(({className:e,inset:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.SubTrigger,{ref:b,className:n.cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...d,children:[o,r.jsxRuntimeExports.jsx(C.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));E.displayName=a.SubTrigger.displayName;const q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.SubContent,{ref:o,className:n.cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));q.displayName=a.SubContent.displayName;const k=s.forwardRef(({className:e,align:t="start",alignOffset:o=-4,sideOffset:d=8,...b},ee)=>r.jsxRuntimeExports.jsx(a.Portal,{children:r.jsxRuntimeExports.jsx(a.Content,{ref:ee,align:t,alignOffset:o,sideOffset:d,className:n.cn("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...b})}));k.displayName=a.Content.displayName;const A=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Item,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...o}));A.displayName=a.Item.displayName;const P=s.forwardRef(({className:e,children:t,checked:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.CheckboxItem,{ref:b,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...d,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.CheckIcon,{className:"h-4 w-4"})})}),t]}));P.displayName=a.CheckboxItem.displayName;const _=s.forwardRef(({className:e,children:t,...o},d)=>r.jsxRuntimeExports.jsxs(a.RadioItem,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.DotFilledIcon,{className:"h-4 w-4 fill-current"})})}),t]}));_.displayName=a.RadioItem.displayName;const G=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Label,{ref:d,className:n.cn("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...o}));G.displayName=a.Label.displayName;const L=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Separator,{ref:o,className:n.cn("-mx-1 my-1 h-px bg-muted",e),...t}));L.displayName=a.Separator.displayName;const F=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});F.displayname="MenubarShortcut";const pe=u.Root,xe=u.Trigger,ge=u.Close,H=({className:e,...t})=>r.jsxRuntimeExports.jsx(u.Portal,{className:n.cn(e),...t});H.displayName=u.Portal.displayName;const V=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Overlay,{className:n.cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:o}));V.displayName=u.Overlay.displayName;const fe=N.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),z=s.forwardRef(({side:e="right",className:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(H,{children:[r.jsxRuntimeExports.jsx(V,{}),r.jsxRuntimeExports.jsxs(u.Content,{ref:b,className:n.cn(fe({side:e}),t),...d,children:[o,r.jsxRuntimeExports.jsxs(u.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[r.jsxRuntimeExports.jsx(C.Cross2Icon,{className:"h-4 w-4"}),r.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));z.displayName=u.Content.displayName;const O=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col space-y-2 text-center sm:text-left",e),...t});O.displayName="SheetHeader";const B=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});B.displayName="SheetFooter";const J=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Title,{ref:o,className:n.cn("text-lg font-semibold text-foreground",e),...t}));J.displayName=u.Title.displayName;const K=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Description,{ref:o,className:n.cn("text-sm text-muted-foreground",e),...t}));K.displayName=u.Description.displayName;const w=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command,{ref:o,className:n.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));w.displayName=c.Command.displayName;const be=({children:e,...t})=>r.jsxRuntimeExports.jsx(x.Dialog,{...t,children:r.jsxRuntimeExports.jsx(x.DialogContent,{className:"overflow-hidden p-0",children:r.jsxRuntimeExports.jsx(w,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),Q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[r.jsxRuntimeExports.jsx(C.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),r.jsxRuntimeExports.jsx(c.Command.Input,{ref:o,className:n.cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Q.displayName=c.Command.Input.displayName;const U=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.List,{ref:o,className:n.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));U.displayName=c.Command.List.displayName;const W=s.forwardRef((e,t)=>r.jsxRuntimeExports.jsx(c.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));W.displayName=c.Command.Empty.displayName;const X=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Group,{ref:o,className:n.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));X.displayName=c.Command.Group.displayName;const Y=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Separator,{ref:o,className:n.cn("-mx-1 h-px bg-border",e),...t}));Y.displayName=c.Command.Separator.displayName;const Z=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Item,{ref:o,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));Z.displayName=c.Command.Item.displayName;const $=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});$.displayName="CommandShortcut";exports.Toggle=R.Toggle;exports.toggleVariants=R.toggleVariants;exports.DropdownMenu=i.DropdownMenu;exports.DropdownMenuCheckboxItem=i.DropdownMenuCheckboxItem;exports.DropdownMenuContent=i.DropdownMenuContent;exports.DropdownMenuGroup=i.DropdownMenuGroup;exports.DropdownMenuItem=i.DropdownMenuItem;exports.DropdownMenuLabel=i.DropdownMenuLabel;exports.DropdownMenuPortal=i.DropdownMenuPortal;exports.DropdownMenuRadioGroup=i.DropdownMenuRadioGroup;exports.DropdownMenuRadioItem=i.DropdownMenuRadioItem;exports.DropdownMenuSeparator=i.DropdownMenuSeparator;exports.DropdownMenuShortcut=i.DropdownMenuShortcut;exports.DropdownMenuSub=i.DropdownMenuSub;exports.DropdownMenuSubContent=i.DropdownMenuSubContent;exports.DropdownMenuSubTrigger=i.DropdownMenuSubTrigger;exports.DropdownMenuTrigger=i.DropdownMenuTrigger;exports.HoverCard=i.HoverCard;exports.HoverCardContent=i.HoverCardContent;exports.HoverCardTrigger=i.HoverCardTrigger;exports.Switch=i.Switch;exports.Button=m.Button;exports.Skeleton=m.Skeleton;exports.Toaster=m.Toaster;exports.Tooltip=m.Tooltip;exports.TooltipContent=m.TooltipContent;exports.TooltipPortal=m.TooltipPortal;exports.TooltipProvider=m.TooltipProvider;exports.TooltipTrigger=m.TooltipTrigger;exports.buttonVariants=m.buttonVariants;exports.reducer=m.reducer;exports.toast=m.toast;exports.useToast=m.useToast;exports.Accordion=h.Accordion;exports.AccordionContent=h.AccordionContent;exports.AccordionItem=h.AccordionItem;exports.AccordionTrigger=h.AccordionTrigger;exports.Alert=p.Alert;exports.AlertDescription=p.AlertDescription;exports.AlertTitle=p.AlertTitle;exports.Card=p.Card;exports.CardContent=p.CardContent;exports.CardDescription=p.CardDescription;exports.CardFooter=p.CardFooter;exports.CardHeader=p.CardHeader;exports.CardTitle=p.CardTitle;exports.Textarea=p.Textarea;exports.AlertDialog=g.AlertDialog;exports.AlertDialogAction=g.AlertDialogAction;exports.AlertDialogCancel=g.AlertDialogCancel;exports.AlertDialogContent=g.AlertDialogContent;exports.AlertDialogDescription=g.AlertDialogDescription;exports.AlertDialogFooter=g.AlertDialogFooter;exports.AlertDialogHeader=g.AlertDialogHeader;exports.AlertDialogTitle=g.AlertDialogTitle;exports.AlertDialogTrigger=g.AlertDialogTrigger;exports.Dialog=x.Dialog;exports.DialogContent=x.DialogContent;exports.DialogDescription=x.DialogDescription;exports.DialogFooter=x.DialogFooter;exports.DialogHeader=x.DialogHeader;exports.DialogTitle=x.DialogTitle;exports.DialogTrigger=x.DialogTrigger;exports.Input=te.Input;exports.Label=oe.Label;exports.ScrollArea=D.ScrollArea;exports.ScrollBar=D.ScrollBar;exports.Tabs=M.Tabs;exports.TabsContent=M.TabsContent;exports.TabsList=M.TabsList;exports.TabsTrigger=M.TabsTrigger;exports.Popover=j.Popover;exports.PopoverContent=j.PopoverContent;exports.PopoverTrigger=j.PopoverTrigger;exports.Select=f.Select;exports.SelectContent=f.SelectContent;exports.SelectGroup=f.SelectGroup;exports.SelectItem=f.SelectItem;exports.SelectLabel=f.SelectLabel;exports.SelectSeparator=f.SelectSeparator;exports.SelectTrigger=f.SelectTrigger;exports.SelectValue=f.SelectValue;exports.Separator=se.Separator;exports.ContextMenu=l.ContextMenu;exports.ContextMenuCheckboxItem=l.ContextMenuCheckboxItem;exports.ContextMenuContent=l.ContextMenuContent;exports.ContextMenuGroup=l.ContextMenuGroup;exports.ContextMenuItem=l.ContextMenuItem;exports.ContextMenuLabel=l.ContextMenuLabel;exports.ContextMenuPortal=l.ContextMenuPortal;exports.ContextMenuRadioGroup=l.ContextMenuRadioGroup;exports.ContextMenuRadioItem=l.ContextMenuRadioItem;exports.ContextMenuSeparator=l.ContextMenuSeparator;exports.ContextMenuShortcut=l.ContextMenuShortcut;exports.ContextMenuSub=l.ContextMenuSub;exports.ContextMenuSubContent=l.ContextMenuSubContent;exports.ContextMenuSubTrigger=l.ContextMenuSubTrigger;exports.ContextMenuTrigger=l.ContextMenuTrigger;exports.IconPickerField=y.IconPickerField;exports.ImagePickerField=y.ImagePickerField;exports.LinkField=y.LinkField;exports.RTEField=y.RichTextEditorField;exports.Badge=ie;exports.Command=w;exports.CommandDialog=be;exports.CommandEmpty=W;exports.CommandGroup=X;exports.CommandInput=Q;exports.CommandItem=Z;exports.CommandList=U;exports.CommandSeparator=Y;exports.CommandShortcut=$;exports.Menubar=v;exports.MenubarCheckboxItem=P;exports.MenubarContent=k;exports.MenubarGroup=le;exports.MenubarItem=A;exports.MenubarLabel=G;exports.MenubarMenu=de;exports.MenubarPortal=ue;exports.MenubarRadioGroup=me;exports.MenubarRadioItem=_;exports.MenubarSeparator=L;exports.MenubarShortcut=F;exports.MenubarSub=ce;exports.MenubarSubContent=q;exports.MenubarSubTrigger=E;exports.MenubarTrigger=I;exports.Sheet=pe;exports.SheetClose=ge;exports.SheetContent=z;exports.SheetDescription=K;exports.SheetFooter=B;exports.SheetHeader=O;exports.SheetTitle=J;exports.SheetTrigger=xe;exports.badgeVariants=T;