dialkit 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +123 -2
  2. package/dist/index.cjs +42 -39
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +7 -5
  5. package/dist/index.d.ts +7 -5
  6. package/dist/index.js +42 -39
  7. package/dist/index.js.map +1 -1
  8. package/dist/solid/index.cjs +97 -54
  9. package/dist/solid/index.cjs.map +1 -1
  10. package/dist/solid/index.d.cts +4 -1
  11. package/dist/solid/index.d.ts +4 -1
  12. package/dist/solid/index.js +96 -53
  13. package/dist/solid/index.js.map +1 -1
  14. package/dist/store/index.cjs +450 -0
  15. package/dist/store/index.cjs.map +1 -0
  16. package/dist/store/index.d.cts +124 -0
  17. package/dist/store/index.d.ts +124 -0
  18. package/dist/store/index.js +425 -0
  19. package/dist/store/index.js.map +1 -0
  20. package/dist/styles.css +31 -0
  21. package/dist/svelte/Portal.svelte +30 -0
  22. package/dist/svelte/Portal.svelte.d.ts +9 -0
  23. package/dist/svelte/Portal.svelte.d.ts.map +1 -0
  24. package/dist/svelte/components/ButtonGroup.svelte +16 -0
  25. package/dist/svelte/components/ButtonGroup.svelte.d.ts +11 -0
  26. package/dist/svelte/components/ButtonGroup.svelte.d.ts.map +1 -0
  27. package/dist/svelte/components/ColorControl.svelte +81 -0
  28. package/dist/svelte/components/ColorControl.svelte.d.ts +9 -0
  29. package/dist/svelte/components/ColorControl.svelte.d.ts.map +1 -0
  30. package/dist/svelte/components/ControlRenderer.svelte +84 -0
  31. package/dist/svelte/components/ControlRenderer.svelte.d.ts +11 -0
  32. package/dist/svelte/components/ControlRenderer.svelte.d.ts.map +1 -0
  33. package/dist/svelte/components/DialRoot.svelte +65 -0
  34. package/dist/svelte/components/DialRoot.svelte.d.ts +11 -0
  35. package/dist/svelte/components/DialRoot.svelte.d.ts.map +1 -0
  36. package/dist/svelte/components/EasingVisualization.svelte +50 -0
  37. package/dist/svelte/components/EasingVisualization.svelte.d.ts +10 -0
  38. package/dist/svelte/components/EasingVisualization.svelte.d.ts.map +1 -0
  39. package/dist/svelte/components/Folder.svelte +204 -0
  40. package/dist/svelte/components/Folder.svelte.d.ts +14 -0
  41. package/dist/svelte/components/Folder.svelte.d.ts.map +1 -0
  42. package/dist/svelte/components/Panel.svelte +144 -0
  43. package/dist/svelte/components/Panel.svelte.d.ts +10 -0
  44. package/dist/svelte/components/Panel.svelte.d.ts.map +1 -0
  45. package/dist/svelte/components/PresetManager.svelte +156 -0
  46. package/dist/svelte/components/PresetManager.svelte.d.ts +10 -0
  47. package/dist/svelte/components/PresetManager.svelte.d.ts.map +1 -0
  48. package/dist/svelte/components/SegmentedControl.svelte +106 -0
  49. package/dist/svelte/components/SegmentedControl.svelte.d.ts +13 -0
  50. package/dist/svelte/components/SegmentedControl.svelte.d.ts.map +1 -0
  51. package/dist/svelte/components/SelectControl.svelte +151 -0
  52. package/dist/svelte/components/SelectControl.svelte.d.ts +14 -0
  53. package/dist/svelte/components/SelectControl.svelte.d.ts.map +1 -0
  54. package/dist/svelte/components/Slider.svelte +345 -0
  55. package/dist/svelte/components/Slider.svelte.d.ts +13 -0
  56. package/dist/svelte/components/Slider.svelte.d.ts.map +1 -0
  57. package/dist/svelte/components/SpringControl.svelte +124 -0
  58. package/dist/svelte/components/SpringControl.svelte.d.ts +12 -0
  59. package/dist/svelte/components/SpringControl.svelte.d.ts.map +1 -0
  60. package/dist/svelte/components/SpringVisualization.svelte +115 -0
  61. package/dist/svelte/components/SpringVisualization.svelte.d.ts +9 -0
  62. package/dist/svelte/components/SpringVisualization.svelte.d.ts.map +1 -0
  63. package/dist/svelte/components/TextControl.svelte +19 -0
  64. package/dist/svelte/components/TextControl.svelte.d.ts +10 -0
  65. package/dist/svelte/components/TextControl.svelte.d.ts.map +1 -0
  66. package/dist/svelte/components/Toggle.svelte +21 -0
  67. package/dist/svelte/components/Toggle.svelte.d.ts +9 -0
  68. package/dist/svelte/components/Toggle.svelte.d.ts.map +1 -0
  69. package/dist/svelte/components/TransitionControl.svelte +200 -0
  70. package/dist/svelte/components/TransitionControl.svelte.d.ts +12 -0
  71. package/dist/svelte/components/TransitionControl.svelte.d.ts.map +1 -0
  72. package/dist/svelte/components/transitions.d.ts +6 -0
  73. package/dist/svelte/components/transitions.d.ts.map +1 -0
  74. package/dist/svelte/components/transitions.js +14 -0
  75. package/dist/svelte/createDialKit.svelte.d.ts +7 -0
  76. package/dist/svelte/createDialKit.svelte.d.ts.map +1 -0
  77. package/dist/svelte/createDialKit.svelte.js +82 -0
  78. package/dist/svelte/index.d.ts +19 -0
  79. package/dist/svelte/index.d.ts.map +1 -0
  80. package/dist/svelte/index.js +19 -0
  81. package/dist/svelte/shims.d.ts +9 -0
  82. package/dist/svelte/theme-css.d.ts +2 -0
  83. package/dist/svelte/theme-css.d.ts.map +1 -0
  84. package/dist/svelte/theme-css.js +1097 -0
  85. package/package.json +29 -5
package/dist/index.d.cts CHANGED
@@ -1,6 +1,5 @@
1
- import * as react from 'react';
2
- import { ReactNode } from 'react';
3
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
4
3
 
5
4
  type SpringConfig = {
6
5
  type: 'spring';
@@ -131,11 +130,13 @@ interface UseDialOptions {
131
130
  declare function useDialKit<T extends DialConfig>(name: string, config: T, options?: UseDialOptions): ResolvedValues<T>;
132
131
 
133
132
  type DialPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
133
+ type DialMode = 'popover' | 'inline';
134
134
  interface DialRootProps {
135
135
  position?: DialPosition;
136
136
  defaultOpen?: boolean;
137
+ mode?: DialMode;
137
138
  }
138
- declare function DialRoot({ position, defaultOpen }: DialRootProps): react.ReactPortal | null;
139
+ declare function DialRoot({ position, defaultOpen, mode }: DialRootProps): react_jsx_runtime.JSX.Element | null;
139
140
 
140
141
  interface SliderProps {
141
142
  label: string;
@@ -160,10 +161,11 @@ interface FolderProps {
160
161
  children: ReactNode;
161
162
  defaultOpen?: boolean;
162
163
  isRoot?: boolean;
164
+ inline?: boolean;
163
165
  onOpenChange?: (isOpen: boolean) => void;
164
166
  toolbar?: ReactNode;
165
167
  }
166
- declare function Folder({ title, children, defaultOpen, isRoot, onOpenChange, toolbar }: FolderProps): react_jsx_runtime.JSX.Element;
168
+ declare function Folder({ title, children, defaultOpen, isRoot, inline, onOpenChange, toolbar }: FolderProps): react_jsx_runtime.JSX.Element;
167
169
 
168
170
  interface ButtonGroupProps {
169
171
  buttons: Array<{
@@ -237,4 +239,4 @@ interface PresetManagerProps {
237
239
  }
238
240
  declare function PresetManager({ panelId, presets, activePresetId, onAdd }: PresetManagerProps): react_jsx_runtime.JSX.Element;
239
241
 
240
- export { type ActionConfig, ButtonGroup, type ColorConfig, ColorControl, type ControlMeta, type DialConfig, type DialPosition, DialRoot, DialStore, type DialValue, type EasingConfig, EasingVisualization, Folder, type PanelConfig, type Preset, PresetManager, type ResolvedValues, type SelectConfig, SelectControl, Slider, type SpringConfig, SpringControl, SpringVisualization, type TextConfig, TextControl, Toggle, type TransitionConfig, TransitionControl, type UseDialOptions, useDialKit };
242
+ export { type ActionConfig, ButtonGroup, type ColorConfig, ColorControl, type ControlMeta, type DialConfig, type DialMode, type DialPosition, DialRoot, DialStore, type DialValue, type EasingConfig, EasingVisualization, Folder, type PanelConfig, type Preset, PresetManager, type ResolvedValues, type SelectConfig, SelectControl, Slider, type SpringConfig, SpringControl, SpringVisualization, type TextConfig, TextControl, Toggle, type TransitionConfig, TransitionControl, type UseDialOptions, useDialKit };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import * as react from 'react';
2
- import { ReactNode } from 'react';
3
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
4
3
 
5
4
  type SpringConfig = {
6
5
  type: 'spring';
@@ -131,11 +130,13 @@ interface UseDialOptions {
131
130
  declare function useDialKit<T extends DialConfig>(name: string, config: T, options?: UseDialOptions): ResolvedValues<T>;
132
131
 
133
132
  type DialPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
133
+ type DialMode = 'popover' | 'inline';
134
134
  interface DialRootProps {
135
135
  position?: DialPosition;
136
136
  defaultOpen?: boolean;
137
+ mode?: DialMode;
137
138
  }
138
- declare function DialRoot({ position, defaultOpen }: DialRootProps): react.ReactPortal | null;
139
+ declare function DialRoot({ position, defaultOpen, mode }: DialRootProps): react_jsx_runtime.JSX.Element | null;
139
140
 
140
141
  interface SliderProps {
141
142
  label: string;
@@ -160,10 +161,11 @@ interface FolderProps {
160
161
  children: ReactNode;
161
162
  defaultOpen?: boolean;
162
163
  isRoot?: boolean;
164
+ inline?: boolean;
163
165
  onOpenChange?: (isOpen: boolean) => void;
164
166
  toolbar?: ReactNode;
165
167
  }
166
- declare function Folder({ title, children, defaultOpen, isRoot, onOpenChange, toolbar }: FolderProps): react_jsx_runtime.JSX.Element;
168
+ declare function Folder({ title, children, defaultOpen, isRoot, inline, onOpenChange, toolbar }: FolderProps): react_jsx_runtime.JSX.Element;
167
169
 
168
170
  interface ButtonGroupProps {
169
171
  buttons: Array<{
@@ -237,4 +239,4 @@ interface PresetManagerProps {
237
239
  }
238
240
  declare function PresetManager({ panelId, presets, activePresetId, onAdd }: PresetManagerProps): react_jsx_runtime.JSX.Element;
239
241
 
240
- export { type ActionConfig, ButtonGroup, type ColorConfig, ColorControl, type ControlMeta, type DialConfig, type DialPosition, DialRoot, DialStore, type DialValue, type EasingConfig, EasingVisualization, Folder, type PanelConfig, type Preset, PresetManager, type ResolvedValues, type SelectConfig, SelectControl, Slider, type SpringConfig, SpringControl, SpringVisualization, type TextConfig, TextControl, Toggle, type TransitionConfig, TransitionControl, type UseDialOptions, useDialKit };
242
+ export { type ActionConfig, ButtonGroup, type ColorConfig, ColorControl, type ControlMeta, type DialConfig, type DialMode, type DialPosition, DialRoot, DialStore, type DialValue, type EasingConfig, EasingVisualization, Folder, type PanelConfig, type Preset, PresetManager, type ResolvedValues, type SelectConfig, SelectControl, Slider, type SpringConfig, SpringControl, SpringVisualization, type TextConfig, TextControl, Toggle, type TransitionConfig, TransitionControl, type UseDialOptions, useDialKit };
package/dist/index.js CHANGED
@@ -522,7 +522,7 @@ import { motion as motion6, AnimatePresence as AnimatePresence4 } from "motion/r
522
522
  import { useState, useRef as useRef2, useEffect as useEffect2 } from "react";
523
523
  import { motion, AnimatePresence } from "motion/react";
524
524
  import { jsx, jsxs } from "react/jsx-runtime";
525
- function Folder({ title, children, defaultOpen = true, isRoot = false, onOpenChange, toolbar }) {
525
+ function Folder({ title, children, defaultOpen = true, isRoot = false, inline = false, onOpenChange, toolbar }) {
526
526
  const [isOpen, setIsOpen] = useState(defaultOpen);
527
527
  const [isCollapsed, setIsCollapsed] = useState(!defaultOpen);
528
528
  const contentRef = useRef2(null);
@@ -540,6 +540,7 @@ function Folder({ title, children, defaultOpen = true, isRoot = false, onOpenCha
540
540
  return () => ro.disconnect();
541
541
  }, [isOpen]);
542
542
  const handleToggle = () => {
543
+ if (inline && isRoot) return;
543
544
  const next = !isOpen;
544
545
  setIsOpen(next);
545
546
  if (next) {
@@ -553,40 +554,35 @@ function Folder({ title, children, defaultOpen = true, isRoot = false, onOpenCha
553
554
  /* @__PURE__ */ jsxs("div", { className: `dialkit-folder-header ${isRoot ? "dialkit-panel-header" : ""}`, onClick: handleToggle, children: [
554
555
  /* @__PURE__ */ jsxs("div", { className: "dialkit-folder-header-top", children: [
555
556
  isRoot ? isOpen && /* @__PURE__ */ jsx("div", { className: "dialkit-folder-title-row", children: /* @__PURE__ */ jsx("span", { className: "dialkit-folder-title dialkit-folder-title-root", children: title }) }) : /* @__PURE__ */ jsx("div", { className: "dialkit-folder-title-row", children: /* @__PURE__ */ jsx("span", { className: "dialkit-folder-title", children: title }) }),
556
- isRoot ? (
557
- // Root panel icon — fixed position, container morphs around it
558
- /* @__PURE__ */ jsxs(
559
- "svg",
560
- {
561
- className: "dialkit-panel-icon",
562
- viewBox: "0 0 16 16",
563
- fill: "none",
564
- children: [
565
- /* @__PURE__ */ jsx("path", { opacity: "0.5", d: "M6.84766 11.75C6.78583 11.9899 6.75 12.2408 6.75 12.5C6.75 12.7592 6.78583 13.0101 6.84766 13.25H2C1.58579 13.25 1.25 12.9142 1.25 12.5C1.25 12.0858 1.58579 11.75 2 11.75H6.84766ZM14 11.75C14.4142 11.75 14.75 12.0858 14.75 12.5C14.75 12.9142 14.4142 13.25 14 13.25H12.6523C12.7142 13.0101 12.75 12.7592 12.75 12.5C12.75 12.2408 12.7142 11.9899 12.6523 11.75H14ZM3.09766 7.25C3.03583 7.48994 3 7.74075 3 8C3 8.25925 3.03583 8.51006 3.09766 8.75H2C1.58579 8.75 1.25 8.41421 1.25 8C1.25 7.58579 1.58579 7.25 2 7.25H3.09766ZM14 7.25C14.4142 7.25 14.75 7.58579 14.75 8C14.75 8.41421 14.4142 8.75 14 8.75H8.90234C8.96417 8.51006 9 8.25925 9 8C9 7.74075 8.96417 7.48994 8.90234 7.25H14ZM7.59766 2.75C7.53583 2.98994 7.5 3.24075 7.5 3.5C7.5 3.75925 7.53583 4.01006 7.59766 4.25H2C1.58579 4.25 1.25 3.91421 1.25 3.5C1.25 3.08579 1.58579 2.75 2 2.75H7.59766ZM14 2.75C14.4142 2.75 14.75 3.08579 14.75 3.5C14.75 3.91421 14.4142 4.25 14 4.25H13.4023C13.4642 4.01006 13.5 3.75925 13.5 3.5C13.5 3.24075 13.4642 2.98994 13.4023 2.75H14Z", fill: "currentColor" }),
566
- /* @__PURE__ */ jsx("circle", { cx: "6", cy: "8", r: "0.998596", fill: "currentColor", stroke: "currentColor", strokeWidth: "1.25" }),
567
- /* @__PURE__ */ jsx("circle", { cx: "10.4999", cy: "3.5", r: "0.998657", fill: "currentColor", stroke: "currentColor", strokeWidth: "1.25" }),
568
- /* @__PURE__ */ jsx("circle", { cx: "9.75015", cy: "12.5", r: "0.997986", fill: "currentColor", stroke: "currentColor", strokeWidth: "1.25" })
569
- ]
570
- }
571
- )
572
- ) : (
573
- // Section folders use rotating chevron with gentle spring
574
- /* @__PURE__ */ jsx(
575
- motion.svg,
576
- {
577
- className: "dialkit-folder-icon",
578
- viewBox: "0 0 24 24",
579
- fill: "none",
580
- stroke: "currentColor",
581
- strokeWidth: "2.5",
582
- strokeLinecap: "round",
583
- strokeLinejoin: "round",
584
- initial: false,
585
- animate: { rotate: isOpen ? 0 : 180 },
586
- transition: { type: "spring", visualDuration: 0.35, bounce: 0.15 },
587
- children: /* @__PURE__ */ jsx("path", { d: "M6 9.5L12 15.5L18 9.5" })
588
- }
589
- )
557
+ isRoot && !inline && /* @__PURE__ */ jsxs(
558
+ "svg",
559
+ {
560
+ className: "dialkit-panel-icon",
561
+ viewBox: "0 0 16 16",
562
+ fill: "none",
563
+ children: [
564
+ /* @__PURE__ */ jsx("path", { opacity: "0.5", d: "M6.84766 11.75C6.78583 11.9899 6.75 12.2408 6.75 12.5C6.75 12.7592 6.78583 13.0101 6.84766 13.25H2C1.58579 13.25 1.25 12.9142 1.25 12.5C1.25 12.0858 1.58579 11.75 2 11.75H6.84766ZM14 11.75C14.4142 11.75 14.75 12.0858 14.75 12.5C14.75 12.9142 14.4142 13.25 14 13.25H12.6523C12.7142 13.0101 12.75 12.7592 12.75 12.5C12.75 12.2408 12.7142 11.9899 12.6523 11.75H14ZM3.09766 7.25C3.03583 7.48994 3 7.74075 3 8C3 8.25925 3.03583 8.51006 3.09766 8.75H2C1.58579 8.75 1.25 8.41421 1.25 8C1.25 7.58579 1.58579 7.25 2 7.25H3.09766ZM14 7.25C14.4142 7.25 14.75 7.58579 14.75 8C14.75 8.41421 14.4142 8.75 14 8.75H8.90234C8.96417 8.51006 9 8.25925 9 8C9 7.74075 8.96417 7.48994 8.90234 7.25H14ZM7.59766 2.75C7.53583 2.98994 7.5 3.24075 7.5 3.5C7.5 3.75925 7.53583 4.01006 7.59766 4.25H2C1.58579 4.25 1.25 3.91421 1.25 3.5C1.25 3.08579 1.58579 2.75 2 2.75H7.59766ZM14 2.75C14.4142 2.75 14.75 3.08579 14.75 3.5C14.75 3.91421 14.4142 4.25 14 4.25H13.4023C13.4642 4.01006 13.5 3.75925 13.5 3.5C13.5 3.24075 13.4642 2.98994 13.4023 2.75H14Z", fill: "currentColor" }),
565
+ /* @__PURE__ */ jsx("circle", { cx: "6", cy: "8", r: "0.998596", fill: "currentColor", stroke: "currentColor", strokeWidth: "1.25" }),
566
+ /* @__PURE__ */ jsx("circle", { cx: "10.4999", cy: "3.5", r: "0.998657", fill: "currentColor", stroke: "currentColor", strokeWidth: "1.25" }),
567
+ /* @__PURE__ */ jsx("circle", { cx: "9.75015", cy: "12.5", r: "0.997986", fill: "currentColor", stroke: "currentColor", strokeWidth: "1.25" })
568
+ ]
569
+ }
570
+ ),
571
+ !isRoot && /* @__PURE__ */ jsx(
572
+ motion.svg,
573
+ {
574
+ className: "dialkit-folder-icon",
575
+ viewBox: "0 0 24 24",
576
+ fill: "none",
577
+ stroke: "currentColor",
578
+ strokeWidth: "2.5",
579
+ strokeLinecap: "round",
580
+ strokeLinejoin: "round",
581
+ initial: false,
582
+ animate: { rotate: isOpen ? 0 : 180 },
583
+ transition: { type: "spring", visualDuration: 0.35, bounce: 0.15 },
584
+ children: /* @__PURE__ */ jsx("path", { d: "M6 9.5L12 15.5L18 9.5" })
585
+ }
590
586
  )
591
587
  ] }),
592
588
  isRoot && toolbar && isOpen && /* @__PURE__ */ jsx("div", { className: "dialkit-panel-toolbar", onClick: (e) => e.stopPropagation(), children: toolbar })
@@ -605,6 +601,9 @@ function Folder({ title, children, defaultOpen = true, isRoot = false, onOpenCha
605
601
  ) })
606
602
  ] });
607
603
  if (isRoot) {
604
+ if (inline) {
605
+ return /* @__PURE__ */ jsx("div", { className: "dialkit-panel-inner dialkit-panel-inline", children: folderContent });
606
+ }
608
607
  const panelStyle = isOpen ? { width: 280, height: contentHeight !== void 0 ? contentHeight + 24 : "auto", borderRadius: 14, boxShadow: "0 8px 32px rgba(0, 0, 0, 0.5)", cursor: void 0 } : { width: 42, height: 42, borderRadius: 21, boxShadow: "0 4px 16px rgba(0, 0, 0, 0.25)", overflow: "hidden", cursor: "pointer" };
609
608
  return /* @__PURE__ */ jsx(
610
609
  motion.div,
@@ -1799,7 +1798,7 @@ function PresetManager({ panelId, presets, activePresetId, onAdd }) {
1799
1798
 
1800
1799
  // src/components/Panel.tsx
1801
1800
  import { Fragment as Fragment3, jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
1802
- function Panel({ panel, defaultOpen = true }) {
1801
+ function Panel({ panel, defaultOpen = true, inline = false }) {
1803
1802
  const [copied, setCopied] = useState8(false);
1804
1803
  const [isPanelOpen, setIsPanelOpen] = useState8(defaultOpen);
1805
1804
  const values = useSyncExternalStore4(
@@ -2004,14 +2003,15 @@ Apply these values as the new defaults in the useDialKit call.`;
2004
2003
  }
2005
2004
  )
2006
2005
  ] });
2007
- return /* @__PURE__ */ jsx13("div", { className: "dialkit-panel-wrapper", children: /* @__PURE__ */ jsx13(Folder, { title: panel.name, defaultOpen, isRoot: true, onOpenChange: setIsPanelOpen, toolbar, children: renderControls() }) });
2006
+ return /* @__PURE__ */ jsx13("div", { className: "dialkit-panel-wrapper", children: /* @__PURE__ */ jsx13(Folder, { title: panel.name, defaultOpen, isRoot: true, inline, onOpenChange: setIsPanelOpen, toolbar, children: renderControls() }) });
2008
2007
  }
2009
2008
 
2010
2009
  // src/components/DialRoot.tsx
2011
2010
  import { jsx as jsx14 } from "react/jsx-runtime";
2012
- function DialRoot({ position = "top-right", defaultOpen = true }) {
2011
+ function DialRoot({ position = "top-right", defaultOpen = true, mode = "popover" }) {
2013
2012
  const [panels, setPanels] = useState9([]);
2014
2013
  const [mounted, setMounted] = useState9(false);
2014
+ const inline = mode === "inline";
2015
2015
  useEffect7(() => {
2016
2016
  setMounted(true);
2017
2017
  setPanels(DialStore.getPanels());
@@ -2026,7 +2026,10 @@ function DialRoot({ position = "top-right", defaultOpen = true }) {
2026
2026
  if (panels.length === 0) {
2027
2027
  return null;
2028
2028
  }
2029
- const content = /* @__PURE__ */ jsx14("div", { className: "dialkit-root", children: /* @__PURE__ */ jsx14("div", { className: "dialkit-panel", "data-position": position, children: panels.map((panel) => /* @__PURE__ */ jsx14(Panel, { panel, defaultOpen }, panel.id)) }) });
2029
+ const content = /* @__PURE__ */ jsx14("div", { className: "dialkit-root", "data-mode": mode, children: /* @__PURE__ */ jsx14("div", { className: "dialkit-panel", "data-position": inline ? void 0 : position, "data-mode": mode, children: panels.map((panel) => /* @__PURE__ */ jsx14(Panel, { panel, defaultOpen: inline || defaultOpen, inline }, panel.id)) }) });
2030
+ if (inline) {
2031
+ return content;
2032
+ }
2030
2033
  return createPortal3(content, document.body);
2031
2034
  }
2032
2035