@duskmoon-dev/components 0.3.0 → 0.3.3

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 (62) hide show
  1. package/README.md +33 -5
  2. package/dist/{chunk-r9wkv7xd.js → chunk-fwjzvsrx.js} +3 -3
  3. package/dist/classes/chat.d.ts +35 -0
  4. package/dist/classes/index.d.ts +2 -0
  5. package/dist/classes/index.js +1282 -1177
  6. package/dist/classes/markdown.d.ts +9 -0
  7. package/dist/components/anchor/index.js +2 -2
  8. package/dist/components/app/index.js +85 -85
  9. package/dist/components/cascader/index.js +2 -2
  10. package/dist/components/chat/Chat.d.ts +14 -0
  11. package/dist/components/chat/Chat.types.d.ts +47 -0
  12. package/dist/components/chat/index.d.ts +2 -0
  13. package/dist/components/chat/index.js +220 -0
  14. package/dist/components/color-picker/index.js +4 -4
  15. package/dist/components/config-provider/index.js +2 -2
  16. package/dist/components/dm-breadcrumb/index.js +18 -18
  17. package/dist/components/dm-date-picker/index.js +94 -94
  18. package/dist/components/dm-drawer/index.js +16 -16
  19. package/dist/components/dm-layout/index.js +189 -189
  20. package/dist/components/dm-menu/index.js +24 -24
  21. package/dist/components/dm-message/index.js +18 -18
  22. package/dist/components/dm-page-header/index.js +158 -158
  23. package/dist/components/dm-pagination/index.js +39 -39
  24. package/dist/components/dm-pro-table/index.js +1558 -1558
  25. package/dist/components/dm-provider/index.js +94 -94
  26. package/dist/components/dm-query/index.js +33 -31
  27. package/dist/components/dm-search/index.js +25 -25
  28. package/dist/components/dm-splitter/index.js +32 -32
  29. package/dist/components/dm-status/index.js +25 -25
  30. package/dist/components/dm-table/index.js +595 -595
  31. package/dist/components/dm-tabs/index.js +34 -34
  32. package/dist/components/dm-toolbar/index.js +23 -23
  33. package/dist/components/dm-tree/index.js +92 -92
  34. package/dist/components/dm-truncate/index.js +33 -33
  35. package/dist/components/dropdown/index.js +83 -83
  36. package/dist/components/form/index.js +2 -2
  37. package/dist/components/grid/index.js +2 -2
  38. package/dist/components/input/index.js +4 -4
  39. package/dist/components/markdown/Markdown.d.ts +3 -0
  40. package/dist/components/markdown/Markdown.types.d.ts +14 -0
  41. package/dist/components/markdown/index.d.ts +2 -0
  42. package/dist/components/markdown/index.js +171 -0
  43. package/dist/components/message/index.js +5 -5
  44. package/dist/components/notification/index.js +2 -2
  45. package/dist/components/popconfirm/index.js +42 -42
  46. package/dist/components/skeleton/index.js +5 -5
  47. package/dist/components/spin/index.js +2 -2
  48. package/dist/components/steps/index.js +2 -2
  49. package/dist/components/table/index.js +2 -2
  50. package/dist/components/tabs/index.js +2 -2
  51. package/dist/components/tag/index.js +2 -2
  52. package/dist/components/tour/index.js +62 -62
  53. package/dist/components/typography/index.js +4 -4
  54. package/dist/components/upload/index.js +5 -5
  55. package/dist/generated/version.d.ts +1 -1
  56. package/dist/index.d.ts +2 -0
  57. package/dist/index.js +1845 -1512
  58. package/dist/infrastructure.js +11 -11
  59. package/dist/styles.css +13457 -9832
  60. package/dist/theme/index.js +3 -3
  61. package/dist/utils/index.js +5 -5
  62. package/package.json +18 -7
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
- // src/components/breadcrumb/Breadcrumb.tsx
4
- import React, { forwardRef } from "react";
3
+ // src/components/dm-layout/DmLayout.tsx
4
+ import { forwardRef as forwardRef6, useEffect as useEffect2, useMemo as useMemo3, useState as useState4 } from "react";
5
5
 
6
6
  // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
7
7
  function r(e) {
@@ -28,6 +28,150 @@ function clsx() {
28
28
  function cn(...inputs) {
29
29
  return clsx(inputs);
30
30
  }
31
+ // src/classes/dm-layout.ts
32
+ var dmLayoutClass = "dm-layout";
33
+ var dmLayoutShellClass = "dm-layout-shell";
34
+ var dmLayoutMainClass = "dm-layout-main";
35
+ var dmLayoutSiderClass = "dm-layout-sider";
36
+ var dmLayoutBodyClass = "dm-layout-body";
37
+ var dmLayoutBreadcrumbClass = "dm-layout-breadcrumb";
38
+ var dmLayoutContentClass = "dm-layout-content";
39
+ var dmLayoutAuxiliaryClass = "dm-layout-auxiliary";
40
+ function getDmLayoutClasses({ className }) {
41
+ return cn(dmLayoutClass, className);
42
+ }
43
+
44
+ // src/components/layout/Layout.tsx
45
+ import { forwardRef, useState } from "react";
46
+
47
+ // src/classes/layout.ts
48
+ var layoutBaseClass = "layout";
49
+ var layoutHasSiderClass = "layout-has-sider";
50
+ var layoutHeaderClass = "layout-header";
51
+ var layoutSiderClass = "layout-sider";
52
+ var layoutSiderCollapsedClass = "layout-sider-collapsed";
53
+ var layoutContentClass = "layout-content";
54
+ var layoutFooterClass = "layout-footer";
55
+ var layoutTriggerClass = "layout-trigger";
56
+ function getLayoutClasses({
57
+ hasSider,
58
+ className
59
+ }) {
60
+ return cn(layoutBaseClass, hasSider && layoutHasSiderClass, className);
61
+ }
62
+ function getLayoutSiderClasses({
63
+ collapsed,
64
+ className
65
+ }) {
66
+ return cn(layoutSiderClass, collapsed && layoutSiderCollapsedClass, className);
67
+ }
68
+
69
+ // src/components/layout/Layout.tsx
70
+ import { jsx, jsxs } from "react/jsx-runtime";
71
+ function toSize(value) {
72
+ return typeof value === "number" ? `${value}px` : value;
73
+ }
74
+ var Header = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
75
+ ...props,
76
+ ref,
77
+ className: cn(layoutHeaderClass, className)
78
+ }));
79
+ Header.displayName = "Layout.Header";
80
+ var Content = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
81
+ ...props,
82
+ ref,
83
+ className: cn(layoutContentClass, className)
84
+ }));
85
+ Content.displayName = "Layout.Content";
86
+ var Footer = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
87
+ ...props,
88
+ ref,
89
+ className: cn(layoutFooterClass, className)
90
+ }));
91
+ Footer.displayName = "Layout.Footer";
92
+ var Sider = forwardRef(({
93
+ children,
94
+ collapsible,
95
+ collapsed,
96
+ defaultCollapsed,
97
+ onCollapse,
98
+ width = 200,
99
+ collapsedWidth = 80,
100
+ trigger,
101
+ breakpoint,
102
+ className,
103
+ style,
104
+ ...props
105
+ }, ref) => {
106
+ const controlled = collapsed !== undefined;
107
+ const [internalCollapsed, setInternalCollapsed] = useState(() => defaultCollapsed ?? false);
108
+ const mergedCollapsed = controlled ? collapsed : internalCollapsed;
109
+ const siderWidth = toSize(mergedCollapsed ? collapsedWidth : width);
110
+ function toggleCollapsed() {
111
+ const nextCollapsed = !mergedCollapsed;
112
+ if (!controlled) {
113
+ setInternalCollapsed(nextCollapsed);
114
+ }
115
+ onCollapse?.(nextCollapsed, "clickTrigger");
116
+ }
117
+ return /* @__PURE__ */ jsxs("div", {
118
+ ...props,
119
+ ref,
120
+ "data-breakpoint": breakpoint,
121
+ className: getLayoutSiderClasses({
122
+ collapsed: mergedCollapsed,
123
+ className
124
+ }),
125
+ style: {
126
+ flex: `0 0 ${siderWidth}`,
127
+ maxWidth: siderWidth,
128
+ minWidth: siderWidth,
129
+ width: siderWidth,
130
+ ...style
131
+ },
132
+ children: [
133
+ children,
134
+ collapsible && trigger !== null ? /* @__PURE__ */ jsx("button", {
135
+ type: "button",
136
+ className: layoutTriggerClass,
137
+ "aria-label": mergedCollapsed ? "Expand sider" : "Collapse sider",
138
+ onClick: toggleCollapsed,
139
+ children: trigger ?? (mergedCollapsed ? ">" : "<")
140
+ }) : null
141
+ ]
142
+ });
143
+ });
144
+ Sider.displayName = "Layout.Sider";
145
+ var LayoutRoot = forwardRef(({ hasSider, className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
146
+ ...props,
147
+ ref,
148
+ className: getLayoutClasses({ hasSider, className })
149
+ }));
150
+ LayoutRoot.displayName = "Layout";
151
+ LayoutRoot.Header = Header;
152
+ LayoutRoot.Sider = Sider;
153
+ LayoutRoot.Content = Content;
154
+ LayoutRoot.Footer = Footer;
155
+ var Layout = LayoutRoot;
156
+ // src/components/dm-breadcrumb/DmBreadcrumb.tsx
157
+ import { forwardRef as forwardRef3, useEffect, useMemo, useState as useState2 } from "react";
158
+
159
+ // src/classes/dm-breadcrumb.ts
160
+ var dmBreadcrumbClass = "dm-breadcrumb";
161
+ var dmBreadcrumbCompactClass = "dm-breadcrumb-compact";
162
+ var dmBreadcrumbRecentClass = "dm-breadcrumb-recent";
163
+ var dmBreadcrumbValueClass = "dm-breadcrumb-value";
164
+ function getDmBreadcrumbClasses({
165
+ compact,
166
+ recent,
167
+ className
168
+ }) {
169
+ return cn(dmBreadcrumbClass, compact && dmBreadcrumbCompactClass, recent && dmBreadcrumbRecentClass, className);
170
+ }
171
+
172
+ // src/components/breadcrumb/Breadcrumb.tsx
173
+ import React2, { forwardRef as forwardRef2 } from "react";
174
+
31
175
  // src/classes/breadcrumb.ts
32
176
  var breadcrumbBaseClass = "breadcrumbs";
33
177
  var breadcrumbItemClass = "breadcrumb-item";
@@ -57,7 +201,7 @@ function getBreadcrumbLinkClasses({
57
201
  }
58
202
 
59
203
  // src/components/breadcrumb/Breadcrumb.tsx
60
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
204
+ import { jsx as jsx2, jsxs as jsxs2, Fragment } from "react/jsx-runtime";
61
205
  var defaultSeparator = "/";
62
206
  function isSeparatorItem(item) {
63
207
  return "type" in item && item.type === "separator";
@@ -110,9 +254,9 @@ function activateOnKeyboard(event) {
110
254
  }
111
255
  function renderItemBody(item) {
112
256
  const title = getItemTitle(item);
113
- return /* @__PURE__ */ jsxs(Fragment, {
257
+ return /* @__PURE__ */ jsxs2(Fragment, {
114
258
  children: [
115
- item.icon ? /* @__PURE__ */ jsx("span", {
259
+ item.icon ? /* @__PURE__ */ jsx2("span", {
116
260
  className: breadcrumbIconClass,
117
261
  "aria-hidden": "true",
118
262
  children: item.icon
@@ -159,7 +303,7 @@ function renderMenuItems(menu, items = []) {
159
303
  item.onClick?.(event);
160
304
  menu.onClick?.({ key, item, domEvent: event });
161
305
  }
162
- const content = item.disabled ? /* @__PURE__ */ jsx("span", {
306
+ const content = item.disabled ? /* @__PURE__ */ jsx2("span", {
163
307
  role: "menuitem",
164
308
  "aria-disabled": "true",
165
309
  className: getBreadcrumbLinkClasses({
@@ -167,23 +311,23 @@ function renderMenuItems(menu, items = []) {
167
311
  className: breadcrumbMenuItemClass
168
312
  }),
169
313
  children: label
170
- }) : href ? /* @__PURE__ */ jsx("a", {
314
+ }) : href ? /* @__PURE__ */ jsx2("a", {
171
315
  role: "menuitem",
172
316
  className: cn(breadcrumbMenuItemClass, getBreadcrumbLinkClasses({})),
173
317
  href,
174
318
  onClick: handleClick,
175
319
  children: label
176
- }) : /* @__PURE__ */ jsx("button", {
320
+ }) : /* @__PURE__ */ jsx2("button", {
177
321
  type: "button",
178
322
  role: "menuitem",
179
323
  className: cn(breadcrumbMenuItemClass, getBreadcrumbLinkClasses({})),
180
324
  onClick: handleClick,
181
325
  children: label
182
326
  });
183
- return /* @__PURE__ */ jsxs("li", {
327
+ return /* @__PURE__ */ jsxs2("li", {
184
328
  children: [
185
329
  content,
186
- item.children?.length ? /* @__PURE__ */ jsx("ul", {
330
+ item.children?.length ? /* @__PURE__ */ jsx2("ul", {
187
331
  className: breadcrumbMenuListClass,
188
332
  role: "menu",
189
333
  children: renderMenuItems(menu, item.children)
@@ -199,7 +343,7 @@ function renderDefaultItemContent(item, paths, active) {
199
343
  }
200
344
  const href = item.href ?? (!active ? getHref(item, paths) : undefined);
201
345
  if (href) {
202
- return /* @__PURE__ */ jsx("a", {
346
+ return /* @__PURE__ */ jsx2("a", {
203
347
  className: getBreadcrumbLinkClasses({}),
204
348
  href,
205
349
  onClick: item.onClick,
@@ -207,7 +351,7 @@ function renderDefaultItemContent(item, paths, active) {
207
351
  });
208
352
  }
209
353
  if (item.onClick) {
210
- return /* @__PURE__ */ jsx("span", {
354
+ return /* @__PURE__ */ jsx2("span", {
211
355
  role: "button",
212
356
  tabIndex: 0,
213
357
  className: getBreadcrumbLinkClasses({}),
@@ -219,18 +363,18 @@ function renderDefaultItemContent(item, paths, active) {
219
363
  return body;
220
364
  }
221
365
  function renderMenuItem(item, menu, children, disabled) {
222
- return /* @__PURE__ */ jsxs("details", {
366
+ return /* @__PURE__ */ jsxs2("details", {
223
367
  className: getBreadcrumbItemClasses({
224
368
  disabled,
225
369
  className: cn(breadcrumbMenuClass, item.className)
226
370
  }),
227
371
  "aria-disabled": disabled || undefined,
228
372
  children: [
229
- /* @__PURE__ */ jsx("summary", {
373
+ /* @__PURE__ */ jsx2("summary", {
230
374
  className: getBreadcrumbLinkClasses({ disabled }),
231
375
  children
232
376
  }),
233
- /* @__PURE__ */ jsx("ul", {
377
+ /* @__PURE__ */ jsx2("ul", {
234
378
  className: breadcrumbMenuListClass,
235
379
  role: "menu",
236
380
  children: renderMenuItems(menu, menu.items)
@@ -238,7 +382,7 @@ function renderMenuItem(item, menu, children, disabled) {
238
382
  ]
239
383
  });
240
384
  }
241
- var Breadcrumb = forwardRef(({
385
+ var Breadcrumb = forwardRef2(({
242
386
  items,
243
387
  routes,
244
388
  params = {},
@@ -251,7 +395,7 @@ var Breadcrumb = forwardRef(({
251
395
  }, ref) => {
252
396
  const entries = items ?? routes;
253
397
  if (!entries?.length) {
254
- return /* @__PURE__ */ jsx("nav", {
398
+ return /* @__PURE__ */ jsx2("nav", {
255
399
  ...props,
256
400
  ref,
257
401
  "aria-label": ariaLabel,
@@ -262,7 +406,7 @@ var Breadcrumb = forwardRef(({
262
406
  const routeEntries = entries.filter((item) => !isSeparatorItem(item));
263
407
  let routeIndex = -1;
264
408
  let previousRenderedItemWasSeparator = true;
265
- return /* @__PURE__ */ jsx("nav", {
409
+ return /* @__PURE__ */ jsx2("nav", {
266
410
  ...props,
267
411
  ref,
268
412
  "aria-label": ariaLabel,
@@ -270,7 +414,7 @@ var Breadcrumb = forwardRef(({
270
414
  children: entries.map((entry, index) => {
271
415
  if (isSeparatorItem(entry)) {
272
416
  previousRenderedItemWasSeparator = true;
273
- return /* @__PURE__ */ jsx("span", {
417
+ return /* @__PURE__ */ jsx2("span", {
274
418
  className: cn(breadcrumbSeparatorClass, entry.className),
275
419
  "aria-hidden": "true",
276
420
  children: entry.separator ?? separator
@@ -285,14 +429,14 @@ var Breadcrumb = forwardRef(({
285
429
  const applyActiveClass = active && !itemRender && !entry.href && !entry.onClick;
286
430
  const insertSeparator = !previousRenderedItemWasSeparator;
287
431
  previousRenderedItemWasSeparator = false;
288
- return /* @__PURE__ */ jsxs(React.Fragment, {
432
+ return /* @__PURE__ */ jsxs2(React2.Fragment, {
289
433
  children: [
290
- insertSeparator ? /* @__PURE__ */ jsx("span", {
434
+ insertSeparator ? /* @__PURE__ */ jsx2("span", {
291
435
  className: breadcrumbSeparatorClass,
292
436
  "aria-hidden": "true",
293
437
  children: separator
294
438
  }) : null,
295
- menu?.items?.length ? renderMenuItem(entry, menu, content, entry.disabled) : /* @__PURE__ */ jsx("span", {
439
+ menu?.items?.length ? renderMenuItem(entry, menu, content, entry.disabled) : /* @__PURE__ */ jsx2("span", {
296
440
  className: getBreadcrumbItemClasses({
297
441
  active: applyActiveClass,
298
442
  disabled: entry.disabled,
@@ -309,23 +453,7 @@ var Breadcrumb = forwardRef(({
309
453
  });
310
454
  Breadcrumb.displayName = "Breadcrumb";
311
455
  // src/components/dm-breadcrumb/DmBreadcrumb.tsx
312
- import { forwardRef as forwardRef2, useEffect, useMemo, useState } from "react";
313
-
314
- // src/classes/dm-breadcrumb.ts
315
- var dmBreadcrumbClass = "dm-breadcrumb";
316
- var dmBreadcrumbCompactClass = "dm-breadcrumb-compact";
317
- var dmBreadcrumbRecentClass = "dm-breadcrumb-recent";
318
- var dmBreadcrumbValueClass = "dm-breadcrumb-value";
319
- function getDmBreadcrumbClasses({
320
- compact,
321
- recent,
322
- className
323
- }) {
324
- return cn(dmBreadcrumbClass, compact && dmBreadcrumbCompactClass, recent && dmBreadcrumbRecentClass, className);
325
- }
326
-
327
- // src/components/dm-breadcrumb/DmBreadcrumb.tsx
328
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
456
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
329
457
  var defaultStorageKey = "dm-breadcrumb-history-list";
330
458
  var defaultMaxHistoryLength = 10;
331
459
  function canUseSessionStorage() {
@@ -369,11 +497,11 @@ function resolveRecentUrl(item, history, isStoragePath) {
369
497
  function renderTitle(item, index) {
370
498
  if (item.itemRender)
371
499
  return item.itemRender(item);
372
- return /* @__PURE__ */ jsxs2("span", {
500
+ return /* @__PURE__ */ jsxs3("span", {
373
501
  title: typeof item.title === "string" ? item.title : undefined,
374
502
  children: [
375
503
  item.title,
376
- item.value !== undefined && index > 0 ? /* @__PURE__ */ jsxs2("span", {
504
+ item.value !== undefined && index > 0 ? /* @__PURE__ */ jsxs3("span", {
377
505
  className: dmBreadcrumbValueClass,
378
506
  children: [
379
507
  "(",
@@ -396,7 +524,7 @@ function collapseItems(items, maxVisibleItems) {
396
524
  ...items.slice(-tailCount)
397
525
  ];
398
526
  }
399
- var DmBreadcrumb = forwardRef2(({
527
+ var DmBreadcrumb = forwardRef3(({
400
528
  items,
401
529
  isStoragePath = true,
402
530
  storageKey = defaultStorageKey,
@@ -408,7 +536,7 @@ var DmBreadcrumb = forwardRef2(({
408
536
  separator,
409
537
  ...props
410
538
  }, ref) => {
411
- const [currentHistory, setCurrentHistory] = useState(() => history ?? readHistory(storageKey));
539
+ const [currentHistory, setCurrentHistory] = useState2(() => history ?? readHistory(storageKey));
412
540
  useEffect(() => {
413
541
  if (history) {
414
542
  setCurrentHistory(history);
@@ -442,7 +570,7 @@ var DmBreadcrumb = forwardRef2(({
442
570
  });
443
571
  return collapseItems(mappedItems, maxVisibleItems);
444
572
  }, [currentHistory, isStoragePath, items, maxVisibleItems]);
445
- return /* @__PURE__ */ jsx2(Breadcrumb, {
573
+ return /* @__PURE__ */ jsx3(Breadcrumb, {
446
574
  ...props,
447
575
  ref,
448
576
  items: breadcrumbItems,
@@ -455,118 +583,26 @@ var DmBreadcrumb = forwardRef2(({
455
583
  });
456
584
  });
457
585
  DmBreadcrumb.displayName = "DmBreadcrumb";
458
- // src/components/layout/Layout.tsx
459
- import { forwardRef as forwardRef3, useState as useState2 } from "react";
586
+ // src/components/dm-menu/DmMenu.tsx
587
+ import { forwardRef as forwardRef5, useMemo as useMemo2 } from "react";
460
588
 
461
- // src/classes/layout.ts
462
- var layoutBaseClass = "layout";
463
- var layoutHasSiderClass = "layout-has-sider";
464
- var layoutHeaderClass = "layout-header";
465
- var layoutSiderClass = "layout-sider";
466
- var layoutSiderCollapsedClass = "layout-sider-collapsed";
467
- var layoutContentClass = "layout-content";
468
- var layoutFooterClass = "layout-footer";
469
- var layoutTriggerClass = "layout-trigger";
470
- function getLayoutClasses({
471
- hasSider,
472
- className
473
- }) {
474
- return cn(layoutBaseClass, hasSider && layoutHasSiderClass, className);
475
- }
476
- function getLayoutSiderClasses({
477
- collapsed,
589
+ // src/classes/dm-menu.ts
590
+ var dmMenuClass = "dm-menu";
591
+ var dmMenuNoHeaderClass = "dm-menu-no-header";
592
+ var dmMenuCollapsedClass = "dm-menu-collapsed";
593
+ var dmMenuHeaderClass = "dm-menu-header";
594
+ var dmMenuProductIconClass = "dm-menu-product-icon";
595
+ var dmMenuContentClass = "dm-menu-content";
596
+ var dmMenuFooterClass = "dm-menu-footer";
597
+ var dmMenuCollapseButtonClass = "dm-menu-collapse-button";
598
+ function getDmMenuClasses({
599
+ hideProductHeader,
600
+ inlineCollapsed,
478
601
  className
479
602
  }) {
480
- return cn(layoutSiderClass, collapsed && layoutSiderCollapsedClass, className);
603
+ return cn(dmMenuClass, hideProductHeader && dmMenuNoHeaderClass, inlineCollapsed && dmMenuCollapsedClass, className);
481
604
  }
482
605
 
483
- // src/components/layout/Layout.tsx
484
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
485
- function toSize(value) {
486
- return typeof value === "number" ? `${value}px` : value;
487
- }
488
- var Header = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
489
- ...props,
490
- ref,
491
- className: cn(layoutHeaderClass, className)
492
- }));
493
- Header.displayName = "Layout.Header";
494
- var Content = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
495
- ...props,
496
- ref,
497
- className: cn(layoutContentClass, className)
498
- }));
499
- Content.displayName = "Layout.Content";
500
- var Footer = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
501
- ...props,
502
- ref,
503
- className: cn(layoutFooterClass, className)
504
- }));
505
- Footer.displayName = "Layout.Footer";
506
- var Sider = forwardRef3(({
507
- children,
508
- collapsible,
509
- collapsed,
510
- defaultCollapsed,
511
- onCollapse,
512
- width = 200,
513
- collapsedWidth = 80,
514
- trigger,
515
- breakpoint,
516
- className,
517
- style,
518
- ...props
519
- }, ref) => {
520
- const controlled = collapsed !== undefined;
521
- const [internalCollapsed, setInternalCollapsed] = useState2(() => defaultCollapsed ?? false);
522
- const mergedCollapsed = controlled ? collapsed : internalCollapsed;
523
- const siderWidth = toSize(mergedCollapsed ? collapsedWidth : width);
524
- function toggleCollapsed() {
525
- const nextCollapsed = !mergedCollapsed;
526
- if (!controlled) {
527
- setInternalCollapsed(nextCollapsed);
528
- }
529
- onCollapse?.(nextCollapsed, "clickTrigger");
530
- }
531
- return /* @__PURE__ */ jsxs3("div", {
532
- ...props,
533
- ref,
534
- "data-breakpoint": breakpoint,
535
- className: getLayoutSiderClasses({
536
- collapsed: mergedCollapsed,
537
- className
538
- }),
539
- style: {
540
- flex: `0 0 ${siderWidth}`,
541
- maxWidth: siderWidth,
542
- minWidth: siderWidth,
543
- width: siderWidth,
544
- ...style
545
- },
546
- children: [
547
- children,
548
- collapsible && trigger !== null ? /* @__PURE__ */ jsx3("button", {
549
- type: "button",
550
- className: layoutTriggerClass,
551
- "aria-label": mergedCollapsed ? "Expand sider" : "Collapse sider",
552
- onClick: toggleCollapsed,
553
- children: trigger ?? (mergedCollapsed ? ">" : "<")
554
- }) : null
555
- ]
556
- });
557
- });
558
- Sider.displayName = "Layout.Sider";
559
- var LayoutRoot = forwardRef3(({ hasSider, className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
560
- ...props,
561
- ref,
562
- className: getLayoutClasses({ hasSider, className })
563
- }));
564
- LayoutRoot.displayName = "Layout";
565
- LayoutRoot.Header = Header;
566
- LayoutRoot.Sider = Sider;
567
- LayoutRoot.Content = Content;
568
- LayoutRoot.Footer = Footer;
569
- var Layout = LayoutRoot;
570
606
  // src/components/menu/Menu.tsx
571
607
  import { forwardRef as forwardRef4, useState as useState3 } from "react";
572
608
 
@@ -854,26 +890,6 @@ MenuRoot.Item = MenuItem;
854
890
  MenuRoot.Divider = MenuDivider;
855
891
  MenuRoot.ItemGroup = MenuItemGroup;
856
892
  var Menu = MenuRoot;
857
- // src/components/dm-menu/DmMenu.tsx
858
- import { forwardRef as forwardRef5, useMemo as useMemo2 } from "react";
859
-
860
- // src/classes/dm-menu.ts
861
- var dmMenuClass = "dm-menu";
862
- var dmMenuNoHeaderClass = "dm-menu-no-header";
863
- var dmMenuCollapsedClass = "dm-menu-collapsed";
864
- var dmMenuHeaderClass = "dm-menu-header";
865
- var dmMenuProductIconClass = "dm-menu-product-icon";
866
- var dmMenuContentClass = "dm-menu-content";
867
- var dmMenuFooterClass = "dm-menu-footer";
868
- var dmMenuCollapseButtonClass = "dm-menu-collapse-button";
869
- function getDmMenuClasses({
870
- hideProductHeader,
871
- inlineCollapsed,
872
- className
873
- }) {
874
- return cn(dmMenuClass, hideProductHeader && dmMenuNoHeaderClass, inlineCollapsed && dmMenuCollapsedClass, className);
875
- }
876
-
877
893
  // src/components/dm-menu/DmMenu.tsx
878
894
  import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
879
895
  function getMenuLabel(menu, locale) {
@@ -980,22 +996,6 @@ var DmMenu = forwardRef5(({
980
996
  });
981
997
  });
982
998
  DmMenu.displayName = "DmMenu";
983
- // src/components/dm-layout/DmLayout.tsx
984
- import { forwardRef as forwardRef6, useEffect as useEffect2, useMemo as useMemo3, useState as useState4 } from "react";
985
-
986
- // src/classes/dm-layout.ts
987
- var dmLayoutClass = "dm-layout";
988
- var dmLayoutShellClass = "dm-layout-shell";
989
- var dmLayoutMainClass = "dm-layout-main";
990
- var dmLayoutSiderClass = "dm-layout-sider";
991
- var dmLayoutBodyClass = "dm-layout-body";
992
- var dmLayoutBreadcrumbClass = "dm-layout-breadcrumb";
993
- var dmLayoutContentClass = "dm-layout-content";
994
- var dmLayoutAuxiliaryClass = "dm-layout-auxiliary";
995
- function getDmLayoutClasses({ className }) {
996
- return cn(dmLayoutClass, className);
997
- }
998
-
999
999
  // src/components/dm-layout/DmLayout.tsx
1000
1000
  import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
1001
1001
  function getLabel(menu, locale) {
@@ -1181,6 +1181,6 @@ var DmLayout = forwardRef6(({
1181
1181
  });
1182
1182
  DmLayout.displayName = "DmLayout";
1183
1183
  export {
1184
- deriveDmLayoutSelection,
1185
- DmLayout
1184
+ DmLayout,
1185
+ deriveDmLayoutSelection
1186
1186
  };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
- // src/components/menu/Menu.tsx
4
- import { forwardRef, useState } from "react";
3
+ // src/components/dm-menu/DmMenu.tsx
4
+ import { forwardRef as forwardRef2, useMemo } from "react";
5
5
 
6
6
  // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
7
7
  function r(e) {
@@ -28,6 +28,26 @@ function clsx() {
28
28
  function cn(...inputs) {
29
29
  return clsx(inputs);
30
30
  }
31
+ // src/classes/dm-menu.ts
32
+ var dmMenuClass = "dm-menu";
33
+ var dmMenuNoHeaderClass = "dm-menu-no-header";
34
+ var dmMenuCollapsedClass = "dm-menu-collapsed";
35
+ var dmMenuHeaderClass = "dm-menu-header";
36
+ var dmMenuProductIconClass = "dm-menu-product-icon";
37
+ var dmMenuContentClass = "dm-menu-content";
38
+ var dmMenuFooterClass = "dm-menu-footer";
39
+ var dmMenuCollapseButtonClass = "dm-menu-collapse-button";
40
+ function getDmMenuClasses({
41
+ hideProductHeader,
42
+ inlineCollapsed,
43
+ className
44
+ }) {
45
+ return cn(dmMenuClass, hideProductHeader && dmMenuNoHeaderClass, inlineCollapsed && dmMenuCollapsedClass, className);
46
+ }
47
+
48
+ // src/components/menu/Menu.tsx
49
+ import { forwardRef, useState } from "react";
50
+
31
51
  // src/classes/menu.ts
32
52
  var menuBaseClass = "menu";
33
53
  var menuShowClass = "menu-show";
@@ -312,26 +332,6 @@ MenuRoot.Item = MenuItem;
312
332
  MenuRoot.Divider = MenuDivider;
313
333
  MenuRoot.ItemGroup = MenuItemGroup;
314
334
  var Menu = MenuRoot;
315
- // src/components/dm-menu/DmMenu.tsx
316
- import { forwardRef as forwardRef2, useMemo } from "react";
317
-
318
- // src/classes/dm-menu.ts
319
- var dmMenuClass = "dm-menu";
320
- var dmMenuNoHeaderClass = "dm-menu-no-header";
321
- var dmMenuCollapsedClass = "dm-menu-collapsed";
322
- var dmMenuHeaderClass = "dm-menu-header";
323
- var dmMenuProductIconClass = "dm-menu-product-icon";
324
- var dmMenuContentClass = "dm-menu-content";
325
- var dmMenuFooterClass = "dm-menu-footer";
326
- var dmMenuCollapseButtonClass = "dm-menu-collapse-button";
327
- function getDmMenuClasses({
328
- hideProductHeader,
329
- inlineCollapsed,
330
- className
331
- }) {
332
- return cn(dmMenuClass, hideProductHeader && dmMenuNoHeaderClass, inlineCollapsed && dmMenuCollapsedClass, className);
333
- }
334
-
335
335
  // src/components/dm-menu/DmMenu.tsx
336
336
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
337
337
  function getMenuLabel(menu, locale) {
@@ -439,6 +439,6 @@ var DmMenu = forwardRef2(({
439
439
  });
440
440
  DmMenu.displayName = "DmMenu";
441
441
  export {
442
- createDmMenuItems,
443
- DmMenu
442
+ DmMenu,
443
+ createDmMenuItems
444
444
  };