asterui 0.12.49 → 0.12.50

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 (200) hide show
  1. package/dist/components/Alert.js +18 -18
  2. package/dist/components/Alert.js.map +1 -1
  3. package/dist/components/Anchor.js +53 -53
  4. package/dist/components/Anchor.js.map +1 -1
  5. package/dist/components/Autocomplete.js +115 -114
  6. package/dist/components/Autocomplete.js.map +1 -1
  7. package/dist/components/Avatar.js +33 -32
  8. package/dist/components/Avatar.js.map +1 -1
  9. package/dist/components/Badge.js +99 -99
  10. package/dist/components/Badge.js.map +1 -1
  11. package/dist/components/Breadcrumb.js +12 -11
  12. package/dist/components/Breadcrumb.js.map +1 -1
  13. package/dist/components/Browser.js +10 -10
  14. package/dist/components/Browser.js.map +1 -1
  15. package/dist/components/Button.js +80 -79
  16. package/dist/components/Button.js.map +1 -1
  17. package/dist/components/Card.d.ts +2 -0
  18. package/dist/components/Card.js +111 -110
  19. package/dist/components/Card.js.map +1 -1
  20. package/dist/components/Carousel.js +59 -59
  21. package/dist/components/Carousel.js.map +1 -1
  22. package/dist/components/Cascader.js +175 -174
  23. package/dist/components/Cascader.js.map +1 -1
  24. package/dist/components/Chat.js +27 -27
  25. package/dist/components/Chat.js.map +1 -1
  26. package/dist/components/Checkbox.js +98 -97
  27. package/dist/components/Checkbox.js.map +1 -1
  28. package/dist/components/Code.js +11 -11
  29. package/dist/components/Code.js.map +1 -1
  30. package/dist/components/Collapse.js +46 -46
  31. package/dist/components/Collapse.js.map +1 -1
  32. package/dist/components/ColorPicker.d.ts +1 -1
  33. package/dist/components/ColorPicker.js +93 -91
  34. package/dist/components/ColorPicker.js.map +1 -1
  35. package/dist/components/Command.js +120 -120
  36. package/dist/components/Command.js.map +1 -1
  37. package/dist/components/ConfigProvider.d.ts +1 -1
  38. package/dist/components/ConfigProvider.js +9 -9
  39. package/dist/components/ConfigProvider.js.map +1 -1
  40. package/dist/components/ContextMenu.js +33 -33
  41. package/dist/components/ContextMenu.js.map +1 -1
  42. package/dist/components/CopyButton.js +74 -73
  43. package/dist/components/CopyButton.js.map +1 -1
  44. package/dist/components/Countdown.js +60 -59
  45. package/dist/components/Countdown.js.map +1 -1
  46. package/dist/components/DatePicker.d.ts +1 -1
  47. package/dist/components/DatePicker.js +54 -53
  48. package/dist/components/DatePicker.js.map +1 -1
  49. package/dist/components/Diff.js +10 -10
  50. package/dist/components/Diff.js.map +1 -1
  51. package/dist/components/Divider.js +21 -20
  52. package/dist/components/Divider.js.map +1 -1
  53. package/dist/components/Dock.js +28 -27
  54. package/dist/components/Dock.js.map +1 -1
  55. package/dist/components/Drawer.js +43 -43
  56. package/dist/components/Drawer.js.map +1 -1
  57. package/dist/components/Dropdown.js +127 -127
  58. package/dist/components/Dropdown.js.map +1 -1
  59. package/dist/components/Empty.js +16 -15
  60. package/dist/components/Empty.js.map +1 -1
  61. package/dist/components/Fieldset.js +11 -10
  62. package/dist/components/Fieldset.js.map +1 -1
  63. package/dist/components/FileInput.js +30 -29
  64. package/dist/components/FileInput.js.map +1 -1
  65. package/dist/components/Filter.d.ts +1 -1
  66. package/dist/components/Filter.js +32 -30
  67. package/dist/components/Filter.js.map +1 -1
  68. package/dist/components/FloatButton.js +83 -83
  69. package/dist/components/FloatButton.js.map +1 -1
  70. package/dist/components/Footer.js +14 -13
  71. package/dist/components/Footer.js.map +1 -1
  72. package/dist/components/Form.js +133 -132
  73. package/dist/components/Form.js.map +1 -1
  74. package/dist/components/Hero.js +12 -11
  75. package/dist/components/Hero.js.map +1 -1
  76. package/dist/components/HoverGallery.js +7 -7
  77. package/dist/components/HoverGallery.js.map +1 -1
  78. package/dist/components/Image.js +40 -40
  79. package/dist/components/Image.js.map +1 -1
  80. package/dist/components/Input.js +171 -169
  81. package/dist/components/Input.js.map +1 -1
  82. package/dist/components/InputNumber.js +84 -83
  83. package/dist/components/InputNumber.js.map +1 -1
  84. package/dist/components/Join.js +11 -10
  85. package/dist/components/Join.js.map +1 -1
  86. package/dist/components/Kbd.js +15 -15
  87. package/dist/components/Kbd.js.map +1 -1
  88. package/dist/components/Layout.js +66 -66
  89. package/dist/components/Layout.js.map +1 -1
  90. package/dist/components/List.d.ts +1 -1
  91. package/dist/components/List.js +75 -72
  92. package/dist/components/List.js.map +1 -1
  93. package/dist/components/Loading.d.ts +1 -1
  94. package/dist/components/Loading.js +31 -29
  95. package/dist/components/Loading.js.map +1 -1
  96. package/dist/components/Mask.js +31 -31
  97. package/dist/components/Mask.js.map +1 -1
  98. package/dist/components/Mention.js +61 -61
  99. package/dist/components/Mention.js.map +1 -1
  100. package/dist/components/Menu.js +84 -84
  101. package/dist/components/Menu.js.map +1 -1
  102. package/dist/components/Message.js +30 -29
  103. package/dist/components/Message.js.map +1 -1
  104. package/dist/components/Modal.js +117 -116
  105. package/dist/components/Modal.js.map +1 -1
  106. package/dist/components/MonthCalendar.d.ts +31 -0
  107. package/dist/components/MonthCalendar.js +205 -0
  108. package/dist/components/MonthCalendar.js.map +1 -0
  109. package/dist/components/Navbar.js +25 -25
  110. package/dist/components/Navbar.js.map +1 -1
  111. package/dist/components/Notification.js +56 -55
  112. package/dist/components/Notification.js.map +1 -1
  113. package/dist/components/OTPInput.js +69 -68
  114. package/dist/components/OTPInput.js.map +1 -1
  115. package/dist/components/Pagination.d.ts +1 -1
  116. package/dist/components/Pagination.js +60 -58
  117. package/dist/components/Pagination.js.map +1 -1
  118. package/dist/components/Phone.js +10 -10
  119. package/dist/components/Phone.js.map +1 -1
  120. package/dist/components/Popconfirm.js +60 -60
  121. package/dist/components/Popconfirm.js.map +1 -1
  122. package/dist/components/Progress.js +17 -17
  123. package/dist/components/Progress.js.map +1 -1
  124. package/dist/components/QRCode.js +23 -23
  125. package/dist/components/QRCode.js.map +1 -1
  126. package/dist/components/RadialProgress.js +17 -17
  127. package/dist/components/RadialProgress.js.map +1 -1
  128. package/dist/components/Radio.js +41 -40
  129. package/dist/components/Radio.js.map +1 -1
  130. package/dist/components/Range.d.ts +1 -1
  131. package/dist/components/Range.js +39 -37
  132. package/dist/components/Range.js.map +1 -1
  133. package/dist/components/Rating.js +79 -78
  134. package/dist/components/Rating.js.map +1 -1
  135. package/dist/components/ResponsiveDrawer.js +27 -27
  136. package/dist/components/ResponsiveDrawer.js.map +1 -1
  137. package/dist/components/RichTextEditor.d.ts +32 -0
  138. package/dist/components/RichTextEditor.js +335 -0
  139. package/dist/components/RichTextEditor.js.map +1 -0
  140. package/dist/components/Segmented.d.ts +1 -1
  141. package/dist/components/Segmented.js +48 -46
  142. package/dist/components/Segmented.js.map +1 -1
  143. package/dist/components/Select.js +55 -54
  144. package/dist/components/Select.js.map +1 -1
  145. package/dist/components/Skeleton.js +9 -9
  146. package/dist/components/Skeleton.js.map +1 -1
  147. package/dist/components/Splitter.js +93 -93
  148. package/dist/components/Splitter.js.map +1 -1
  149. package/dist/components/Stat.js +17 -16
  150. package/dist/components/Stat.js.map +1 -1
  151. package/dist/components/Status.js +29 -29
  152. package/dist/components/Status.js.map +1 -1
  153. package/dist/components/Steps.js +61 -61
  154. package/dist/components/Steps.js.map +1 -1
  155. package/dist/components/Table.js +256 -256
  156. package/dist/components/Table.js.map +1 -1
  157. package/dist/components/Tabs.js +65 -65
  158. package/dist/components/Tabs.js.map +1 -1
  159. package/dist/components/Tag.js +147 -147
  160. package/dist/components/Tag.js.map +1 -1
  161. package/dist/components/TextRotate.js +6 -6
  162. package/dist/components/TextRotate.js.map +1 -1
  163. package/dist/components/Textarea.js +35 -34
  164. package/dist/components/Textarea.js.map +1 -1
  165. package/dist/components/ThemeController.d.ts +1 -1
  166. package/dist/components/ThemeController.js +71 -68
  167. package/dist/components/ThemeController.js.map +1 -1
  168. package/dist/components/TimePicker.d.ts +1 -1
  169. package/dist/components/TimePicker.js +133 -129
  170. package/dist/components/TimePicker.js.map +1 -1
  171. package/dist/components/Timeline.js +79 -79
  172. package/dist/components/Timeline.js.map +1 -1
  173. package/dist/components/Toggle.js +33 -32
  174. package/dist/components/Toggle.js.map +1 -1
  175. package/dist/components/Tooltip.js +25 -25
  176. package/dist/components/Tooltip.js.map +1 -1
  177. package/dist/components/Tour.js +126 -126
  178. package/dist/components/Tour.js.map +1 -1
  179. package/dist/components/Transfer.js +93 -92
  180. package/dist/components/Transfer.js.map +1 -1
  181. package/dist/components/Tree.js +200 -200
  182. package/dist/components/Tree.js.map +1 -1
  183. package/dist/components/TreeSelect.js +255 -254
  184. package/dist/components/TreeSelect.js.map +1 -1
  185. package/dist/components/Typography.js +71 -70
  186. package/dist/components/Typography.js.map +1 -1
  187. package/dist/components/Upload.js +81 -81
  188. package/dist/components/Upload.js.map +1 -1
  189. package/dist/components/WeekCalendar.d.ts +35 -0
  190. package/dist/components/WeekCalendar.js +204 -0
  191. package/dist/components/WeekCalendar.js.map +1 -0
  192. package/dist/components/Window.js +7 -7
  193. package/dist/components/Window.js.map +1 -1
  194. package/dist/editor.d.ts +1 -0
  195. package/dist/editor.js +5 -0
  196. package/dist/editor.js.map +1 -0
  197. package/dist/index.d.ts +4 -0
  198. package/dist/index.js +211 -207
  199. package/dist/index.js.map +1 -1
  200. package/package.json +30 -1
@@ -1,34 +1,35 @@
1
- import { jsxs as o, jsx as i } from "react/jsx-runtime";
1
+ import { jsxs as m, jsx as i } from "react/jsx-runtime";
2
2
  import g from "react";
3
- const q = ({
3
+ import { useConfig as R } from "./ConfigProvider.js";
4
+ const r = "btn", B = "btn-ghost", q = "btn-active", H = "btn-disabled", O = "btn-xs", Q = "btn-sm", T = "btn-lg", U = "btn-xl", V = "select", W = "select-bordered", Y = "join", u = "join-item", Z = "input", se = ({
4
5
  current: h,
5
- defaultCurrent: P = 1,
6
- total: m,
7
- pageSize: p,
8
- defaultPageSize: C = 10,
6
+ defaultCurrent: S = 1,
7
+ total: p,
8
+ pageSize: $,
9
+ defaultPageSize: k = 10,
9
10
  pageSizeOptions: j = [10, 20, 50, 100],
10
- onChange: b,
11
- onShowSizeChange: k,
11
+ onChange: N,
12
+ onShowSizeChange: I,
12
13
  showSizeChanger: y = !1,
13
- showQuickJumper: S = !1,
14
+ showQuickJumper: J = !1,
14
15
  showTotal: f = !1,
15
- simple: I = !1,
16
- size: M = "md",
16
+ simple: M = !1,
17
+ size: w,
17
18
  disabled: a = !1,
18
- className: d = "",
19
- ...N
19
+ className: b = "",
20
+ ...v
20
21
  }) => {
21
- const [w, v] = g.useState(P), [J, D] = g.useState(C), [x, $] = g.useState(""), t = h !== void 0 ? h : w, u = p !== void 0 ? p : J, n = Math.ceil(m / u), r = (e) => {
22
- e < 1 || e > n || a || (h === void 0 && v(e), b?.(e, u));
22
+ const { componentSize: D } = R(), G = w ?? D ?? "md", [L, x] = g.useState(S), [X, z] = g.useState(k), [C, P] = g.useState(""), t = h !== void 0 ? h : L, d = $ !== void 0 ? $ : X, n = Math.ceil(p / d), o = (e) => {
23
+ e < 1 || e > n || a || (h === void 0 && x(e), N?.(e, d));
24
+ }, A = (e) => {
25
+ const l = Math.ceil(p / e), s = t > l ? l : t;
26
+ $ === void 0 && z(e), h === void 0 && s !== t && x(s), I?.(s, e), N?.(s, e);
23
27
  }, E = (e) => {
24
- const c = Math.ceil(m / e), s = t > c ? c : t;
25
- p === void 0 && D(e), h === void 0 && s !== t && v(s), k?.(s, e), b?.(s, e);
26
- }, F = (e) => {
27
28
  if (e.key === "Enter") {
28
- const c = parseInt(x);
29
- !isNaN(c) && c >= 1 && c <= n && (r(c), $(""));
29
+ const l = parseInt(C);
30
+ !isNaN(l) && l >= 1 && l <= n && (o(l), P(""));
30
31
  }
31
- }, G = () => {
32
+ }, F = () => {
32
33
  const e = [];
33
34
  if (n <= 7)
34
35
  for (let s = 1; s <= n; s++)
@@ -48,26 +49,27 @@ const q = ({
48
49
  e.push("ellipsis"), e.push(n);
49
50
  }
50
51
  return e;
51
- }, l = {
52
- xs: "btn-xs",
53
- sm: "btn-sm",
52
+ }, c = {
53
+ xs: O,
54
+ sm: Q,
54
55
  md: "",
55
- lg: "btn-lg"
56
- }[M], K = [
57
- (t - 1) * u + 1,
58
- Math.min(t * u, m)
56
+ lg: T,
57
+ xl: U
58
+ }[G], K = [
59
+ (t - 1) * d + 1,
60
+ Math.min(t * d, p)
59
61
  ];
60
- return I ? /* @__PURE__ */ o("div", { className: `flex items-center gap-2 ${d}`, ...N, children: [
62
+ return M ? /* @__PURE__ */ m("div", { className: `flex items-center gap-2 ${b}`, ...v, children: [
61
63
  /* @__PURE__ */ i(
62
64
  "button",
63
65
  {
64
- className: `btn btn-ghost ${l}`,
65
- onClick: () => r(t - 1),
66
+ className: `${r} ${B} ${c}`,
67
+ onClick: () => o(t - 1),
66
68
  disabled: a || t === 1,
67
69
  children: "‹"
68
70
  }
69
71
  ),
70
- /* @__PURE__ */ o("span", { className: "text-sm", children: [
72
+ /* @__PURE__ */ m("span", { className: "text-sm", children: [
71
73
  t,
72
74
  " / ",
73
75
  n
@@ -75,33 +77,33 @@ const q = ({
75
77
  /* @__PURE__ */ i(
76
78
  "button",
77
79
  {
78
- className: `btn btn-ghost ${l}`,
79
- onClick: () => r(t + 1),
80
+ className: `${r} ${B} ${c}`,
81
+ onClick: () => o(t + 1),
80
82
  disabled: a || t === n,
81
83
  children: "›"
82
84
  }
83
85
  )
84
- ] }) : /* @__PURE__ */ o("div", { className: `flex flex-wrap items-center gap-4 ${d}`, ...N, children: [
85
- f && /* @__PURE__ */ i("div", { className: "text-sm text-base-content/70", children: typeof f == "function" ? f(m, K) : `Total ${m} items` }),
86
+ ] }) : /* @__PURE__ */ m("div", { className: `flex flex-wrap items-center gap-4 ${b}`, ...v, children: [
87
+ f && /* @__PURE__ */ i("div", { className: "text-sm text-base-content/70", children: typeof f == "function" ? f(p, K) : `Total ${p} items` }),
86
88
  y && /* @__PURE__ */ i(
87
89
  "select",
88
90
  {
89
- className: `select select-bordered ${l}`,
90
- value: u,
91
- onChange: (e) => E(Number(e.target.value)),
91
+ className: `${V} ${W} ${c}`,
92
+ value: d,
93
+ onChange: (e) => A(Number(e.target.value)),
92
94
  disabled: a,
93
- children: j.map((e) => /* @__PURE__ */ o("option", { value: e, children: [
95
+ children: j.map((e) => /* @__PURE__ */ m("option", { value: e, children: [
94
96
  e,
95
97
  " / page"
96
98
  ] }, e))
97
99
  }
98
100
  ),
99
- /* @__PURE__ */ o("div", { className: "join", children: [
101
+ /* @__PURE__ */ m("div", { className: Y, children: [
100
102
  /* @__PURE__ */ i(
101
103
  "button",
102
104
  {
103
- className: `join-item btn ${l}`,
104
- onClick: () => r(1),
105
+ className: `${u} ${r} ${c}`,
106
+ onClick: () => o(1),
105
107
  disabled: a || t === 1,
106
108
  title: "First page",
107
109
  children: "«"
@@ -110,18 +112,18 @@ const q = ({
110
112
  /* @__PURE__ */ i(
111
113
  "button",
112
114
  {
113
- className: `join-item btn ${l}`,
114
- onClick: () => r(t - 1),
115
+ className: `${u} ${r} ${c}`,
116
+ onClick: () => o(t - 1),
115
117
  disabled: a || t === 1,
116
118
  title: "Previous page",
117
119
  children: "‹"
118
120
  }
119
121
  ),
120
- G().map((e, c) => e === "ellipsis" ? /* @__PURE__ */ i("button", { className: `join-item btn btn-disabled ${l}`, children: "..." }, `ellipsis-${c}`) : /* @__PURE__ */ i(
122
+ F().map((e, l) => e === "ellipsis" ? /* @__PURE__ */ i("button", { className: `${u} ${r} ${H} ${c}`, children: "..." }, `ellipsis-${l}`) : /* @__PURE__ */ i(
121
123
  "button",
122
124
  {
123
- className: `join-item btn ${l} ${t === e ? "btn-active" : ""}`,
124
- onClick: () => r(e),
125
+ className: `${u} ${r} ${c} ${t === e ? q : ""}`,
126
+ onClick: () => o(e),
125
127
  disabled: a,
126
128
  children: e
127
129
  },
@@ -130,8 +132,8 @@ const q = ({
130
132
  /* @__PURE__ */ i(
131
133
  "button",
132
134
  {
133
- className: `join-item btn ${l}`,
134
- onClick: () => r(t + 1),
135
+ className: `${u} ${r} ${c}`,
136
+ onClick: () => o(t + 1),
135
137
  disabled: a || t === n,
136
138
  title: "Next page",
137
139
  children: "›"
@@ -140,26 +142,26 @@ const q = ({
140
142
  /* @__PURE__ */ i(
141
143
  "button",
142
144
  {
143
- className: `join-item btn ${l}`,
144
- onClick: () => r(n),
145
+ className: `${u} ${r} ${c}`,
146
+ onClick: () => o(n),
145
147
  disabled: a || t === n,
146
148
  title: "Last page",
147
149
  children: "»"
148
150
  }
149
151
  )
150
152
  ] }),
151
- S && /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
153
+ J && /* @__PURE__ */ m("div", { className: "flex items-center gap-2", children: [
152
154
  /* @__PURE__ */ i("span", { className: "text-sm", children: "Go to" }),
153
155
  /* @__PURE__ */ i(
154
156
  "input",
155
157
  {
156
158
  type: "number",
157
- className: `input w-16 ${l}`,
159
+ className: `${Z} w-16 ${c}`,
158
160
  min: 1,
159
161
  max: n,
160
- value: x,
161
- onChange: (e) => $(e.target.value),
162
- onKeyDown: F,
162
+ value: C,
163
+ onChange: (e) => P(e.target.value),
164
+ onKeyDown: E,
163
165
  disabled: a,
164
166
  placeholder: String(t)
165
167
  }
@@ -168,6 +170,6 @@ const q = ({
168
170
  ] });
169
171
  };
170
172
  export {
171
- q as Pagination
173
+ se as Pagination
172
174
  };
173
175
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../src/components/Pagination.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface PaginationProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n current?: number\n defaultCurrent?: number\n total: number\n pageSize?: number\n defaultPageSize?: number\n pageSizeOptions?: number[]\n onChange?: (page: number, pageSize: number) => void\n onShowSizeChange?: (current: number, size: number) => void\n showSizeChanger?: boolean\n showQuickJumper?: boolean\n showTotal?: boolean | ((total: number, range: [number, number]) => React.ReactNode)\n simple?: boolean\n size?: 'xs' | 'sm' | 'md' | 'lg'\n disabled?: boolean\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({\n current: controlledCurrent,\n defaultCurrent = 1,\n total,\n pageSize: controlledPageSize,\n defaultPageSize = 10,\n pageSizeOptions = [10, 20, 50, 100],\n onChange,\n onShowSizeChange,\n showSizeChanger = false,\n showQuickJumper = false,\n showTotal = false,\n simple = false,\n size = 'md',\n disabled = false,\n className = '',\n ...rest\n}) => {\n const [internalCurrent, setInternalCurrent] = React.useState(defaultCurrent)\n const [internalPageSize, setInternalPageSize] = React.useState(defaultPageSize)\n const [jumpPage, setJumpPage] = React.useState('')\n\n const current = controlledCurrent !== undefined ? controlledCurrent : internalCurrent\n const pageSize = controlledPageSize !== undefined ? controlledPageSize : internalPageSize\n const totalPages = Math.ceil(total / pageSize)\n\n const handlePageChange = (page: number) => {\n if (page < 1 || page > totalPages || disabled) return\n\n if (controlledCurrent === undefined) {\n setInternalCurrent(page)\n }\n onChange?.(page, pageSize)\n }\n\n const handlePageSizeChange = (newSize: number) => {\n const newTotalPages = Math.ceil(total / newSize)\n const newCurrent = current > newTotalPages ? newTotalPages : current\n\n if (controlledPageSize === undefined) {\n setInternalPageSize(newSize)\n }\n if (controlledCurrent === undefined && newCurrent !== current) {\n setInternalCurrent(newCurrent)\n }\n\n onShowSizeChange?.(newCurrent, newSize)\n onChange?.(newCurrent, newSize)\n }\n\n const handleJumpPage = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n const page = parseInt(jumpPage)\n if (!isNaN(page) && page >= 1 && page <= totalPages) {\n handlePageChange(page)\n setJumpPage('')\n }\n }\n }\n\n const getPageNumbers = (): (number | 'ellipsis')[] => {\n const pages: (number | 'ellipsis')[] = []\n const showPages = 7\n\n if (totalPages <= showPages) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i)\n }\n } else {\n if (current <= 3) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i)\n }\n pages.push('ellipsis')\n pages.push(totalPages)\n } else if (current >= totalPages - 2) {\n pages.push(1)\n pages.push('ellipsis')\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i)\n }\n } else {\n pages.push(1)\n pages.push('ellipsis')\n for (let i = current - 1; i <= current + 1; i++) {\n pages.push(i)\n }\n pages.push('ellipsis')\n pages.push(totalPages)\n }\n }\n\n return pages\n }\n\n const sizeClass = {\n xs: 'btn-xs',\n sm: 'btn-sm',\n md: '',\n lg: 'btn-lg',\n }[size]\n\n const range: [number, number] = [\n (current - 1) * pageSize + 1,\n Math.min(current * pageSize, total),\n ]\n\n if (simple) {\n return (\n <div className={`flex items-center gap-2 ${className}`} {...rest}>\n <button\n className={`btn btn-ghost ${sizeClass}`}\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n >\n ‹\n </button>\n <span className=\"text-sm\">\n {current} / {totalPages}\n </span>\n <button\n className={`btn btn-ghost ${sizeClass}`}\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n >\n ›\n </button>\n </div>\n )\n }\n\n return (\n <div className={`flex flex-wrap items-center gap-4 ${className}`} {...rest}>\n {/* Total */}\n {showTotal && (\n <div className=\"text-sm text-base-content/70\">\n {typeof showTotal === 'function'\n ? showTotal(total, range)\n : `Total ${total} items`}\n </div>\n )}\n\n {/* Page Size Changer */}\n {showSizeChanger && (\n <select\n className={`select select-bordered ${sizeClass}`}\n value={pageSize}\n onChange={(e) => handlePageSizeChange(Number(e.target.value))}\n disabled={disabled}\n >\n {pageSizeOptions.map((size) => (\n <option key={size} value={size}>\n {size} / page\n </option>\n ))}\n </select>\n )}\n\n {/* Pagination Controls */}\n <div className=\"join\">\n {/* First */}\n <button\n className={`join-item btn ${sizeClass}`}\n onClick={() => handlePageChange(1)}\n disabled={disabled || current === 1}\n title=\"First page\"\n >\n «\n </button>\n\n {/* Previous */}\n <button\n className={`join-item btn ${sizeClass}`}\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n title=\"Previous page\"\n >\n ‹\n </button>\n\n {/* Page Numbers */}\n {getPageNumbers().map((page, index) => {\n if (page === 'ellipsis') {\n return (\n <button key={`ellipsis-${index}`} className={`join-item btn btn-disabled ${sizeClass}`}>\n ...\n </button>\n )\n }\n\n return (\n <button\n key={page}\n className={`join-item btn ${sizeClass} ${current === page ? 'btn-active' : ''}`}\n onClick={() => handlePageChange(page)}\n disabled={disabled}\n >\n {page}\n </button>\n )\n })}\n\n {/* Next */}\n <button\n className={`join-item btn ${sizeClass}`}\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n title=\"Next page\"\n >\n ›\n </button>\n\n {/* Last */}\n <button\n className={`join-item btn ${sizeClass}`}\n onClick={() => handlePageChange(totalPages)}\n disabled={disabled || current === totalPages}\n title=\"Last page\"\n >\n »\n </button>\n </div>\n\n {/* Quick Jumper */}\n {showQuickJumper && (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm\">Go to</span>\n <input\n type=\"number\"\n className={`input w-16 ${sizeClass}`}\n min={1}\n max={totalPages}\n value={jumpPage}\n onChange={(e) => setJumpPage(e.target.value)}\n onKeyDown={handleJumpPage}\n disabled={disabled}\n placeholder={String(current)}\n />\n </div>\n )}\n </div>\n )\n}\n"],"names":["Pagination","controlledCurrent","defaultCurrent","total","controlledPageSize","defaultPageSize","pageSizeOptions","onChange","onShowSizeChange","showSizeChanger","showQuickJumper","showTotal","simple","size","disabled","className","rest","internalCurrent","setInternalCurrent","React","internalPageSize","setInternalPageSize","jumpPage","setJumpPage","current","pageSize","totalPages","handlePageChange","page","handlePageSizeChange","newSize","newTotalPages","newCurrent","handleJumpPage","getPageNumbers","pages","i","sizeClass","range","jsx","jsxs","index"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../src/components/Pagination.tsx"],"sourcesContent":["import React from 'react'\nimport { useConfig } from './ConfigProvider'\n\n// DaisyUI classes\nconst dBtn = 'btn'\nconst dBtnGhost = 'btn-ghost'\nconst dBtnActive = 'btn-active'\nconst dBtnDisabled = 'btn-disabled'\nconst dBtnXs = 'btn-xs'\nconst dBtnSm = 'btn-sm'\nconst dBtnLg = 'btn-lg'\nconst dBtnXl = 'btn-xl'\nconst dSelect = 'select'\nconst dSelectBordered = 'select-bordered'\nconst dJoin = 'join'\nconst dJoinItem = 'join-item'\nconst dInput = 'input'\n\nexport interface PaginationProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n current?: number\n defaultCurrent?: number\n total: number\n pageSize?: number\n defaultPageSize?: number\n pageSizeOptions?: number[]\n onChange?: (page: number, pageSize: number) => void\n onShowSizeChange?: (current: number, size: number) => void\n showSizeChanger?: boolean\n showQuickJumper?: boolean\n showTotal?: boolean | ((total: number, range: [number, number]) => React.ReactNode)\n simple?: boolean\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n disabled?: boolean\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({\n current: controlledCurrent,\n defaultCurrent = 1,\n total,\n pageSize: controlledPageSize,\n defaultPageSize = 10,\n pageSizeOptions = [10, 20, 50, 100],\n onChange,\n onShowSizeChange,\n showSizeChanger = false,\n showQuickJumper = false,\n showTotal = false,\n simple = false,\n size,\n disabled = false,\n className = '',\n ...rest\n}) => {\n const { componentSize } = useConfig()\n const effectiveSize = size ?? componentSize ?? 'md'\n const [internalCurrent, setInternalCurrent] = React.useState(defaultCurrent)\n const [internalPageSize, setInternalPageSize] = React.useState(defaultPageSize)\n const [jumpPage, setJumpPage] = React.useState('')\n\n const current = controlledCurrent !== undefined ? controlledCurrent : internalCurrent\n const pageSize = controlledPageSize !== undefined ? controlledPageSize : internalPageSize\n const totalPages = Math.ceil(total / pageSize)\n\n const handlePageChange = (page: number) => {\n if (page < 1 || page > totalPages || disabled) return\n\n if (controlledCurrent === undefined) {\n setInternalCurrent(page)\n }\n onChange?.(page, pageSize)\n }\n\n const handlePageSizeChange = (newSize: number) => {\n const newTotalPages = Math.ceil(total / newSize)\n const newCurrent = current > newTotalPages ? newTotalPages : current\n\n if (controlledPageSize === undefined) {\n setInternalPageSize(newSize)\n }\n if (controlledCurrent === undefined && newCurrent !== current) {\n setInternalCurrent(newCurrent)\n }\n\n onShowSizeChange?.(newCurrent, newSize)\n onChange?.(newCurrent, newSize)\n }\n\n const handleJumpPage = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n const page = parseInt(jumpPage)\n if (!isNaN(page) && page >= 1 && page <= totalPages) {\n handlePageChange(page)\n setJumpPage('')\n }\n }\n }\n\n const getPageNumbers = (): (number | 'ellipsis')[] => {\n const pages: (number | 'ellipsis')[] = []\n const showPages = 7\n\n if (totalPages <= showPages) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i)\n }\n } else {\n if (current <= 3) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i)\n }\n pages.push('ellipsis')\n pages.push(totalPages)\n } else if (current >= totalPages - 2) {\n pages.push(1)\n pages.push('ellipsis')\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i)\n }\n } else {\n pages.push(1)\n pages.push('ellipsis')\n for (let i = current - 1; i <= current + 1; i++) {\n pages.push(i)\n }\n pages.push('ellipsis')\n pages.push(totalPages)\n }\n }\n\n return pages\n }\n\n const sizeClass = {\n xs: dBtnXs,\n sm: dBtnSm,\n md: '',\n lg: dBtnLg,\n xl: dBtnXl,\n }[effectiveSize]\n\n const range: [number, number] = [\n (current - 1) * pageSize + 1,\n Math.min(current * pageSize, total),\n ]\n\n if (simple) {\n return (\n <div className={`flex items-center gap-2 ${className}`} {...rest}>\n <button\n className={`${dBtn} ${dBtnGhost} ${sizeClass}`}\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n >\n ‹\n </button>\n <span className=\"text-sm\">\n {current} / {totalPages}\n </span>\n <button\n className={`${dBtn} ${dBtnGhost} ${sizeClass}`}\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n >\n ›\n </button>\n </div>\n )\n }\n\n return (\n <div className={`flex flex-wrap items-center gap-4 ${className}`} {...rest}>\n {/* Total */}\n {showTotal && (\n <div className=\"text-sm text-base-content/70\">\n {typeof showTotal === 'function'\n ? showTotal(total, range)\n : `Total ${total} items`}\n </div>\n )}\n\n {/* Page Size Changer */}\n {showSizeChanger && (\n <select\n className={`${dSelect} ${dSelectBordered} ${sizeClass}`}\n value={pageSize}\n onChange={(e) => handlePageSizeChange(Number(e.target.value))}\n disabled={disabled}\n >\n {pageSizeOptions.map((size) => (\n <option key={size} value={size}>\n {size} / page\n </option>\n ))}\n </select>\n )}\n\n {/* Pagination Controls */}\n <div className={dJoin}>\n {/* First */}\n <button\n className={`${dJoinItem} ${dBtn} ${sizeClass}`}\n onClick={() => handlePageChange(1)}\n disabled={disabled || current === 1}\n title=\"First page\"\n >\n «\n </button>\n\n {/* Previous */}\n <button\n className={`${dJoinItem} ${dBtn} ${sizeClass}`}\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n title=\"Previous page\"\n >\n ‹\n </button>\n\n {/* Page Numbers */}\n {getPageNumbers().map((page, index) => {\n if (page === 'ellipsis') {\n return (\n <button key={`ellipsis-${index}`} className={`${dJoinItem} ${dBtn} ${dBtnDisabled} ${sizeClass}`}>\n ...\n </button>\n )\n }\n\n return (\n <button\n key={page}\n className={`${dJoinItem} ${dBtn} ${sizeClass} ${current === page ? dBtnActive : ''}`}\n onClick={() => handlePageChange(page)}\n disabled={disabled}\n >\n {page}\n </button>\n )\n })}\n\n {/* Next */}\n <button\n className={`${dJoinItem} ${dBtn} ${sizeClass}`}\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n title=\"Next page\"\n >\n ›\n </button>\n\n {/* Last */}\n <button\n className={`${dJoinItem} ${dBtn} ${sizeClass}`}\n onClick={() => handlePageChange(totalPages)}\n disabled={disabled || current === totalPages}\n title=\"Last page\"\n >\n »\n </button>\n </div>\n\n {/* Quick Jumper */}\n {showQuickJumper && (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm\">Go to</span>\n <input\n type=\"number\"\n className={`${dInput} w-16 ${sizeClass}`}\n min={1}\n max={totalPages}\n value={jumpPage}\n onChange={(e) => setJumpPage(e.target.value)}\n onKeyDown={handleJumpPage}\n disabled={disabled}\n placeholder={String(current)}\n />\n </div>\n )}\n </div>\n )\n}\n"],"names":["dBtn","dBtnGhost","dBtnActive","dBtnDisabled","dBtnXs","dBtnSm","dBtnLg","dBtnXl","dSelect","dSelectBordered","dJoin","dJoinItem","dInput","Pagination","controlledCurrent","defaultCurrent","total","controlledPageSize","defaultPageSize","pageSizeOptions","onChange","onShowSizeChange","showSizeChanger","showQuickJumper","showTotal","simple","size","disabled","className","rest","componentSize","useConfig","effectiveSize","internalCurrent","setInternalCurrent","React","internalPageSize","setInternalPageSize","jumpPage","setJumpPage","current","pageSize","totalPages","handlePageChange","page","handlePageSizeChange","newSize","newTotalPages","newCurrent","handleJumpPage","getPageNumbers","pages","i","sizeClass","range","jsx","jsxs","index"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { jsxs as p, jsx as o } from "react/jsx-runtime";
2
- const n = ({
1
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
+ const m = "mockup-phone", r = "mockup-phone-camera", d = "mockup-phone-display", h = ({
3
3
  children: s,
4
- color: e,
5
- className: a = "",
6
- displayClassName: c = ""
4
+ color: o,
5
+ className: c = "",
6
+ displayClassName: n = ""
7
7
  }) => {
8
- const m = e ? { borderColor: e } : {};
9
- return /* @__PURE__ */ p("div", { className: `mockup-phone ${a}`, style: m, children: [
10
- /* @__PURE__ */ o("div", { className: "mockup-phone-camera" }),
11
- /* @__PURE__ */ o("div", { className: `mockup-phone-display ${c}`, children: s })
8
+ const p = o ? { borderColor: o } : {};
9
+ return /* @__PURE__ */ a("div", { className: `${m} ${c}`, style: p, children: [
10
+ /* @__PURE__ */ e("div", { className: r }),
11
+ /* @__PURE__ */ e("div", { className: `${d} ${n}`, children: s })
12
12
  ] });
13
13
  };
14
14
  export {
15
- n as Phone
15
+ h as Phone
16
16
  };
17
17
  //# sourceMappingURL=Phone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Phone.js","sources":["../../src/components/Phone.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface PhoneProps {\n children: React.ReactNode\n color?: string\n className?: string\n displayClassName?: string\n}\n\nexport const Phone: React.FC<PhoneProps> = ({\n children,\n color,\n className = '',\n displayClassName = '',\n}) => {\n const style: React.CSSProperties = color ? { borderColor: color } : {}\n\n return (\n <div className={`mockup-phone ${className}`} style={style}>\n <div className=\"mockup-phone-camera\"></div>\n <div className={`mockup-phone-display ${displayClassName}`}>\n {children}\n </div>\n </div>\n )\n}\n"],"names":["Phone","children","color","className","displayClassName","style","jsx"],"mappings":";AASO,MAAMA,IAA8B,CAAC;AAAA,EAC1C,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,kBAAAC,IAAmB;AACrB,MAAM;AACJ,QAAMC,IAA6BH,IAAQ,EAAE,aAAaA,EAAA,IAAU,CAAA;AAEpE,2BACG,OAAA,EAAI,WAAW,gBAAgBC,CAAS,IAAI,OAAAE,GAC3C,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,sBAAA,CAAsB;AAAA,sBACpC,OAAA,EAAI,WAAW,wBAAwBF,CAAgB,IACrD,UAAAH,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"Phone.js","sources":["../../src/components/Phone.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dMockupPhone = 'mockup-phone'\nconst dMockupPhoneCamera = 'mockup-phone-camera'\nconst dMockupPhoneDisplay = 'mockup-phone-display'\n\nexport interface PhoneProps {\n children: React.ReactNode\n color?: string\n className?: string\n displayClassName?: string\n}\n\nexport const Phone: React.FC<PhoneProps> = ({\n children,\n color,\n className = '',\n displayClassName = '',\n}) => {\n const style: React.CSSProperties = color ? { borderColor: color } : {}\n\n return (\n <div className={`${dMockupPhone} ${className}`} style={style}>\n <div className={dMockupPhoneCamera}></div>\n <div className={`${dMockupPhoneDisplay} ${displayClassName}`}>\n {children}\n </div>\n </div>\n )\n}\n"],"names":["dMockupPhone","dMockupPhoneCamera","dMockupPhoneDisplay","Phone","children","color","className","displayClassName","style","jsxs","jsx"],"mappings":";AAGA,MAAMA,IAAe,gBACfC,IAAqB,uBACrBC,IAAsB,wBASfC,IAA8B,CAAC;AAAA,EAC1C,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,kBAAAC,IAAmB;AACrB,MAAM;AACJ,QAAMC,IAA6BH,IAAQ,EAAE,aAAaA,EAAA,IAAU,CAAA;AAEpE,SACE,gBAAAI,EAAC,SAAI,WAAW,GAAGT,CAAY,IAAIM,CAAS,IAAI,OAAAE,GAC9C,UAAA;AAAA,IAAA,gBAAAE,EAAC,OAAA,EAAI,WAAWT,EAAA,CAAoB;AAAA,IACpC,gBAAAS,EAAC,SAAI,WAAW,GAAGR,CAAmB,IAAIK,CAAgB,IACvD,UAAAH,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,71 +1,71 @@
1
- import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
- import K, { useState as g, useRef as h, useEffect as M } from "react";
3
- const W = ({
4
- children: c,
5
- title: x,
1
+ import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
+ import G, { useState as b, useRef as h, useEffect as K } from "react";
3
+ const x = "btn", v = "btn-sm", M = "btn-primary", T = "btn-secondary", X = "btn-accent", q = "btn-success", D = "btn-warning", F = "btn-error", H = "btn-info", J = "btn-ghost", Q = "loading", U = "loading-spinner", V = "loading-xs", _ = ({
4
+ children: i,
5
+ title: C,
6
6
  description: d,
7
7
  onConfirm: m,
8
- onCancel: v,
9
- okText: C = "OK",
10
- cancelText: w = "Cancel",
11
- okType: N = "primary",
12
- cancelType: k = "ghost",
8
+ onCancel: y,
9
+ okText: w = "OK",
10
+ cancelText: N = "Cancel",
11
+ okType: k = "primary",
12
+ cancelType: $ = "ghost",
13
13
  placement: f = "top",
14
- disabled: y = !1,
14
+ disabled: B = !1,
15
15
  icon: p,
16
16
  showCancel: L = !0,
17
- className: $,
17
+ className: E,
18
18
  ...O
19
19
  }) => {
20
- const [a, o] = g(!1), [l, u] = g(!1), r = h(null), i = h(null);
21
- M(() => {
22
- const t = (s) => {
23
- r.current && !r.current.contains(s.target) && i.current && !i.current.contains(s.target) && o(!1);
20
+ const [o, a] = b(!1), [l, u] = b(!1), r = h(null), c = h(null);
21
+ K(() => {
22
+ const t = (e) => {
23
+ r.current && !r.current.contains(e.target) && c.current && !c.current.contains(e.target) && a(!1);
24
24
  };
25
- if (a)
25
+ if (o)
26
26
  return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
27
- }, [a]);
28
- const j = (t) => {
29
- y || (t.stopPropagation(), o(!a));
30
- }, E = async () => {
27
+ }, [o]);
28
+ const P = (t) => {
29
+ B || (t.stopPropagation(), a(!o));
30
+ }, S = async () => {
31
31
  if (m) {
32
32
  u(!0);
33
33
  try {
34
- await m(), o(!1);
34
+ await m(), a(!1);
35
35
  } finally {
36
36
  u(!1);
37
37
  }
38
38
  } else
39
- o(!1);
40
- }, P = () => {
41
- v?.(), o(!1);
39
+ a(!1);
40
+ }, j = () => {
41
+ y?.(), a(!1);
42
42
  }, R = () => `absolute z-50 ${{
43
43
  top: "bottom-full left-1/2 -translate-x-1/2 mb-3",
44
44
  bottom: "top-full left-1/2 -translate-x-1/2 mt-3",
45
45
  left: "right-full top-1/2 -translate-y-1/2 mr-3",
46
46
  right: "left-full top-1/2 -translate-y-1/2 ml-3"
47
- }[f]}`, z = () => "bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg", B = () => `absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg ${{
47
+ }[f]}`, z = () => "bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg", I = () => `absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg ${{
48
48
  top: "bottom-[-5px] left-1/2 -translate-x-1/2",
49
49
  bottom: "top-[-5px] left-1/2 -translate-x-1/2",
50
50
  left: "right-[-5px] top-1/2 -translate-y-1/2",
51
51
  right: "left-[-5px] top-1/2 -translate-y-1/2"
52
- }[f]}`, I = {
53
- primary: "btn-primary",
54
- secondary: "btn-secondary",
55
- accent: "btn-accent",
56
- success: "btn-success",
57
- warning: "btn-warning",
58
- error: "btn-error",
59
- info: "btn-info",
60
- ghost: "btn-ghost"
61
- }, b = (t) => I[t], A = /* @__PURE__ */ e(
52
+ }[f]}`, A = {
53
+ primary: M,
54
+ secondary: T,
55
+ accent: X,
56
+ success: q,
57
+ warning: D,
58
+ error: F,
59
+ info: H,
60
+ ghost: J
61
+ }, g = (t) => A[t], W = /* @__PURE__ */ n(
62
62
  "svg",
63
63
  {
64
64
  className: "w-5 h-5 text-warning",
65
65
  fill: "none",
66
66
  stroke: "currentColor",
67
67
  viewBox: "0 0 24 24",
68
- children: /* @__PURE__ */ e(
68
+ children: /* @__PURE__ */ n(
69
69
  "path",
70
70
  {
71
71
  strokeLinecap: "round",
@@ -76,50 +76,50 @@ const W = ({
76
76
  )
77
77
  }
78
78
  );
79
- return /* @__PURE__ */ n("div", { ref: r, className: `relative inline-block ${$ || ""}`, "data-state": a ? "open" : "closed", ...O, children: [
80
- K.cloneElement(c, {
79
+ return /* @__PURE__ */ s("div", { ref: r, className: `relative inline-block ${E || ""}`, "data-state": o ? "open" : "closed", ...O, children: [
80
+ G.cloneElement(i, {
81
81
  onClick: (t) => {
82
- j(t);
83
- const s = c.props?.onClick;
84
- s && s(t);
82
+ P(t);
83
+ const e = i.props?.onClick;
84
+ e && e(t);
85
85
  }
86
86
  }),
87
- a && /* @__PURE__ */ e("div", { className: R(), children: /* @__PURE__ */ n("div", { ref: i, className: z(), children: [
88
- /* @__PURE__ */ n("div", { className: "flex gap-3 relative z-10", children: [
89
- /* @__PURE__ */ e("div", { className: "flex-shrink-0 mt-0.5", children: p !== void 0 ? p : A }),
90
- /* @__PURE__ */ n("div", { className: "flex-1", children: [
91
- /* @__PURE__ */ e("div", { className: "font-semibold text-base-content mb-1", children: x }),
92
- d && /* @__PURE__ */ e("div", { className: "text-sm text-base-content/70 mb-3", children: d }),
93
- /* @__PURE__ */ n("div", { className: "flex justify-end gap-2 mt-3", children: [
94
- L && /* @__PURE__ */ e(
87
+ o && /* @__PURE__ */ n("div", { className: R(), children: /* @__PURE__ */ s("div", { ref: c, className: z(), children: [
88
+ /* @__PURE__ */ s("div", { className: "flex gap-3 relative z-10", children: [
89
+ /* @__PURE__ */ n("div", { className: "flex-shrink-0 mt-0.5", children: p !== void 0 ? p : W }),
90
+ /* @__PURE__ */ s("div", { className: "flex-1", children: [
91
+ /* @__PURE__ */ n("div", { className: "font-semibold text-base-content mb-1", children: C }),
92
+ d && /* @__PURE__ */ n("div", { className: "text-sm text-base-content/70 mb-3", children: d }),
93
+ /* @__PURE__ */ s("div", { className: "flex justify-end gap-2 mt-3", children: [
94
+ L && /* @__PURE__ */ n(
95
95
  "button",
96
96
  {
97
- className: `btn btn-sm ${b(k)}`,
98
- onClick: P,
97
+ className: `${x} ${v} ${g($)}`,
98
+ onClick: j,
99
99
  disabled: l,
100
- children: w
100
+ children: N
101
101
  }
102
102
  ),
103
- /* @__PURE__ */ n(
103
+ /* @__PURE__ */ s(
104
104
  "button",
105
105
  {
106
- className: `btn btn-sm ${b(N)}`,
107
- onClick: E,
106
+ className: `${x} ${v} ${g(k)}`,
107
+ onClick: S,
108
108
  disabled: l,
109
109
  children: [
110
- l && /* @__PURE__ */ e("span", { className: "loading loading-spinner loading-xs" }),
111
- C
110
+ l && /* @__PURE__ */ n("span", { className: `${Q} ${U} ${V}` }),
111
+ w
112
112
  ]
113
113
  }
114
114
  )
115
115
  ] })
116
116
  ] })
117
117
  ] }),
118
- /* @__PURE__ */ e("div", { className: B() })
118
+ /* @__PURE__ */ n("div", { className: I() })
119
119
  ] }) })
120
120
  ] });
121
121
  };
122
122
  export {
123
- W as Popconfirm
123
+ _ as Popconfirm
124
124
  };
125
125
  //# sourceMappingURL=Popconfirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popconfirm.js","sources":["../../src/components/Popconfirm.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react'\n\nexport interface PopconfirmProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n children: React.ReactElement\n title: React.ReactNode\n description?: React.ReactNode\n onConfirm?: () => void | Promise<void>\n onCancel?: () => void\n okText?: string\n cancelText?: string\n okType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\n cancelType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'ghost'\n placement?: 'top' | 'bottom' | 'left' | 'right'\n disabled?: boolean\n icon?: React.ReactNode\n showCancel?: boolean\n}\n\nexport const Popconfirm: React.FC<PopconfirmProps> = ({\n children,\n title,\n description,\n onConfirm,\n onCancel,\n okText = 'OK',\n cancelText = 'Cancel',\n okType = 'primary',\n cancelType = 'ghost',\n placement = 'top',\n disabled = false,\n icon,\n showCancel = true,\n className,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [loading, setLoading] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n const popupRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(event.target as Node) &&\n popupRef.current &&\n !popupRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen])\n\n const handleTriggerClick = (e: React.MouseEvent) => {\n if (disabled) return\n e.stopPropagation()\n setIsOpen(!isOpen)\n }\n\n const handleConfirm = async () => {\n if (onConfirm) {\n setLoading(true)\n try {\n await onConfirm()\n setIsOpen(false)\n } finally {\n setLoading(false)\n }\n } else {\n setIsOpen(false)\n }\n }\n\n const handleCancel = () => {\n onCancel?.()\n setIsOpen(false)\n }\n\n const getPopupContainerClasses = () => {\n const positions = {\n top: 'bottom-full left-1/2 -translate-x-1/2 mb-3',\n bottom: 'top-full left-1/2 -translate-x-1/2 mt-3',\n left: 'right-full top-1/2 -translate-y-1/2 mr-3',\n right: 'left-full top-1/2 -translate-y-1/2 ml-3',\n }\n\n return `absolute z-50 ${positions[placement]}`\n }\n\n const getPopupClasses = () => {\n return 'bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg'\n }\n\n const getArrowClasses = () => {\n const base = 'absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg'\n\n const positions = {\n top: 'bottom-[-5px] left-1/2 -translate-x-1/2',\n bottom: 'top-[-5px] left-1/2 -translate-x-1/2',\n left: 'right-[-5px] top-1/2 -translate-y-1/2',\n right: 'left-[-5px] top-1/2 -translate-y-1/2',\n }\n\n return `${base} ${positions[placement]}`\n }\n\n const buttonClasses = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n accent: 'btn-accent',\n success: 'btn-success',\n warning: 'btn-warning',\n error: 'btn-error',\n info: 'btn-info',\n ghost: 'btn-ghost',\n } as const\n\n const getButtonClass = (type: keyof typeof buttonClasses) => {\n return buttonClasses[type]\n }\n\n const defaultIcon = (\n <svg\n className=\"w-5 h-5 text-warning\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n )\n\n return (\n <div ref={containerRef} className={`relative inline-block ${className || ''}`} data-state={isOpen ? 'open' : 'closed'} {...rest}>\n {React.cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n handleTriggerClick(e)\n const originalOnClick = (children.props as any)?.onClick\n if (originalOnClick) {\n originalOnClick(e)\n }\n },\n } as any)}\n\n {isOpen && (\n <div className={getPopupContainerClasses()}>\n <div ref={popupRef} className={getPopupClasses()}>\n <div className=\"flex gap-3 relative z-10\">\n <div className=\"flex-shrink-0 mt-0.5\">\n {icon !== undefined ? icon : defaultIcon}\n </div>\n <div className=\"flex-1\">\n <div className=\"font-semibold text-base-content mb-1\">{title}</div>\n {description && (\n <div className=\"text-sm text-base-content/70 mb-3\">{description}</div>\n )}\n <div className=\"flex justify-end gap-2 mt-3\">\n {showCancel && (\n <button\n className={`btn btn-sm ${getButtonClass(cancelType)}`}\n onClick={handleCancel}\n disabled={loading}\n >\n {cancelText}\n </button>\n )}\n <button\n className={`btn btn-sm ${getButtonClass(okType)}`}\n onClick={handleConfirm}\n disabled={loading}\n >\n {loading && <span className=\"loading loading-spinner loading-xs\"></span>}\n {okText}\n </button>\n </div>\n </div>\n </div>\n <div className={getArrowClasses()} />\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["Popconfirm","children","title","description","onConfirm","onCancel","okText","cancelText","okType","cancelType","placement","disabled","icon","showCancel","className","rest","isOpen","setIsOpen","useState","loading","setLoading","containerRef","useRef","popupRef","useEffect","handleClickOutside","event","handleTriggerClick","e","handleConfirm","handleCancel","getPopupContainerClasses","getPopupClasses","getArrowClasses","buttonClasses","getButtonClass","type","defaultIcon","jsx","jsxs","React","originalOnClick"],"mappings":"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"}
1
+ {"version":3,"file":"Popconfirm.js","sources":["../../src/components/Popconfirm.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react'\n\n// DaisyUI classes\nconst dBtn = 'btn'\nconst dBtnSm = 'btn-sm'\nconst dBtnPrimary = 'btn-primary'\nconst dBtnSecondary = 'btn-secondary'\nconst dBtnAccent = 'btn-accent'\nconst dBtnSuccess = 'btn-success'\nconst dBtnWarning = 'btn-warning'\nconst dBtnError = 'btn-error'\nconst dBtnInfo = 'btn-info'\nconst dBtnGhost = 'btn-ghost'\nconst dLoading = 'loading'\nconst dLoadingSpinner = 'loading-spinner'\nconst dLoadingXs = 'loading-xs'\n\nexport interface PopconfirmProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n children: React.ReactElement\n title: React.ReactNode\n description?: React.ReactNode\n onConfirm?: () => void | Promise<void>\n onCancel?: () => void\n okText?: string\n cancelText?: string\n okType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\n cancelType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'ghost'\n placement?: 'top' | 'bottom' | 'left' | 'right'\n disabled?: boolean\n icon?: React.ReactNode\n showCancel?: boolean\n}\n\nexport const Popconfirm: React.FC<PopconfirmProps> = ({\n children,\n title,\n description,\n onConfirm,\n onCancel,\n okText = 'OK',\n cancelText = 'Cancel',\n okType = 'primary',\n cancelType = 'ghost',\n placement = 'top',\n disabled = false,\n icon,\n showCancel = true,\n className,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [loading, setLoading] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n const popupRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(event.target as Node) &&\n popupRef.current &&\n !popupRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen])\n\n const handleTriggerClick = (e: React.MouseEvent) => {\n if (disabled) return\n e.stopPropagation()\n setIsOpen(!isOpen)\n }\n\n const handleConfirm = async () => {\n if (onConfirm) {\n setLoading(true)\n try {\n await onConfirm()\n setIsOpen(false)\n } finally {\n setLoading(false)\n }\n } else {\n setIsOpen(false)\n }\n }\n\n const handleCancel = () => {\n onCancel?.()\n setIsOpen(false)\n }\n\n const getPopupContainerClasses = () => {\n const positions = {\n top: 'bottom-full left-1/2 -translate-x-1/2 mb-3',\n bottom: 'top-full left-1/2 -translate-x-1/2 mt-3',\n left: 'right-full top-1/2 -translate-y-1/2 mr-3',\n right: 'left-full top-1/2 -translate-y-1/2 ml-3',\n }\n\n return `absolute z-50 ${positions[placement]}`\n }\n\n const getPopupClasses = () => {\n return 'bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg'\n }\n\n const getArrowClasses = () => {\n const base = 'absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg'\n\n const positions = {\n top: 'bottom-[-5px] left-1/2 -translate-x-1/2',\n bottom: 'top-[-5px] left-1/2 -translate-x-1/2',\n left: 'right-[-5px] top-1/2 -translate-y-1/2',\n right: 'left-[-5px] top-1/2 -translate-y-1/2',\n }\n\n return `${base} ${positions[placement]}`\n }\n\n const buttonClasses = {\n primary: dBtnPrimary,\n secondary: dBtnSecondary,\n accent: dBtnAccent,\n success: dBtnSuccess,\n warning: dBtnWarning,\n error: dBtnError,\n info: dBtnInfo,\n ghost: dBtnGhost,\n } as const\n\n const getButtonClass = (type: keyof typeof buttonClasses) => {\n return buttonClasses[type]\n }\n\n const defaultIcon = (\n <svg\n className=\"w-5 h-5 text-warning\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n )\n\n return (\n <div ref={containerRef} className={`relative inline-block ${className || ''}`} data-state={isOpen ? 'open' : 'closed'} {...rest}>\n {React.cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n handleTriggerClick(e)\n const originalOnClick = (children.props as any)?.onClick\n if (originalOnClick) {\n originalOnClick(e)\n }\n },\n } as any)}\n\n {isOpen && (\n <div className={getPopupContainerClasses()}>\n <div ref={popupRef} className={getPopupClasses()}>\n <div className=\"flex gap-3 relative z-10\">\n <div className=\"flex-shrink-0 mt-0.5\">\n {icon !== undefined ? icon : defaultIcon}\n </div>\n <div className=\"flex-1\">\n <div className=\"font-semibold text-base-content mb-1\">{title}</div>\n {description && (\n <div className=\"text-sm text-base-content/70 mb-3\">{description}</div>\n )}\n <div className=\"flex justify-end gap-2 mt-3\">\n {showCancel && (\n <button\n className={`${dBtn} ${dBtnSm} ${getButtonClass(cancelType)}`}\n onClick={handleCancel}\n disabled={loading}\n >\n {cancelText}\n </button>\n )}\n <button\n className={`${dBtn} ${dBtnSm} ${getButtonClass(okType)}`}\n onClick={handleConfirm}\n disabled={loading}\n >\n {loading && <span className={`${dLoading} ${dLoadingSpinner} ${dLoadingXs}`}></span>}\n {okText}\n </button>\n </div>\n </div>\n </div>\n <div className={getArrowClasses()} />\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["dBtn","dBtnSm","dBtnPrimary","dBtnSecondary","dBtnAccent","dBtnSuccess","dBtnWarning","dBtnError","dBtnInfo","dBtnGhost","dLoading","dLoadingSpinner","dLoadingXs","Popconfirm","children","title","description","onConfirm","onCancel","okText","cancelText","okType","cancelType","placement","disabled","icon","showCancel","className","rest","isOpen","setIsOpen","useState","loading","setLoading","containerRef","useRef","popupRef","useEffect","handleClickOutside","event","handleTriggerClick","e","handleConfirm","handleCancel","getPopupContainerClasses","getPopupClasses","getArrowClasses","buttonClasses","getButtonClass","type","defaultIcon","jsx","jsxs","React","originalOnClick"],"mappings":"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"}
@@ -1,23 +1,23 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- const p = {
3
- neutral: "progress-neutral",
4
- primary: "progress-primary",
5
- secondary: "progress-secondary",
6
- accent: "progress-accent",
7
- info: "progress-info",
8
- success: "progress-success",
9
- warning: "progress-warning",
10
- error: "progress-error"
1
+ import { jsx as g } from "react/jsx-runtime";
2
+ const t = "progress", a = "progress-neutral", p = "progress-primary", d = "progress-secondary", i = "progress-accent", P = "progress-info", l = "progress-success", u = "progress-warning", f = "progress-error", m = {
3
+ neutral: a,
4
+ primary: p,
5
+ secondary: d,
6
+ accent: i,
7
+ info: P,
8
+ success: l,
9
+ warning: u,
10
+ error: f
11
11
  };
12
- function t({ value: s, max: e = 100, type: r, className: o = "", ...n }) {
13
- const a = [
14
- "progress",
15
- r && p[r],
16
- o
12
+ function j({ value: s, max: o = 100, type: r, className: e = "", ...n }) {
13
+ const c = [
14
+ t,
15
+ r && m[r],
16
+ e
17
17
  ].filter(Boolean).join(" ");
18
- return /* @__PURE__ */ c("progress", { className: a, value: s, max: e, ...n });
18
+ return /* @__PURE__ */ g("progress", { className: c, value: s, max: o, ...n });
19
19
  }
20
20
  export {
21
- t as Progress
21
+ j as Progress
22
22
  };
23
23
  //# sourceMappingURL=Progress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","sources":["../../src/components/Progress.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface ProgressProps extends React.ProgressHTMLAttributes<HTMLProgressElement> {\n type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n}\n\nconst typeClasses = {\n neutral: 'progress-neutral',\n primary: 'progress-primary',\n secondary: 'progress-secondary',\n accent: 'progress-accent',\n info: 'progress-info',\n success: 'progress-success',\n warning: 'progress-warning',\n error: 'progress-error',\n} as const\n\nexport function Progress({ value, max = 100, type, className = '', ...rest }: ProgressProps) {\n const classes = [\n 'progress',\n type && typeClasses[type],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return <progress className={classes} value={value} max={max} {...rest} />\n}\n"],"names":["typeClasses","Progress","value","max","type","className","rest","classes"],"mappings":";AAMA,MAAMA,IAAc;AAAA,EAClB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AACT;AAEO,SAASC,EAAS,EAAE,OAAAC,GAAO,KAAAC,IAAM,KAAK,MAAAC,GAAM,WAAAC,IAAY,IAAI,GAAGC,KAAuB;AAC3F,QAAMC,IAAU;AAAA,IACd;AAAA,IACAH,KAAQJ,EAAYI,CAAI;AAAA,IACxBC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,2BAAQ,YAAA,EAAS,WAAWE,GAAS,OAAAL,GAAc,KAAAC,GAAW,GAAGG,GAAM;AACzE;"}
1
+ {"version":3,"file":"Progress.js","sources":["../../src/components/Progress.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dProgress = 'progress'\nconst dProgressNeutral = 'progress-neutral'\nconst dProgressPrimary = 'progress-primary'\nconst dProgressSecondary = 'progress-secondary'\nconst dProgressAccent = 'progress-accent'\nconst dProgressInfo = 'progress-info'\nconst dProgressSuccess = 'progress-success'\nconst dProgressWarning = 'progress-warning'\nconst dProgressError = 'progress-error'\n\nexport interface ProgressProps extends React.ProgressHTMLAttributes<HTMLProgressElement> {\n type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n}\n\nconst typeClasses = {\n neutral: dProgressNeutral,\n primary: dProgressPrimary,\n secondary: dProgressSecondary,\n accent: dProgressAccent,\n info: dProgressInfo,\n success: dProgressSuccess,\n warning: dProgressWarning,\n error: dProgressError,\n} as const\n\nexport function Progress({ value, max = 100, type, className = '', ...rest }: ProgressProps) {\n const classes = [\n dProgress,\n type && typeClasses[type],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return <progress className={classes} value={value} max={max} {...rest} />\n}\n"],"names":["dProgress","dProgressNeutral","dProgressPrimary","dProgressSecondary","dProgressAccent","dProgressInfo","dProgressSuccess","dProgressWarning","dProgressError","typeClasses","Progress","value","max","type","className","rest","classes"],"mappings":";AAGA,MAAMA,IAAY,YACZC,IAAmB,oBACnBC,IAAmB,oBACnBC,IAAqB,sBACrBC,IAAkB,mBAClBC,IAAgB,iBAChBC,IAAmB,oBACnBC,IAAmB,oBACnBC,IAAiB,kBAMjBC,IAAc;AAAA,EAClB,SAASR;AAAA,EACT,SAASC;AAAA,EACT,WAAWC;AAAA,EACX,QAAQC;AAAA,EACR,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,SAASC;AAAA,EACT,OAAOC;AACT;AAEO,SAASE,EAAS,EAAE,OAAAC,GAAO,KAAAC,IAAM,KAAK,MAAAC,GAAM,WAAAC,IAAY,IAAI,GAAGC,KAAuB;AAC3F,QAAMC,IAAU;AAAA,IACdhB;AAAA,IACAa,KAAQJ,EAAYI,CAAI;AAAA,IACxBC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,2BAAQ,YAAA,EAAS,WAAWE,GAAS,OAAAL,GAAc,KAAAC,GAAW,GAAGG,GAAM;AACzE;"}