@docubook/ui-react 2.0.0-beta.0 → 2.0.0-beta.2

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 (102) hide show
  1. package/dist/base/breadcrumbs.d.ts +15 -0
  2. package/dist/{collapse.d.ts → base/collapse.d.ts} +5 -7
  3. package/dist/base/drawer.d.ts +41 -0
  4. package/dist/base/dropdown.d.ts +16 -0
  5. package/dist/base/input.d.ts +14 -0
  6. package/dist/base/kbd.d.ts +39 -0
  7. package/dist/base/modal.d.ts +14 -0
  8. package/dist/base/navbar.d.ts +32 -0
  9. package/dist/base/pagination.d.ts +17 -0
  10. package/dist/base/theme-controller.d.ts +17 -0
  11. package/dist/{toggle.d.ts → base/toggle.d.ts} +6 -8
  12. package/dist/breadcrumbs.js +28 -13
  13. package/dist/breadcrumbs.js.map +1 -0
  14. package/dist/cn.js +10 -6
  15. package/dist/cn.js.map +1 -0
  16. package/dist/collapse.js +76 -11
  17. package/dist/collapse.js.map +1 -0
  18. package/dist/drawer.js +69 -15
  19. package/dist/drawer.js.map +1 -0
  20. package/dist/dropdown.js +52 -11
  21. package/dist/dropdown.js.map +1 -0
  22. package/dist/index.d.ts +23 -15
  23. package/dist/index.js +13 -84
  24. package/dist/input.js +21 -9
  25. package/dist/input.js.map +1 -0
  26. package/dist/kbd.js +74 -8
  27. package/dist/kbd.js.map +1 -0
  28. package/dist/modal.js +34 -9
  29. package/dist/modal.js.map +1 -0
  30. package/dist/navbar.js +53 -13
  31. package/dist/navbar.js.map +1 -0
  32. package/dist/pagination.js +60 -7
  33. package/dist/pagination.js.map +1 -0
  34. package/dist/theme-controller.js +50 -7
  35. package/dist/theme-controller.js.map +1 -0
  36. package/dist/toggle.js +65 -9
  37. package/dist/toggle.js.map +1 -0
  38. package/dist/utils/cn.d.ts +2 -0
  39. package/dist/utils/types.d.ts +4 -0
  40. package/package.json +44 -109
  41. package/dist/breadcrumbs.cjs +0 -13
  42. package/dist/breadcrumbs.d.cts +0 -19
  43. package/dist/breadcrumbs.d.ts +0 -19
  44. package/dist/chunk-2DFF5NEL.cjs +0 -45
  45. package/dist/chunk-5SA5UPFQ.cjs +0 -66
  46. package/dist/chunk-5UVG5YY5.js +0 -49
  47. package/dist/chunk-6B7U7IWT.cjs +0 -53
  48. package/dist/chunk-BHHZBMD4.cjs +0 -101
  49. package/dist/chunk-CK4TY6B7.cjs +0 -89
  50. package/dist/chunk-CNOJNKZ2.js +0 -89
  51. package/dist/chunk-FQQILPIP.js +0 -133
  52. package/dist/chunk-GRADTONK.js +0 -45
  53. package/dist/chunk-HTH2UTCL.cjs +0 -49
  54. package/dist/chunk-MWJV72OM.cjs +0 -41
  55. package/dist/chunk-ND7BTYGG.js +0 -123
  56. package/dist/chunk-OGI5BHGM.js +0 -25
  57. package/dist/chunk-OO3HHTPV.cjs +0 -123
  58. package/dist/chunk-OTJGG73E.js +0 -101
  59. package/dist/chunk-PFRBA5BH.js +0 -66
  60. package/dist/chunk-QOGH6NKS.js +0 -45
  61. package/dist/chunk-RDRDPR67.cjs +0 -25
  62. package/dist/chunk-REZ4W4BZ.cjs +0 -92
  63. package/dist/chunk-RXFYKKNI.js +0 -53
  64. package/dist/chunk-SV4L2FGT.cjs +0 -133
  65. package/dist/chunk-SX6DOGUE.js +0 -41
  66. package/dist/chunk-TDFVUBGO.cjs +0 -45
  67. package/dist/chunk-WY6GLRTT.js +0 -92
  68. package/dist/cn.cjs +0 -6
  69. package/dist/cn.d.cts +0 -5
  70. package/dist/cn.d.ts +0 -5
  71. package/dist/collapse.cjs +0 -12
  72. package/dist/collapse.d.cts +0 -31
  73. package/dist/drawer.cjs +0 -16
  74. package/dist/drawer.d.cts +0 -44
  75. package/dist/drawer.d.ts +0 -44
  76. package/dist/dropdown.cjs +0 -12
  77. package/dist/dropdown.d.cts +0 -20
  78. package/dist/dropdown.d.ts +0 -20
  79. package/dist/index.cjs +0 -84
  80. package/dist/index.d.cts +0 -15
  81. package/dist/input.cjs +0 -10
  82. package/dist/input.d.cts +0 -17
  83. package/dist/input.d.ts +0 -17
  84. package/dist/kbd.cjs +0 -10
  85. package/dist/kbd.d.cts +0 -43
  86. package/dist/kbd.d.ts +0 -43
  87. package/dist/modal.cjs +0 -10
  88. package/dist/modal.d.cts +0 -17
  89. package/dist/modal.d.ts +0 -17
  90. package/dist/navbar.cjs +0 -13
  91. package/dist/navbar.d.cts +0 -36
  92. package/dist/navbar.d.ts +0 -36
  93. package/dist/pagination.cjs +0 -7
  94. package/dist/pagination.d.cts +0 -21
  95. package/dist/pagination.d.ts +0 -21
  96. package/dist/theme-controller.cjs +0 -8
  97. package/dist/theme-controller.d.cts +0 -21
  98. package/dist/theme-controller.d.ts +0 -21
  99. package/dist/toggle.cjs +0 -10
  100. package/dist/toggle.d.cts +0 -35
  101. package/dist/types-BZI5Cv8-.d.cts +0 -6
  102. package/dist/types-BZI5Cv8-.d.ts +0 -6
@@ -1,101 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-GRADTONK.js";
4
-
5
- // src/base/drawer.tsx
6
- import { useState } from "react";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
- function Drawer({
9
- id,
10
- children,
11
- defaultOpen = false,
12
- side = "left",
13
- breakpoint = "lg",
14
- withOverlay = true,
15
- overlayClassName,
16
- sideClassName,
17
- contentClassName,
18
- className
19
- }) {
20
- const [isOpen, setIsOpen] = useState(defaultOpen);
21
- return /* @__PURE__ */ jsxs(
22
- "div",
23
- {
24
- className: cn(
25
- "drawer",
26
- breakpoint && `${breakpoint}:drawer-open`,
27
- side === "right" && "drawer-end",
28
- className
29
- ),
30
- children: [
31
- /* @__PURE__ */ jsx(
32
- "input",
33
- {
34
- id,
35
- type: "checkbox",
36
- className: "drawer-toggle",
37
- checked: isOpen,
38
- onChange: () => setIsOpen(!isOpen),
39
- "aria-label": "Toggle drawer"
40
- }
41
- ),
42
- /* @__PURE__ */ jsx("div", { className: cn("drawer-content flex flex-col", contentClassName), children }),
43
- /* @__PURE__ */ jsx("div", { className: cn("drawer-side", sideClassName), children: withOverlay && /* @__PURE__ */ jsx(
44
- "label",
45
- {
46
- htmlFor: id,
47
- "aria-label": "Close sidebar",
48
- className: cn("drawer-overlay", overlayClassName),
49
- onClick: () => setIsOpen(false)
50
- }
51
- ) })
52
- ]
53
- }
54
- );
55
- }
56
- function useDrawerState(initialState = false) {
57
- const [isOpen, setIsOpen] = useState(initialState);
58
- return {
59
- isOpen,
60
- open: () => setIsOpen(true),
61
- close: () => setIsOpen(false),
62
- toggle: () => setIsOpen((prev) => !prev)
63
- };
64
- }
65
- function DrawerTrigger({ drawerId, children, className }) {
66
- return /* @__PURE__ */ jsx("label", { htmlFor: drawerId, className: cn("label cursor-pointer", className), children });
67
- }
68
- function DrawerSidePanel({
69
- id,
70
- children,
71
- side = "left",
72
- withOverlay = true,
73
- overlayClassName,
74
- className
75
- }) {
76
- return /* @__PURE__ */ jsxs("div", { className: cn("drawer-side", side === "right" && "drawer-end", className), children: [
77
- withOverlay && /* @__PURE__ */ jsx(
78
- "label",
79
- {
80
- htmlFor: id,
81
- "aria-label": "Close sidebar",
82
- className: cn("drawer-overlay", overlayClassName)
83
- }
84
- ),
85
- children
86
- ] });
87
- }
88
- function DrawerContent({
89
- children,
90
- className
91
- }) {
92
- return /* @__PURE__ */ jsx("div", { className: cn("drawer-content", className), children });
93
- }
94
-
95
- export {
96
- Drawer,
97
- useDrawerState,
98
- DrawerTrigger,
99
- DrawerSidePanel,
100
- DrawerContent
101
- };
@@ -1,66 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-GRADTONK.js";
4
-
5
- // src/base/theme-controller.tsx
6
- import { useEffect, useRef, useState } from "react";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
- function applyTheme(theme) {
9
- if (typeof document !== "undefined") {
10
- document.documentElement.classList.toggle("dark", theme === "dark");
11
- }
12
- }
13
- function useApplyThemeOnMount(theme) {
14
- const applied = useRef(false);
15
- useEffect(() => {
16
- if (!applied.current) {
17
- applyTheme(theme);
18
- applied.current = true;
19
- }
20
- }, [theme]);
21
- }
22
- function ThemeControllerToggle({
23
- defaultTheme = "light",
24
- lightTheme = "light",
25
- darkTheme = "dark",
26
- onThemeChange,
27
- className,
28
- label,
29
- size = "md",
30
- children
31
- }) {
32
- const [checked, setChecked] = useState(() => {
33
- if (typeof window === "undefined") return false;
34
- return (localStorage.getItem("theme") || defaultTheme) === darkTheme;
35
- });
36
- useApplyThemeOnMount(checked ? darkTheme : lightTheme);
37
- const handleChange = (newChecked) => {
38
- const newTheme = newChecked ? darkTheme : lightTheme;
39
- setChecked(newChecked);
40
- applyTheme(newTheme);
41
- localStorage.setItem("theme", newTheme);
42
- onThemeChange == null ? void 0 : onThemeChange(newTheme);
43
- };
44
- if (children) {
45
- return /* @__PURE__ */ jsx("div", { className, children: children({ isDark: checked, checked, toggle: handleChange }) });
46
- }
47
- const toggleEl = /* @__PURE__ */ jsx(
48
- "input",
49
- {
50
- type: "checkbox",
51
- className: cn("toggle theme-controller", `toggle-${size}`),
52
- checked,
53
- value: darkTheme,
54
- onChange: (e) => handleChange(e.target.checked)
55
- }
56
- );
57
- if (!label) return /* @__PURE__ */ jsx("div", { className, children: toggleEl });
58
- return /* @__PURE__ */ jsxs("label", { className: cn("flex cursor-pointer items-center gap-3", className), children: [
59
- toggleEl,
60
- /* @__PURE__ */ jsx("span", { className: "text-base-content", children: label })
61
- ] });
62
- }
63
-
64
- export {
65
- ThemeControllerToggle
66
- };
@@ -1,45 +0,0 @@
1
- import {
2
- __objRest,
3
- __spreadProps,
4
- __spreadValues,
5
- cn
6
- } from "./chunk-GRADTONK.js";
7
-
8
- // src/base/kbd.tsx
9
- import { forwardRef } from "react";
10
- import { jsx } from "react/jsx-runtime";
11
- var Kbd = forwardRef(
12
- (_a, ref) => {
13
- var _b = _a, { children, className, size } = _b, props = __objRest(_b, ["children", "className", "size"]);
14
- return /* @__PURE__ */ jsx("kbd", __spreadProps(__spreadValues({ ref, className: cn("kbd", size && `kbd-${size}`, className) }, props), { children }));
15
- }
16
- );
17
- Kbd.displayName = "Kbd";
18
- var _icons = {};
19
- var iconSize = 12;
20
- function Key({ icon: Icon, entity }) {
21
- if (Icon) return /* @__PURE__ */ jsx(Icon, { size: iconSize });
22
- return /* @__PURE__ */ jsx("span", { style: { fontSize: iconSize }, children: entity });
23
- }
24
- var FnKey = {
25
- configure(icons) {
26
- _icons = icons;
27
- },
28
- Cmd: () => /* @__PURE__ */ jsx(Key, { icon: _icons.Command, entity: "\u2318" }),
29
- Option: () => /* @__PURE__ */ jsx(Key, { icon: _icons.Option, entity: "\u2325" }),
30
- Ctrl: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ChevronUp, entity: "\u2303" }),
31
- Shift: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ArrowBigUp, entity: "\u21E7" }),
32
- Esc: () => /* @__PURE__ */ jsx(Key, { icon: _icons.CircleArrowOutUpLeft, entity: "\u238B" }),
33
- Space: () => /* @__PURE__ */ jsx(Key, { icon: _icons.Space, entity: "\u2423" }),
34
- Delete: () => /* @__PURE__ */ jsx(Key, { icon: _icons.Delete, entity: "\u232B" }),
35
- Tab: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ArrowRightToLine, entity: "\u21E5" }),
36
- Up: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ChevronUp, entity: "\u2191" }),
37
- Down: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ChevronDown, entity: "\u2193" }),
38
- Left: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ChevronLeft, entity: "\u2190" }),
39
- Right: () => /* @__PURE__ */ jsx(Key, { icon: _icons.ChevronRight, entity: "\u2192" })
40
- };
41
-
42
- export {
43
- Kbd,
44
- FnKey
45
- };
@@ -1,25 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk2DFF5NELcjs = require('./chunk-2DFF5NEL.cjs');
4
-
5
- // src/base/breadcrumbs.tsx
6
- var _jsxruntime = require('react/jsx-runtime');
7
- function Breadcrumb({ children, className }) {
8
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2DFF5NELcjs.cn.call(void 0, "breadcrumbs text-sm", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { children }) });
9
- }
10
- function BreadcrumbItem({ children, className }) {
11
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { className: _chunk2DFF5NELcjs.cn.call(void 0, className), children });
12
- }
13
- function BreadcrumbPage({ children, className }) {
14
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk2DFF5NELcjs.cn.call(void 0, className), children });
15
- }
16
- function BreadcrumbList({ children }) {
17
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
18
- }
19
-
20
-
21
-
22
-
23
-
24
-
25
- exports.Breadcrumb = Breadcrumb; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbList = BreadcrumbList;
@@ -1,92 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk2DFF5NELcjs = require('./chunk-2DFF5NEL.cjs');
4
-
5
- // src/base/pagination.tsx
6
- var _jsxruntime = require('react/jsx-runtime');
7
- function PaginationDocs({
8
- prev,
9
- next,
10
- className,
11
- prevIcon,
12
- nextIcon,
13
- linkClassName
14
- }) {
15
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16
- "nav",
17
- {
18
- id: "pagination",
19
- "aria-label": "Pagination",
20
- className: _chunk2DFF5NELcjs.cn.call(void 0, "bg-base-200/50 flex w-full gap-1 rounded-2xl p-1", className),
21
- children: [
22
- prev && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23
- "a",
24
- {
25
- href: prev.href,
26
- rel: "prev",
27
- "data-component-part": "pagination-prev",
28
- className: _chunk2DFF5NELcjs.cn.call(void 0,
29
- "group text-muted-foreground hover:bg-base-200/60 hover:text-base-content flex items-center justify-start gap-1.5 rounded-xl px-3 py-3 text-sm no-underline transition-colors",
30
- // 30/70 split with next; calc subtracts half the gap so the two
31
- // cards plus gap-1 fill the pill exactly. No min-w-0: the card
32
- // floors at its content width, so a narrow screen never crushes
33
- // the icon/text into the next card.
34
- next && "w-[calc(30%-2px)]",
35
- linkClassName
36
- ),
37
- children: [
38
- prevIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center", children: prevIcon }),
39
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-component-part": "pagination-label", children: "Previous" })
40
- ]
41
- }
42
- ),
43
- next && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44
- "a",
45
- {
46
- href: next.href,
47
- rel: "next",
48
- "data-component-part": "pagination-next",
49
- className: _chunk2DFF5NELcjs.cn.call(void 0,
50
- "group min-w-0 rounded-xl no-underline",
51
- // Next-only (e.g. docs index): full width on mobile, half the
52
- // container above 640px — pushed right like a forward button.
53
- // With prev: calc-based 70% (minus half the gap) so the pair
54
- // always fills the pill without overlapping.
55
- prev ? "w-[calc(70%-2px)]" : "w-full sm:ml-auto sm:w-1/2",
56
- linkClassName
57
- ),
58
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-primary/15 hover:bg-primary/20 hover:ring-primary/30 flex h-16 flex-1 items-center justify-end rounded-xl transition-shadow hover:ring-1", children: [
59
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col items-end justify-center px-5", children: [
60
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
61
- "div",
62
- {
63
- "data-component-part": "pagination-title",
64
- className: "text-primary w-full truncate text-right text-sm font-semibold",
65
- children: next.title
66
- }
67
- ),
68
- next.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
69
- "span",
70
- {
71
- "data-component-part": "pagination-description",
72
- className: "text-primary/75 hidden w-full max-w-72 truncate text-right text-xs sm:block",
73
- children: next.description
74
- }
75
- )
76
- ] }),
77
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-primary/20 h-8 w-px" }),
78
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-primary/75 flex items-center gap-1.5 pr-3 pl-5 text-sm", children: [
79
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-component-part": "pagination-label", children: "Next" }),
80
- nextIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center", children: nextIcon })
81
- ] })
82
- ] })
83
- }
84
- )
85
- ]
86
- }
87
- );
88
- }
89
-
90
-
91
-
92
- exports.PaginationDocs = PaginationDocs;
@@ -1,53 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-GRADTONK.js";
4
-
5
- // src/base/navbar.tsx
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- function Navbar({ id, children, className, style }) {
8
- return /* @__PURE__ */ jsx("nav", { id, className: cn("navbar", className), style, children });
9
- }
10
- function Logo({ src, alt, text, href = "/", className }) {
11
- return /* @__PURE__ */ jsxs("a", { href, className: cn("flex items-center gap-2", className), children: [
12
- src ? /* @__PURE__ */ jsx("img", { src, alt: alt || text || "Logo", className: "h-8 w-8" }) : null,
13
- text && /* @__PURE__ */ jsx("span", { className: "text-xl font-bold", children: text })
14
- ] });
15
- }
16
- function NavMenu({ items, activePath, className }) {
17
- return /* @__PURE__ */ jsx("ul", { className: cn("menu menu-horizontal gap-1", className), children: items.map((item) => {
18
- const isActive = activePath ? item.href === "/" ? activePath === "/" : activePath === item.href || activePath.startsWith(item.href + "/") : false;
19
- return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
20
- "a",
21
- {
22
- href: item.href,
23
- className: cn(isActive && "active"),
24
- target: item.isExternal ? "_blank" : void 0,
25
- rel: item.isExternal ? "noopener noreferrer" : void 0,
26
- children: item.title
27
- }
28
- ) }, item.href);
29
- }) });
30
- }
31
- function NavMenuLink({
32
- item,
33
- isActive,
34
- className
35
- }) {
36
- return /* @__PURE__ */ jsx(
37
- "a",
38
- {
39
- href: item.href,
40
- className: cn(isActive && "active", className),
41
- target: item.isExternal ? "_blank" : void 0,
42
- rel: item.isExternal ? "noopener noreferrer" : void 0,
43
- children: item.title
44
- }
45
- );
46
- }
47
-
48
- export {
49
- Navbar,
50
- Logo,
51
- NavMenu,
52
- NavMenuLink
53
- };
@@ -1,133 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk2DFF5NELcjs = require('./chunk-2DFF5NEL.cjs');
4
-
5
- // src/base/collapse.tsx
6
- var _react = require('react');
7
- var _jsxruntime = require('react/jsx-runtime');
8
- function Collapse({
9
- title,
10
- children,
11
- defaultOpen = false,
12
- onOpenChange,
13
- variant = "arrow",
14
- className,
15
- titleClassName,
16
- contentClassName,
17
- disabled = false
18
- }) {
19
- const [isOpen, setIsOpen] = _react.useState.call(void 0, defaultOpen);
20
- const handleToggle = () => {
21
- if (disabled) return;
22
- const next = !isOpen;
23
- setIsOpen(next);
24
- onOpenChange == null ? void 0 : onOpenChange(next);
25
- };
26
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27
- "div",
28
- {
29
- className: _chunk2DFF5NELcjs.cn.call(void 0,
30
- "bg-base-100 border-base-200 collapse rounded-lg border",
31
- isOpen && "collapse-open",
32
- !isOpen && "collapse-close",
33
- variant === "arrow" ? "collapse-arrow" : "collapse-plus",
34
- disabled && "cursor-not-allowed opacity-50",
35
- className
36
- ),
37
- children: [
38
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39
- "input",
40
- {
41
- type: "checkbox",
42
- checked: isOpen,
43
- onChange: handleToggle,
44
- disabled,
45
- "aria-expanded": isOpen
46
- }
47
- ),
48
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49
- "div",
50
- {
51
- className: _chunk2DFF5NELcjs.cn.call(void 0,
52
- "collapse-title text-base-content cursor-pointer font-medium",
53
- titleClassName
54
- ),
55
- onClick: handleToggle,
56
- role: "button",
57
- tabIndex: disabled ? -1 : 0,
58
- onKeyDown: (e) => {
59
- if (!disabled && (e.key === "Enter" || e.key === " ")) {
60
- e.preventDefault();
61
- handleToggle();
62
- }
63
- },
64
- children: title
65
- }
66
- ),
67
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2DFF5NELcjs.cn.call(void 0, "collapse-content text-base-content/80", contentClassName), children })
68
- ]
69
- }
70
- );
71
- }
72
- function Accordion({
73
- items,
74
- defaultOpen,
75
- variant = "arrow",
76
- className,
77
- allowMultiple = false
78
- }) {
79
- const [openIds, setOpenIds] = _react.useState.call(void 0,
80
- defaultOpen ? /* @__PURE__ */ new Set([defaultOpen]) : /* @__PURE__ */ new Set()
81
- );
82
- const toggle = (id) => {
83
- setOpenIds((prev) => {
84
- const next = new Set(prev);
85
- if (next.has(id)) {
86
- next.delete(id);
87
- } else {
88
- if (!allowMultiple) next.clear();
89
- next.add(id);
90
- }
91
- return next;
92
- });
93
- };
94
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2DFF5NELcjs.cn.call(void 0, "flex flex-col gap-3", className), children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
95
- "div",
96
- {
97
- className: _chunk2DFF5NELcjs.cn.call(void 0,
98
- "bg-base-100 border-base-200 collapse rounded-lg border",
99
- openIds.has(item.id) && "collapse-open",
100
- !openIds.has(item.id) && "collapse-close",
101
- variant === "arrow" ? "collapse-arrow" : "collapse-plus"
102
- ),
103
- children: [
104
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "checkbox", checked: openIds.has(item.id), onChange: () => toggle(item.id) }),
105
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
106
- "div",
107
- {
108
- className: "collapse-title text-base-content cursor-pointer font-medium",
109
- onClick: () => toggle(item.id),
110
- role: "button",
111
- tabIndex: 0,
112
- onKeyDown: (e) => {
113
- if (e.key === "Enter" || e.key === " ") {
114
- e.preventDefault();
115
- toggle(item.id);
116
- }
117
- },
118
- children: item.title
119
- }
120
- ),
121
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "collapse-content text-base-content/80", children: item.content })
122
- ]
123
- },
124
- item.id
125
- )) });
126
- }
127
- var collapse_default = Collapse;
128
-
129
-
130
-
131
-
132
-
133
- exports.Collapse = Collapse; exports.Accordion = Accordion; exports.collapse_default = collapse_default;
@@ -1,41 +0,0 @@
1
- import {
2
- __objRest,
3
- __spreadProps,
4
- __spreadValues,
5
- cn
6
- } from "./chunk-GRADTONK.js";
7
-
8
- // src/base/input.tsx
9
- import { forwardRef } from "react";
10
- import { jsx } from "react/jsx-runtime";
11
- var Input = forwardRef(
12
- (_a, ref) => {
13
- var _b = _a, { className, color, inputSize, ghost } = _b, props = __objRest(_b, ["className", "color", "inputSize", "ghost"]);
14
- return /* @__PURE__ */ jsx(
15
- "input",
16
- __spreadValues({
17
- ref,
18
- className: cn(
19
- "input",
20
- ghost && "input-ghost",
21
- color && `input-${color}`,
22
- inputSize && `input-${inputSize}`,
23
- className
24
- )
25
- }, props)
26
- );
27
- }
28
- );
29
- Input.displayName = "Input";
30
- var InputGroup = forwardRef(
31
- (_a, ref) => {
32
- var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
33
- return /* @__PURE__ */ jsx("label", __spreadProps(__spreadValues({ ref, className: cn("input", className) }, props), { children }));
34
- }
35
- );
36
- InputGroup.displayName = "InputGroup";
37
-
38
- export {
39
- Input,
40
- InputGroup
41
- };
@@ -1,45 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
- var _chunk2DFF5NELcjs = require('./chunk-2DFF5NEL.cjs');
7
-
8
- // src/base/kbd.tsx
9
- var _react = require('react');
10
- var _jsxruntime = require('react/jsx-runtime');
11
- var Kbd = _react.forwardRef.call(void 0,
12
- (_a, ref) => {
13
- var _b = _a, { children, className, size } = _b, props = _chunk2DFF5NELcjs.__objRest.call(void 0, _b, ["children", "className", "size"]);
14
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "kbd", _chunk2DFF5NELcjs.__spreadProps.call(void 0, _chunk2DFF5NELcjs.__spreadValues.call(void 0, { ref, className: _chunk2DFF5NELcjs.cn.call(void 0, "kbd", size && `kbd-${size}`, className) }, props), { children }));
15
- }
16
- );
17
- Kbd.displayName = "Kbd";
18
- var _icons = {};
19
- var iconSize = 12;
20
- function Key({ icon: Icon, entity }) {
21
- if (Icon) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: iconSize });
22
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { style: { fontSize: iconSize }, children: entity });
23
- }
24
- var FnKey = {
25
- configure(icons) {
26
- _icons = icons;
27
- },
28
- Cmd: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.Command, entity: "\u2318" }),
29
- Option: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.Option, entity: "\u2325" }),
30
- Ctrl: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ChevronUp, entity: "\u2303" }),
31
- Shift: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ArrowBigUp, entity: "\u21E7" }),
32
- Esc: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.CircleArrowOutUpLeft, entity: "\u238B" }),
33
- Space: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.Space, entity: "\u2423" }),
34
- Delete: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.Delete, entity: "\u232B" }),
35
- Tab: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ArrowRightToLine, entity: "\u21E5" }),
36
- Up: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ChevronUp, entity: "\u2191" }),
37
- Down: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ChevronDown, entity: "\u2193" }),
38
- Left: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ChevronLeft, entity: "\u2190" }),
39
- Right: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Key, { icon: _icons.ChevronRight, entity: "\u2192" })
40
- };
41
-
42
-
43
-
44
-
45
- exports.Kbd = Kbd; exports.FnKey = FnKey;