@acmekit/dashboard 2.13.7 → 2.13.9

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 (83) hide show
  1. package/dist/api-key-management-create-VWUERPPB.mjs +170 -0
  2. package/dist/api-key-management-detail-V4ENQHYY.mjs +306 -0
  3. package/dist/api-key-management-edit-R44OHS7B.mjs +106 -0
  4. package/dist/api-key-management-list-K2XPKF5E.mjs +400 -0
  5. package/dist/app.js +16765 -1370
  6. package/dist/app.mjs +786 -1030
  7. package/dist/chunk-22YYMH6M.mjs +382 -0
  8. package/dist/chunk-2U3RK3JG.mjs +474 -0
  9. package/dist/chunk-535OVBXR.mjs +226 -0
  10. package/dist/chunk-774WSTCC.mjs +19 -0
  11. package/dist/chunk-C76H5USB.mjs +16 -0
  12. package/dist/chunk-DFFLVEZ5.mjs +40 -0
  13. package/dist/chunk-DN3MIYQH.mjs +140 -0
  14. package/dist/chunk-DQCEH3X2.mjs +28 -0
  15. package/dist/chunk-DTY37DDZ.mjs +20 -0
  16. package/dist/chunk-EFRMWHRX.mjs +84 -0
  17. package/dist/chunk-FXYH54JP.mjs +16 -0
  18. package/dist/chunk-G22WWLPG.mjs +44 -0
  19. package/dist/chunk-G2VJOHHV.mjs +32 -0
  20. package/dist/chunk-GBFVWROS.mjs +58 -0
  21. package/dist/chunk-ITNQKZQQ.mjs +142 -0
  22. package/dist/chunk-IUCDCPJU.mjs +0 -0
  23. package/dist/chunk-LKWTBYYC.mjs +35 -0
  24. package/dist/{chunk-4VYJHIB3.mjs → chunk-ND3ODI36.mjs} +0 -72
  25. package/dist/chunk-OAHCJFG3.mjs +17 -0
  26. package/dist/chunk-RPAL6FHW.mjs +73 -0
  27. package/dist/{chunk-JSJZMTQG.mjs → chunk-RREPQMYC.mjs} +14 -41
  28. package/dist/chunk-S3REQHPQ.mjs +86 -0
  29. package/dist/chunk-S4DMV3ZT.mjs +35 -0
  30. package/dist/chunk-ST2YB7JN.mjs +74 -0
  31. package/dist/chunk-TCNCAWYD.mjs +9 -0
  32. package/dist/chunk-ULSPL3DR.mjs +126 -0
  33. package/dist/chunk-WILMJYUB.mjs +35 -0
  34. package/dist/chunk-XIM7X4FB.mjs +83 -0
  35. package/dist/chunk-YLPAZ2DP.mjs +1837 -0
  36. package/dist/chunk-YRWSG3YM.mjs +80 -0
  37. package/dist/{invite-S5USGDOZ.mjs → invite-XGPZZBUP.mjs} +15 -7
  38. package/dist/{login-AIMR26AL.mjs → login-GNP3QIPI.mjs} +25 -12
  39. package/dist/profile-detail-YX27F7N6.mjs +96 -0
  40. package/dist/profile-edit-2VRDU75O.mjs +173 -0
  41. package/dist/{reset-password-UQPRHMB3.mjs → reset-password-TWRNZO6Z.mjs} +7 -3
  42. package/dist/settings-3XWLL5LG.mjs +545 -0
  43. package/dist/translation-list-CCEQJNED.mjs +581 -0
  44. package/dist/translations-edit-E57GVUFV.mjs +5376 -0
  45. package/dist/user-detail-KUSRRVNX.mjs +169 -0
  46. package/dist/user-edit-HTN3ZGCL.mjs +114 -0
  47. package/dist/user-invite-E3FAAU3V.mjs +361 -0
  48. package/dist/user-list-KNJ5S3IM.mjs +1116 -0
  49. package/dist/user-metadata-5GQK75DT.mjs +425 -0
  50. package/dist/workflow-execution-detail-LZXCRVNC.mjs +819 -0
  51. package/dist/workflow-execution-list-HQ3V6TML.mjs +175 -0
  52. package/package.json +9 -9
  53. package/src/components/layout/settings-layout/settings-layout.tsx +8 -2
  54. package/src/dashboard-app/routes/get-route.map.tsx +1 -14
  55. package/src/hooks/api/api-keys.tsx +0 -49
  56. package/src/hooks/api/index.ts +0 -1
  57. package/src/providers/keybind-provider/hooks.tsx +0 -145
  58. package/src/routes/translations/translation-list/translation-list.tsx +10 -21
  59. package/src/routes/translations/translations-edit/translations-edit.tsx +14 -11
  60. package/src/vite-env.d.ts +3 -1
  61. package/dist/chunk-FBTP4AJM.mjs +0 -221
  62. package/dist/chunk-QYOO4QR6.mjs +0 -73
  63. package/src/components/data-table/helpers/sales-channels/index.ts +0 -4
  64. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-columns.tsx +0 -61
  65. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-empty-state.tsx +0 -22
  66. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-filters.tsx +0 -33
  67. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-query.tsx +0 -30
  68. package/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx +0 -206
  69. package/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/index.ts +0 -1
  70. package/src/routes/store/common/hooks/use-currencies-table-columns.tsx +0 -29
  71. package/src/routes/store/common/hooks/use-currencies-table-query.tsx +0 -21
  72. package/src/routes/store/common/hooks/use-locales-table-columns.tsx +0 -29
  73. package/src/routes/store/common/hooks/use-locales-table-query.tsx +0 -21
  74. package/src/routes/store/store-detail/components/store-general-section/index.ts +0 -1
  75. package/src/routes/store/store-detail/components/store-general-section/store-general-section.tsx +0 -48
  76. package/src/routes/store/store-detail/index.ts +0 -2
  77. package/src/routes/store/store-detail/loader.ts +0 -18
  78. package/src/routes/store/store-detail/store-detail.tsx +0 -42
  79. package/src/routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +0 -83
  80. package/src/routes/store/store-edit/index.ts +0 -1
  81. package/src/routes/store/store-edit/store-edit.tsx +0 -25
  82. package/src/routes/store/store-metadata/index.ts +0 -1
  83. package/src/routes/store/store-metadata/store-metadata.tsx +0 -24
@@ -0,0 +1,382 @@
1
+ // src/components/layout/pages/single-column-page/single-column-page.tsx
2
+ import { Outlet } from "react-router-dom";
3
+
4
+ // src/components/common/json-view-section/json-view-section.tsx
5
+ import {
6
+ ArrowUpRightOnBox,
7
+ Check,
8
+ SquareTwoStack,
9
+ TriangleDownMini,
10
+ XMarkMini
11
+ } from "@acmekit/icons";
12
+ import {
13
+ Badge,
14
+ Container,
15
+ Drawer,
16
+ Heading,
17
+ IconButton,
18
+ Kbd
19
+ } from "@acmekit/ui";
20
+ import Primitive from "@uiw/react-json-view";
21
+ import { Suspense, useState } from "react";
22
+ import { Trans, useTranslation } from "react-i18next";
23
+ import { jsx, jsxs } from "react/jsx-runtime";
24
+ var JsonViewSection = ({ data }) => {
25
+ const { t } = useTranslation();
26
+ const numberOfKeys = Object.keys(data).length;
27
+ return /* @__PURE__ */ jsxs(Container, { className: "flex items-center justify-between px-6 py-4", children: [
28
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-4", children: [
29
+ /* @__PURE__ */ jsx(Heading, { level: "h2", children: t("json.header") }),
30
+ /* @__PURE__ */ jsx(Badge, { size: "2xsmall", rounded: "full", children: t("json.numberOfKeys", {
31
+ count: numberOfKeys
32
+ }) })
33
+ ] }),
34
+ /* @__PURE__ */ jsxs(Drawer, { children: [
35
+ /* @__PURE__ */ jsx(Drawer.Trigger, { asChild: true, children: /* @__PURE__ */ jsx(
36
+ IconButton,
37
+ {
38
+ size: "small",
39
+ variant: "transparent",
40
+ className: "text-ui-fg-muted hover:text-ui-fg-subtle",
41
+ children: /* @__PURE__ */ jsx(ArrowUpRightOnBox, {})
42
+ }
43
+ ) }),
44
+ /* @__PURE__ */ jsxs(
45
+ Drawer.Content,
46
+ {
47
+ dir: "ltr",
48
+ className: "bg-ui-contrast-bg-base text-ui-code-fg-subtle !shadow-elevation-commandbar overflow-hidden border border-none max-md:inset-x-2 max-md:max-w-[calc(100%-16px)]",
49
+ children: [
50
+ /* @__PURE__ */ jsxs("div", { className: "bg-ui-code-bg-base flex items-center justify-between px-6 py-4", children: [
51
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-4", children: [
52
+ /* @__PURE__ */ jsx(Drawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { className: "text-ui-contrast-fg-primary", children: /* @__PURE__ */ jsx(
53
+ Trans,
54
+ {
55
+ i18nKey: "json.drawer.header",
56
+ count: numberOfKeys,
57
+ components: [
58
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-subtle" }, "count-span")
59
+ ]
60
+ }
61
+ ) }) }),
62
+ /* @__PURE__ */ jsx(Drawer.Description, { className: "sr-only", children: t("json.drawer.description") })
63
+ ] }),
64
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
65
+ /* @__PURE__ */ jsx(Kbd, { className: "bg-ui-contrast-bg-subtle border-ui-contrast-border-base text-ui-contrast-fg-secondary", children: "esc" }),
66
+ /* @__PURE__ */ jsx(Drawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(
67
+ IconButton,
68
+ {
69
+ size: "small",
70
+ variant: "transparent",
71
+ className: "text-ui-contrast-fg-secondary hover:text-ui-contrast-fg-primary hover:bg-ui-contrast-bg-base-hover active:bg-ui-contrast-bg-base-pressed focus-visible:bg-ui-contrast-bg-base-hover focus-visible:shadow-borders-interactive-with-active",
72
+ children: /* @__PURE__ */ jsx(XMarkMini, {})
73
+ }
74
+ ) })
75
+ ] })
76
+ ] }),
77
+ /* @__PURE__ */ jsx(Drawer.Body, { className: "flex flex-1 flex-col overflow-hidden px-[5px] py-0 pb-[5px]", children: /* @__PURE__ */ jsx("div", { className: "bg-ui-contrast-bg-subtle flex-1 overflow-auto rounded-b-[4px] rounded-t-lg p-3", children: /* @__PURE__ */ jsx(
78
+ Suspense,
79
+ {
80
+ fallback: /* @__PURE__ */ jsx("div", { className: "flex size-full flex-col" }),
81
+ children: /* @__PURE__ */ jsxs(
82
+ Primitive,
83
+ {
84
+ value: data,
85
+ displayDataTypes: false,
86
+ style: {
87
+ "--w-rjv-font-family": "Roboto Mono, monospace",
88
+ "--w-rjv-line-color": "var(--contrast-border-base)",
89
+ "--w-rjv-curlybraces-color": "var(--contrast-fg-secondary)",
90
+ "--w-rjv-brackets-color": "var(--contrast-fg-secondary)",
91
+ "--w-rjv-key-string": "var(--contrast-fg-primary)",
92
+ "--w-rjv-info-color": "var(--contrast-fg-secondary)",
93
+ "--w-rjv-type-string-color": "var(--tag-green-icon)",
94
+ "--w-rjv-quotes-string-color": "var(--tag-green-icon)",
95
+ "--w-rjv-type-boolean-color": "var(--tag-orange-icon)",
96
+ "--w-rjv-type-int-color": "var(--tag-orange-icon)",
97
+ "--w-rjv-type-float-color": "var(--tag-orange-icon)",
98
+ "--w-rjv-type-bigint-color": "var(--tag-orange-icon)",
99
+ "--w-rjv-key-number": "var(--contrast-fg-secondary)",
100
+ "--w-rjv-arrow-color": "var(--contrast-fg-secondary)",
101
+ "--w-rjv-copied-color": "var(--contrast-fg-secondary)",
102
+ "--w-rjv-copied-success-color": "var(--contrast-fg-primary)",
103
+ "--w-rjv-colon-color": "var(--contrast-fg-primary)",
104
+ "--w-rjv-ellipsis-color": "var(--contrast-fg-secondary)"
105
+ },
106
+ collapsed: 1,
107
+ children: [
108
+ /* @__PURE__ */ jsx(Primitive.Quote, { render: () => /* @__PURE__ */ jsx("span", {}) }),
109
+ /* @__PURE__ */ jsx(
110
+ Primitive.Null,
111
+ {
112
+ render: () => /* @__PURE__ */ jsx("span", { className: "text-ui-tag-red-icon", children: "null" })
113
+ }
114
+ ),
115
+ /* @__PURE__ */ jsx(
116
+ Primitive.Undefined,
117
+ {
118
+ render: () => /* @__PURE__ */ jsx("span", { className: "text-ui-tag-blue-icon", children: "undefined" })
119
+ }
120
+ ),
121
+ /* @__PURE__ */ jsx(
122
+ Primitive.CountInfo,
123
+ {
124
+ render: (_props, { value }) => {
125
+ return /* @__PURE__ */ jsx("span", { className: "text-ui-contrast-fg-secondary ml-2", children: t("general.items", {
126
+ count: Object.keys(value).length
127
+ }) });
128
+ }
129
+ }
130
+ ),
131
+ /* @__PURE__ */ jsx(Primitive.Arrow, { children: /* @__PURE__ */ jsx(TriangleDownMini, { className: "text-ui-contrast-fg-secondary -ml-[0.5px]" }) }),
132
+ /* @__PURE__ */ jsx(Primitive.Colon, { children: /* @__PURE__ */ jsx("span", { className: "mr-1", children: ":" }) }),
133
+ /* @__PURE__ */ jsx(
134
+ Primitive.Copied,
135
+ {
136
+ render: ({ style }, { value }) => {
137
+ return /* @__PURE__ */ jsx(Copied, { style, value });
138
+ }
139
+ }
140
+ )
141
+ ]
142
+ }
143
+ )
144
+ }
145
+ ) }) })
146
+ ]
147
+ }
148
+ )
149
+ ] })
150
+ ] });
151
+ };
152
+ var Copied = ({ style, value }) => {
153
+ const [copied, setCopied] = useState(false);
154
+ const handler = (e) => {
155
+ e.stopPropagation();
156
+ setCopied(true);
157
+ if (typeof value === "string") {
158
+ navigator.clipboard.writeText(value);
159
+ } else {
160
+ const json = JSON.stringify(value, null, 2);
161
+ navigator.clipboard.writeText(json);
162
+ }
163
+ setTimeout(() => {
164
+ setCopied(false);
165
+ }, 2e3);
166
+ };
167
+ const styl = { whiteSpace: "nowrap", width: "20px" };
168
+ if (copied) {
169
+ return /* @__PURE__ */ jsx("span", { style: { ...style, ...styl }, children: /* @__PURE__ */ jsx(Check, { className: "text-ui-contrast-fg-primary" }) });
170
+ }
171
+ return /* @__PURE__ */ jsx("span", { style: { ...style, ...styl }, onClick: handler, children: /* @__PURE__ */ jsx(SquareTwoStack, { className: "text-ui-contrast-fg-secondary" }) });
172
+ };
173
+
174
+ // src/components/common/metadata-section/metadata-section.tsx
175
+ import { ArrowUpRightOnBox as ArrowUpRightOnBox2 } from "@acmekit/icons";
176
+ import { Badge as Badge2, Container as Container2, Heading as Heading2, IconButton as IconButton2 } from "@acmekit/ui";
177
+ import { useTranslation as useTranslation2 } from "react-i18next";
178
+ import { Link } from "react-router-dom";
179
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
180
+ var MetadataSection = ({
181
+ data,
182
+ href = "metadata/edit"
183
+ }) => {
184
+ const { t } = useTranslation2();
185
+ if (!data) {
186
+ return null;
187
+ }
188
+ if (!("metadata" in data)) {
189
+ return null;
190
+ }
191
+ const numberOfKeys = data.metadata ? Object.keys(data.metadata).length : 0;
192
+ return /* @__PURE__ */ jsxs2(Container2, { className: "flex items-center justify-between", children: [
193
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-3", children: [
194
+ /* @__PURE__ */ jsx2(Heading2, { level: "h2", children: t("metadata.header") }),
195
+ /* @__PURE__ */ jsx2(Badge2, { size: "2xsmall", rounded: "full", children: t("metadata.numberOfKeys", {
196
+ count: numberOfKeys
197
+ }) })
198
+ ] }),
199
+ /* @__PURE__ */ jsx2(
200
+ IconButton2,
201
+ {
202
+ size: "small",
203
+ variant: "transparent",
204
+ className: "text-ui-fg-muted hover:text-ui-fg-subtle",
205
+ asChild: true,
206
+ children: /* @__PURE__ */ jsx2(Link, { to: href, children: /* @__PURE__ */ jsx2(ArrowUpRightOnBox2, {}) })
207
+ }
208
+ )
209
+ ] });
210
+ };
211
+
212
+ // src/components/layout/pages/single-column-page/single-column-page.tsx
213
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
214
+ import { createElement } from "react";
215
+ var SingleColumnPage = ({
216
+ children,
217
+ widgets,
218
+ /**
219
+ * Data of the page which is passed to Widgets, JSON view, and Metadata view.
220
+ */
221
+ data,
222
+ /**
223
+ * Whether the page should render an outlet for children routes. Defaults to true.
224
+ */
225
+ hasOutlet = true,
226
+ /**
227
+ * Whether to show JSON view of the data. Defaults to false.
228
+ */
229
+ showJSON,
230
+ /**
231
+ * Whether to show metadata view of the data. Defaults to false.
232
+ */
233
+ showMetadata
234
+ }) => {
235
+ const { before, after } = widgets;
236
+ const widgetProps = { data };
237
+ if (showJSON && !data) {
238
+ if (process.env.NODE_ENV === "development") {
239
+ console.warn(
240
+ "`showJSON` is true but no data is provided. To display JSON, provide data prop."
241
+ );
242
+ }
243
+ showJSON = false;
244
+ }
245
+ if (showMetadata && !data) {
246
+ if (process.env.NODE_ENV === "development") {
247
+ console.warn(
248
+ "`showMetadata` is true but no data is provided. To display metadata, provide data prop."
249
+ );
250
+ }
251
+ showMetadata = false;
252
+ }
253
+ return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-y-3", children: [
254
+ before.map((Component, i) => {
255
+ return /* @__PURE__ */ createElement(Component, { ...widgetProps, key: i });
256
+ }),
257
+ children,
258
+ after.map((Component, i) => {
259
+ return /* @__PURE__ */ createElement(Component, { ...widgetProps, key: i });
260
+ }),
261
+ showMetadata && /* @__PURE__ */ jsx3(MetadataSection, { data }),
262
+ showJSON && /* @__PURE__ */ jsx3(JsonViewSection, { data }),
263
+ hasOutlet && /* @__PURE__ */ jsx3(Outlet, {})
264
+ ] });
265
+ };
266
+
267
+ // src/components/layout/pages/two-column-page/two-column-page.tsx
268
+ import { clx } from "@acmekit/ui";
269
+ import { Children } from "react";
270
+ import { Outlet as Outlet2 } from "react-router-dom";
271
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
272
+ import { createElement as createElement2 } from "react";
273
+ var Root = ({
274
+ children,
275
+ /**
276
+ * Widgets to be rendered in the main content area and sidebar.
277
+ */
278
+ widgets,
279
+ /**
280
+ * Data to be passed to widgets, JSON view, and Metadata view.
281
+ */
282
+ data,
283
+ /**
284
+ * Whether to show JSON view of the data. Defaults to false.
285
+ */
286
+ showJSON = false,
287
+ /**
288
+ * Whether to show metadata view of the data. Defaults to false.
289
+ */
290
+ showMetadata = false,
291
+ /**
292
+ * Whether to render an outlet for children routes. Defaults to true.
293
+ */
294
+ hasOutlet = true
295
+ }) => {
296
+ const widgetProps = { data };
297
+ const { before, after, sideBefore, sideAfter } = widgets;
298
+ if (showJSON && !data) {
299
+ if (process.env.NODE_ENV === "development") {
300
+ console.warn(
301
+ "`showJSON` is true but no data is provided. To display JSON, provide data prop."
302
+ );
303
+ }
304
+ showJSON = false;
305
+ }
306
+ if (showMetadata && !data) {
307
+ if (process.env.NODE_ENV === "development") {
308
+ console.warn(
309
+ "`showMetadata` is true but no data is provided. To display metadata, provide data prop."
310
+ );
311
+ }
312
+ showMetadata = false;
313
+ }
314
+ const childrenArray = Children.toArray(children);
315
+ if (childrenArray.length !== 2) {
316
+ throw new Error("TwoColumnPage expects exactly two children");
317
+ }
318
+ const [main, sidebar] = childrenArray;
319
+ const showExtraData = showJSON || showMetadata;
320
+ return /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-col gap-y-3", children: [
321
+ before.map((Component, i) => {
322
+ return /* @__PURE__ */ createElement2(Component, { ...widgetProps, key: i });
323
+ }),
324
+ /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-col items-start gap-x-4 gap-y-3 xl:grid xl:grid-cols-[minmax(0,_1fr)_440px]", children: [
325
+ /* @__PURE__ */ jsxs4("div", { className: "flex w-full min-w-0 flex-col gap-y-3", children: [
326
+ main,
327
+ after.map((Component, i) => {
328
+ return /* @__PURE__ */ createElement2(Component, { ...widgetProps, key: i });
329
+ }),
330
+ showExtraData && /* @__PURE__ */ jsxs4("div", { className: "hidden flex-col gap-y-3 xl:flex", children: [
331
+ showMetadata && /* @__PURE__ */ jsx4(MetadataSection, { data }),
332
+ showJSON && /* @__PURE__ */ jsx4(JsonViewSection, { data })
333
+ ] })
334
+ ] }),
335
+ /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-col gap-y-3 xl:mt-0", children: [
336
+ sideBefore.map((Component, i) => {
337
+ return /* @__PURE__ */ createElement2(Component, { ...widgetProps, key: i });
338
+ }),
339
+ sidebar,
340
+ sideAfter.map((Component, i) => {
341
+ return /* @__PURE__ */ createElement2(Component, { ...widgetProps, key: i });
342
+ }),
343
+ showExtraData && /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-y-3 xl:hidden", children: [
344
+ showMetadata && /* @__PURE__ */ jsx4(MetadataSection, { data }),
345
+ showJSON && /* @__PURE__ */ jsx4(JsonViewSection, { data })
346
+ ] })
347
+ ] })
348
+ ] }),
349
+ hasOutlet && /* @__PURE__ */ jsx4(Outlet2, {})
350
+ ] });
351
+ };
352
+ var Main = ({
353
+ children,
354
+ className,
355
+ ...props
356
+ }) => {
357
+ return /* @__PURE__ */ jsx4("div", { className: clx("flex w-full flex-col gap-y-3", className), ...props, children });
358
+ };
359
+ var Sidebar = ({
360
+ children,
361
+ className,
362
+ ...props
363
+ }) => {
364
+ return /* @__PURE__ */ jsx4(
365
+ "div",
366
+ {
367
+ className: clx(
368
+ "flex w-full max-w-[100%] flex-col gap-y-3 xl:mt-0 xl:max-w-[440px]",
369
+ className
370
+ ),
371
+ ...props,
372
+ children
373
+ }
374
+ );
375
+ };
376
+ var TwoColumnPage = Object.assign(Root, { Main, Sidebar });
377
+
378
+ export {
379
+ JsonViewSection,
380
+ SingleColumnPage,
381
+ TwoColumnPage
382
+ };