@versaur/react 1.0.11 → 1.0.12

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.
package/dist/blocks.d.ts CHANGED
@@ -1208,7 +1208,33 @@ declare const TableCheckbox: ForwardRefExoticComponent<TableCheckboxProps & RefA
1208
1208
  /**
1209
1209
  * Table.Checkbox - built-in checkbox for row selection
1210
1210
  */
1211
- export declare interface TableCheckboxProps {
1211
+ export declare type TableCheckboxProps = {
1212
+ /**
1213
+ * Whether this is the select-all checkbox in the header
1214
+ */
1215
+ isMain: true;
1216
+ /**
1217
+ * Unique row identifier (not needed for main checkbox)
1218
+ */
1219
+ rowId?: never;
1220
+ /**
1221
+ * Whether checkbox is checked (optional - managed by Table context)
1222
+ */
1223
+ checked?: boolean;
1224
+ /**
1225
+ * Indeterminate state (e.g., for select-all checkbox)
1226
+ */
1227
+ indeterminate?: boolean;
1228
+ /**
1229
+ * Callback when checkbox state changes (optional - managed by Table context)
1230
+ */
1231
+ onChange?: (checked: boolean) => void;
1232
+ } | {
1233
+ /**
1234
+ * Whether this is the select-all checkbox in the header
1235
+ * @default false
1236
+ */
1237
+ isMain?: false;
1212
1238
  /**
1213
1239
  * Unique row identifier
1214
1240
  */
@@ -1218,14 +1244,14 @@ export declare interface TableCheckboxProps {
1218
1244
  */
1219
1245
  checked?: boolean;
1220
1246
  /**
1221
- * Indeterminate state (e.g., for parent checkbox)
1247
+ * Indeterminate state (e.g., for select-all checkbox)
1222
1248
  */
1223
1249
  indeterminate?: boolean;
1224
1250
  /**
1225
1251
  * Callback when checkbox state changes (optional - managed by Table context)
1226
1252
  */
1227
1253
  onChange?: (checked: boolean) => void;
1228
- }
1254
+ };
1229
1255
 
1230
1256
  /**
1231
1257
  * TableCol - polymorphic cell with grid area support
@@ -1324,18 +1350,22 @@ declare interface TableSelectionData {
1324
1350
  }
1325
1351
 
1326
1352
  /**
1327
- * TableToolbar - renders toolbar content with optional render function receiving selected row IDs
1353
+ * TableToolbar - renders toolbar content with optional render functions for left and right slots
1328
1354
  */
1329
1355
  declare const TableToolbar: ForwardRefExoticComponent<TableToolbarProps & RefAttributes<HTMLDivElement>>;
1330
1356
 
1331
1357
  /**
1332
- * Table.Toolbar - generic slot for action controls with optional render function
1358
+ * Table.Toolbar - generic slot for action controls with optional render functions
1333
1359
  */
1334
1360
  export declare interface TableToolbarProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
1335
1361
  /**
1336
- * Render function receives selected row IDs Set, or regular children
1362
+ * Render function for left-aligned content (receives selected row IDs Set)
1363
+ */
1364
+ leftContent?: ReactNode | ((selectedIds: Set<string | number>) => ReactNode);
1365
+ /**
1366
+ * Render function for right-aligned content (receives selected row IDs Set)
1337
1367
  */
1338
- children?: ReactNode | ((selectedIds: Set<string | number>) => ReactNode);
1368
+ rightContent?: ReactNode | ((selectedIds: Set<string | number>) => ReactNode);
1339
1369
  }
1340
1370
 
1341
1371
  /**
package/dist/blocks.js CHANGED
@@ -15,7 +15,7 @@ function Gt() {
15
15
  throw new Error("Accordion.Summary must be used within an Accordion component");
16
16
  return e;
17
17
  }
18
- function Pt({ summary: e, open: t, onOpenChange: a, children: s, className: r, ...l }, i) {
18
+ function Pt({ summary: e, open: t, onOpenChange: a, children: s, className: r, ...i }, l) {
19
19
  const [m, u] = P(t ?? !1), c = M(null);
20
20
  z(() => {
21
21
  t !== void 0 && u(t);
@@ -29,11 +29,11 @@ function Pt({ summary: e, open: t, onOpenChange: a, children: s, className: r, .
29
29
  return /* @__PURE__ */ o(ae.Provider, { value: { isOpen: m, toggle: p }, children: /* @__PURE__ */ y(
30
30
  "details",
31
31
  {
32
- ref: i || c,
32
+ ref: l || c,
33
33
  className: d(D.item, r),
34
34
  open: m,
35
35
  ...N,
36
- ...l,
36
+ ...i,
37
37
  children: [
38
38
  e,
39
39
  /* @__PURE__ */ o("div", { className: D.content, children: s })
@@ -44,18 +44,18 @@ function Pt({ summary: e, open: t, onOpenChange: a, children: s, className: r, .
44
44
  const se = n(Pt);
45
45
  se.displayName = "Accordion";
46
46
  const oe = n(
47
- ({ children: e, right: t, clamp: a = 2, className: s, ...r }, l) => {
48
- const { isOpen: i, toggle: m } = Gt(), u = M(null), c = (p) => {
47
+ ({ children: e, right: t, clamp: a = 2, className: s, ...r }, i) => {
48
+ const { isOpen: l, toggle: m } = Gt(), u = M(null), c = (p) => {
49
49
  p.preventDefault(), !(u.current && u.current.contains(p.target)) && m();
50
50
  };
51
51
  return /* @__PURE__ */ y(
52
52
  "summary",
53
53
  {
54
- ref: l,
54
+ ref: i,
55
55
  className: d(D.trigger, s),
56
56
  onClick: c,
57
57
  role: "button",
58
- "aria-expanded": i,
58
+ "aria-expanded": l,
59
59
  ...r,
60
60
  children: [
61
61
  /* @__PURE__ */ o("span", { className: D.label, style: { "--_clamp": a }, children: e }),
@@ -76,8 +76,8 @@ const na = Object.assign(se, {
76
76
  align: a = "center",
77
77
  wrap: s = "nowrap",
78
78
  "aria-label": r = "Avatar group",
79
- children: l,
80
- className: i,
79
+ children: i,
80
+ className: l,
81
81
  ...m
82
82
  }, u) => {
83
83
  const c = v({ align: a, direction: e, size: t, wrap: s });
@@ -85,12 +85,12 @@ const na = Object.assign(se, {
85
85
  "div",
86
86
  {
87
87
  ref: u,
88
- className: d(St["avatar-group"], i),
88
+ className: d(St["avatar-group"], l),
89
89
  role: "group",
90
90
  "aria-label": r,
91
91
  ...c,
92
92
  ...m,
93
- children: l
93
+ children: i
94
94
  }
95
95
  );
96
96
  }
@@ -113,25 +113,25 @@ function $t() {
113
113
  throw new Error("Tabs.Item must be used within a Tabs component");
114
114
  return e;
115
115
  }
116
- const le = n(({ value: e, onChange: t, children: a, className: s }, r) => {
117
- const l = M(null), i = M(/* @__PURE__ */ new Map()), [m, u] = P(0), [c, p] = P(0), N = () => {
118
- const f = i.current.get(e);
119
- if (!f || !l.current)
116
+ const ie = n(({ value: e, onChange: t, children: a, className: s }, r) => {
117
+ const i = M(null), l = M(/* @__PURE__ */ new Map()), [m, u] = P(0), [c, p] = P(0), N = () => {
118
+ const f = l.current.get(e);
119
+ if (!f || !i.current)
120
120
  return;
121
- const h = l.current.getBoundingClientRect(), g = f.getBoundingClientRect(), ht = g.left - h.left + l.current.scrollLeft, { width: gt } = g;
121
+ const h = i.current.getBoundingClientRect(), g = f.getBoundingClientRect(), ht = g.left - h.left + i.current.scrollLeft, { width: gt } = g;
122
122
  u(ht), p(gt), f.scrollIntoView({
123
123
  behavior: "smooth",
124
124
  block: "nearest",
125
125
  inline: "center"
126
126
  });
127
127
  }, b = (f, h) => {
128
- h && i.current.set(f, h);
128
+ h && l.current.set(f, h);
129
129
  };
130
130
  Ft(() => {
131
131
  N();
132
- }, [e]), jt(l, N);
132
+ }, [e]), jt(i, N);
133
133
  const S = v({});
134
- return /* @__PURE__ */ o(re.Provider, { value: { activeValue: e, onChange: t, registerTrigger: b }, children: /* @__PURE__ */ y("nav", { ref: ee(r, l), className: d(G.tabs, s), ...S, children: [
134
+ return /* @__PURE__ */ o(re.Provider, { value: { activeValue: e, onChange: t, registerTrigger: b }, children: /* @__PURE__ */ y("nav", { ref: ee(r, i), className: d(G.tabs, s), ...S, children: [
135
135
  /* @__PURE__ */ o("ul", { className: G.tablist, role: "tablist", children: a }),
136
136
  /* @__PURE__ */ o(
137
137
  "div",
@@ -145,14 +145,14 @@ const le = n(({ value: e, onChange: t, children: a, className: s }, r) => {
145
145
  )
146
146
  ] }) });
147
147
  });
148
- le.displayName = "Tabs";
149
- const ie = n(
148
+ ie.displayName = "Tabs";
149
+ const le = n(
150
150
  ({ value: e, disabled: t = !1, children: a, className: s }, r) => {
151
- const { activeValue: l, onChange: i, registerTrigger: m } = $t(), u = l === e;
151
+ const { activeValue: i, onChange: l, registerTrigger: m } = $t(), u = i === e;
152
152
  let c;
153
153
  t ? c = "disabled" : u ? c = "active" : c = "default";
154
154
  const p = () => {
155
- t || i(e);
155
+ t || l(e);
156
156
  };
157
157
  return /* @__PURE__ */ o("li", { className: G.tabitem, children: /* @__PURE__ */ o(
158
158
  "button",
@@ -171,7 +171,7 @@ const ie = n(
171
171
  ) });
172
172
  }
173
173
  );
174
- ie.displayName = "Tabs.Item";
174
+ le.displayName = "Tabs.Item";
175
175
  function Et(e) {
176
176
  return {
177
177
  "aria-labelledby": `tabs-trigger-${e}`,
@@ -179,18 +179,18 @@ function Et(e) {
179
179
  role: "tabpanel"
180
180
  };
181
181
  }
182
- const da = Object.assign(le, {
183
- Item: ie,
182
+ const da = Object.assign(ie, {
183
+ Item: le,
184
184
  getPanelAttribute: Et
185
185
  }), _t = n(
186
- ({ icon: e, title: t, subtitle: a, action: s, className: r, ...l }, i) => /* @__PURE__ */ y(
186
+ ({ icon: e, title: t, subtitle: a, action: s, className: r, ...i }, l) => /* @__PURE__ */ y(
187
187
  "section",
188
188
  {
189
- ref: i,
189
+ ref: l,
190
190
  className: d(F["no-results"], r),
191
191
  role: "status",
192
192
  "aria-label": t,
193
- ...l,
193
+ ...i,
194
194
  children: [
195
195
  /* @__PURE__ */ y("header", { className: F["no-results-header"], children: [
196
196
  /* @__PURE__ */ o("div", { className: F["no-results-icon"], children: /* @__PURE__ */ o(E, { as: e, color: "inherit", "aria-hidden": "true" }) }),
@@ -204,7 +204,7 @@ const da = Object.assign(le, {
204
204
  );
205
205
  _t.displayName = "NoResults";
206
206
  const ce = n(
207
- ({ layout: e, columns: t = "repeat(3, 1fr)", gap: a, children: s, className: r, style: l, ...i }, m) => {
207
+ ({ layout: e, columns: t = "repeat(3, 1fr)", gap: a, children: s, className: r, style: i, ...l }, m) => {
208
208
  const u = v({
209
209
  layout: e
210
210
  });
@@ -217,9 +217,9 @@ const ce = n(
217
217
  style: {
218
218
  "--_columns": t,
219
219
  ...a !== void 0 && { "--_gap": typeof a == "number" ? `${a}px` : a },
220
- ...l
220
+ ...i
221
221
  },
222
- ...i,
222
+ ...l,
223
223
  children: s
224
224
  }
225
225
  );
@@ -227,16 +227,16 @@ const ce = n(
227
227
  );
228
228
  ce.displayName = "AttributeList";
229
229
  const ne = n(
230
- ({ title: e, area: t, children: a, className: s, style: r, ...l }, i) => /* @__PURE__ */ y(
230
+ ({ title: e, area: t, children: a, className: s, style: r, ...i }, l) => /* @__PURE__ */ y(
231
231
  "div",
232
232
  {
233
- ref: i,
233
+ ref: l,
234
234
  className: d(s),
235
235
  style: {
236
236
  "--_area": t,
237
237
  ...r
238
238
  },
239
- ...l,
239
+ ...i,
240
240
  children: [
241
241
  /* @__PURE__ */ o("dt", { children: e }),
242
242
  /* @__PURE__ */ o("dd", { children: a })
@@ -254,8 +254,8 @@ const ma = Object.assign(ce, {
254
254
  align: a = "center",
255
255
  wrap: s = "nowrap",
256
256
  "aria-label": r = "Badge group",
257
- children: l,
258
- className: i,
257
+ children: i,
258
+ className: l,
259
259
  ...m
260
260
  }, u) => {
261
261
  const c = v({
@@ -268,47 +268,47 @@ const ma = Object.assign(ce, {
268
268
  "div",
269
269
  {
270
270
  ref: u,
271
- className: d(Bt["badge-group"], i),
271
+ className: d(Bt["badge-group"], l),
272
272
  role: "group",
273
273
  "aria-label": r,
274
274
  ...c,
275
275
  ...m,
276
- children: l
276
+ children: i
277
277
  }
278
278
  );
279
279
  }
280
280
  );
281
281
  Ct.displayName = "BadgeGroup";
282
- function Vt({ as: e = "div", size: t = "md", border: a, children: s, className: r, ...l }, i) {
282
+ function Vt({ as: e = "div", size: t = "md", border: a, children: s, className: r, ...i }, l) {
283
283
  const m = v({
284
284
  border: a,
285
285
  interactive: e === "button" ? "true" : "false",
286
286
  size: t
287
287
  });
288
- return /* @__PURE__ */ o(e === "button" ? "button" : "div", { ref: i, className: d(C.card, r), ...m, ...l, children: s });
288
+ return /* @__PURE__ */ o(e === "button" ? "button" : "div", { ref: l, className: d(C.card, r), ...m, ...i, children: s });
289
289
  }
290
290
  const de = n(
291
291
  Vt
292
292
  );
293
293
  de.displayName = "Card";
294
294
  const me = n(
295
- ({ justify: e, gap: t, children: a, className: s, ...r }, l) => {
296
- const i = v({ gap: t, justify: e });
297
- return /* @__PURE__ */ o("div", { ref: l, className: d(C.header, s), ...i, ...r, children: a });
295
+ ({ justify: e, gap: t, children: a, className: s, ...r }, i) => {
296
+ const l = v({ gap: t, justify: e });
297
+ return /* @__PURE__ */ o("div", { ref: i, className: d(C.header, s), ...l, ...r, children: a });
298
298
  }
299
299
  );
300
300
  me.displayName = "Card.Header";
301
301
  const ue = n(
302
- ({ align: e, gap: t, children: a, className: s, ...r }, l) => {
303
- const i = v({ align: e, gap: t });
304
- return /* @__PURE__ */ o("div", { ref: l, className: d(C.body, s), ...i, ...r, children: a });
302
+ ({ align: e, gap: t, children: a, className: s, ...r }, i) => {
303
+ const l = v({ align: e, gap: t });
304
+ return /* @__PURE__ */ o("div", { ref: i, className: d(C.body, s), ...l, ...r, children: a });
305
305
  }
306
306
  );
307
307
  ue.displayName = "Card.Body";
308
308
  const pe = n(
309
- ({ justify: e, gap: t, children: a, className: s, ...r }, l) => {
310
- const i = v({ gap: t, justify: e });
311
- return /* @__PURE__ */ o("div", { ref: l, className: d(C.footer, s), ...i, ...r, children: a });
309
+ ({ justify: e, gap: t, children: a, className: s, ...r }, i) => {
310
+ const l = v({ gap: t, justify: e });
311
+ return /* @__PURE__ */ o("div", { ref: i, className: d(C.footer, s), ...l, ...r, children: a });
312
312
  }
313
313
  );
314
314
  pe.displayName = "Card.Footer";
@@ -323,8 +323,8 @@ const ua = Object.assign(de, {
323
323
  maxHeight: a = 400,
324
324
  minWidth: s = 160,
325
325
  maxWidth: r = 320,
326
- gap: l = 8,
327
- value: i,
326
+ gap: i = 8,
327
+ value: l,
328
328
  onChange: m,
329
329
  closeOnClick: u = !1,
330
330
  children: c,
@@ -334,9 +334,9 @@ const ua = Object.assign(de, {
334
334
  id: e,
335
335
  closeOnClick: u,
336
336
  onChange: m,
337
- value: i
337
+ value: l
338
338
  };
339
- return /* @__PURE__ */ o("div", { ref: N, ...p, children: /* @__PURE__ */ o(be.Provider, { value: b, children: /* @__PURE__ */ o(I, { id: e, placement: t, gap: l, triggerType: "focus", children: /* @__PURE__ */ o(
339
+ return /* @__PURE__ */ o("div", { ref: N, ...p, children: /* @__PURE__ */ o(be.Provider, { value: b, children: /* @__PURE__ */ o(I, { id: e, placement: t, gap: i, triggerType: "focus", children: /* @__PURE__ */ o(
340
340
  "div",
341
341
  {
342
342
  className: H["menu-list"],
@@ -363,7 +363,7 @@ const Q = Ne;
363
363
  Q.getTriggerProps = kt;
364
364
  Q.close = Wt;
365
365
  const ye = n(
366
- ({ value: e, disabled: t = !1, leftIcon: a, rightIcon: s, children: r, onClick: l, className: i, ...m }, u) => {
366
+ ({ value: e, disabled: t = !1, leftIcon: a, rightIcon: s, children: r, onClick: i, className: l, ...m }, u) => {
367
367
  const c = R(be), p = c != null && c.onChange && e !== void 0 ? c.value === e : !1, N = v({
368
368
  active: p,
369
369
  disabled: t
@@ -372,13 +372,13 @@ const ye = n(
372
372
  S.preventDefault();
373
373
  return;
374
374
  }
375
- c != null && c.onChange && e !== void 0 && c.onChange(e), l == null || l(S), c != null && c.closeOnClick && (c != null && c.id) && I.close({ id: c.id });
375
+ c != null && c.onChange && e !== void 0 && c.onChange(e), i == null || i(S), c != null && c.closeOnClick && (c != null && c.id) && I.close({ id: c.id });
376
376
  };
377
377
  return /* @__PURE__ */ y(
378
378
  "button",
379
379
  {
380
380
  ref: u,
381
- className: d(H["menu-item"], i),
381
+ className: d(H["menu-item"], l),
382
382
  disabled: t,
383
383
  ...N,
384
384
  ...m,
@@ -402,10 +402,15 @@ function fe() {
402
402
  throw new Error("useTableProvider must be used within a Table component");
403
403
  return e;
404
404
  }
405
- const he = n(({ children: e, className: t, ...a }, s) => {
406
- const r = fe(), l = typeof e == "function" ? e(r.selectedRows) : e;
407
- return /* @__PURE__ */ o("div", { ref: s, className: d(B.toolbar, t), ...a, children: l });
408
- });
405
+ const he = n(
406
+ ({ leftContent: e, rightContent: t, className: a, ...s }, r) => {
407
+ const i = fe(), l = typeof e == "function" ? e(i.selectedRows) : e, m = typeof t == "function" ? t(i.selectedRows) : t;
408
+ return /* @__PURE__ */ y("div", { ref: r, className: d(B.toolbar, a), ...s, children: [
409
+ /* @__PURE__ */ o("div", { children: l }),
410
+ /* @__PURE__ */ o("div", { children: m })
411
+ ] });
412
+ }
413
+ );
409
414
  he.displayName = "Table.Toolbar";
410
415
  const ge = n(({ className: e, ...t }, a) => /* @__PURE__ */ o("div", { ref: a, className: d(B.header, e), ...t }));
411
416
  ge.displayName = "Table.Header";
@@ -416,45 +421,45 @@ Se.displayName = "Table.Footer";
416
421
  const we = n(({ className: e, ...t }, a) => /* @__PURE__ */ o("div", { ref: a, className: d(B.row, e), ...t }));
417
422
  we.displayName = "Table.Row";
418
423
  const Be = n(
419
- ({ as: e = "div", area: t, variant: a, className: s, style: r, ...l }, i) => {
424
+ ({ as: e = "div", area: t, variant: a, className: s, style: r, ...i }, l) => {
420
425
  const m = v({
421
426
  variant: a
422
427
  });
423
428
  return /* @__PURE__ */ o(
424
429
  e,
425
430
  {
426
- ref: i,
431
+ ref: l,
427
432
  className: d(B.col, s),
428
433
  style: {
429
434
  "--_area": t,
430
435
  ...r
431
436
  },
432
437
  ...m,
433
- ...l
438
+ ...i
434
439
  }
435
440
  );
436
441
  }
437
442
  );
438
443
  Be.displayName = "Table.Col";
439
444
  const Ae = n(
440
- ({ rowId: e, checked: t, indeterminate: a, onChange: s }, r) => {
441
- const l = fe(), i = e === "select-all", m = i ? l.selectedRows.size === l.allRowIds.size && l.allRowIds.size > 0 : l.selectedRows.has(e);
442
- !i && e && l.registerRowId(e);
445
+ ({ rowId: e, isMain: t = !1, checked: a, indeterminate: s, onChange: r }, i) => {
446
+ const l = fe(), m = t ? l.selectedRows.size === l.allRowIds.size && l.allRowIds.size > 0 : e !== void 0 && l.selectedRows.has(e);
447
+ !t && e !== void 0 && l.registerRowId(e);
443
448
  const u = (p) => {
444
- i ? l.onSelectAll(Array.from(l.allRowIds), p.target.checked) : l.onSelectionChange(e, p.target.checked), s == null || s(p.target.checked);
445
- }, c = i && l.selectedRows.size > 0 && l.selectedRows.size < l.allRowIds.size;
449
+ t ? l.onSelectAll(Array.from(l.allRowIds), p.target.checked) : e !== void 0 && l.onSelectionChange(e, p.target.checked), r == null || r(p.target.checked);
450
+ }, c = t && l.selectedRows.size > 0 && l.selectedRows.size < l.allRowIds.size;
446
451
  return /* @__PURE__ */ y("label", { className: k.checkbox, children: [
447
452
  /* @__PURE__ */ o(
448
453
  "input",
449
454
  {
450
455
  ref: (p) => {
451
- p && (p.indeterminate = c || a || !1, typeof r == "function" ? r(p) : r && (r.current = p));
456
+ p && (p.indeterminate = c || s || !1, typeof i == "function" ? i(p) : i && (i.current = p));
452
457
  },
453
458
  type: "checkbox",
454
459
  className: k.input,
455
- checked: t !== void 0 ? t : m,
460
+ checked: a !== void 0 ? a : m,
456
461
  onChange: u,
457
- "aria-label": i ? "Select all rows" : `Select row ${e}`
462
+ "aria-label": t ? "Select all rows" : `Select row ${e}`
458
463
  }
459
464
  ),
460
465
  /* @__PURE__ */ o("span", { className: k.indicator })
@@ -463,7 +468,7 @@ const Ae = n(
463
468
  );
464
469
  Ae.displayName = "Table.Checkbox";
465
470
  const Re = n(
466
- ({ as: e = "div", title: t, subtitle: a, size: s = "md", className: r, ...l }, i) => /* @__PURE__ */ y(e, { ref: i, className: d(B.col, r), "data-variant": "double-line", ...l, children: [
471
+ ({ as: e = "div", title: t, subtitle: a, size: s = "md", className: r, ...i }, l) => /* @__PURE__ */ y(e, { ref: l, className: d(B.col, r), "data-variant": "double-line", ...i, children: [
467
472
  /* @__PURE__ */ o("div", { className: B["double-line-title"], "data-size": s, children: t }),
468
473
  /* @__PURE__ */ o("div", { className: B["double-line-subtitle"], "data-size": s, children: a })
469
474
  ] })
@@ -482,8 +487,8 @@ const Le = n(({ icon: e, children: t }, a) => {
482
487
  variant: "ghost",
483
488
  className: d(B["action-trigger"]),
484
489
  "aria-label": "Actions",
485
- onClick: (l) => {
486
- l.stopPropagation();
490
+ onClick: (i) => {
491
+ i.stopPropagation();
487
492
  },
488
493
  size: "small"
489
494
  }
@@ -492,7 +497,7 @@ const Le = n(({ icon: e, children: t }, a) => {
492
497
  ] });
493
498
  });
494
499
  Le.displayName = "Table.Action";
495
- const xe = n(({ columns: e, children: t, className: a, style: s, onSelectionChange: r, ...l }, i) => {
500
+ const xe = n(({ columns: e, children: t, className: a, style: s, onSelectionChange: r, ...i }, l) => {
496
501
  const [m, u] = P(/* @__PURE__ */ new Set()), c = M(/* @__PURE__ */ new Set()), p = (f, h) => {
497
502
  const g = new Set(m);
498
503
  h ? g.add(f) : g.delete(f), u(g), r == null || r({
@@ -519,13 +524,13 @@ const xe = n(({ columns: e, children: t, className: a, style: s, onSelectionChan
519
524
  return /* @__PURE__ */ o(ve.Provider, { value: S, children: /* @__PURE__ */ o(
520
525
  "div",
521
526
  {
522
- ref: i,
527
+ ref: l,
523
528
  className: d(B.table, a),
524
529
  style: {
525
530
  "--_columns": e,
526
531
  ...s
527
532
  },
528
- ...l,
533
+ ...i,
529
534
  children: t
530
535
  }
531
536
  ) });
@@ -549,8 +554,8 @@ const pa = Object.assign(xe, {
549
554
  align: a = "center",
550
555
  wrap: s = "nowrap",
551
556
  fluid: r = !1,
552
- "aria-label": l = "Button group",
553
- children: i,
557
+ "aria-label": i = "Button group",
558
+ children: l,
554
559
  className: m,
555
560
  ...u
556
561
  }, c) => {
@@ -567,10 +572,10 @@ const pa = Object.assign(xe, {
567
572
  ref: c,
568
573
  className: d(At["button-group"], m),
569
574
  role: "group",
570
- "aria-label": l,
575
+ "aria-label": i,
571
576
  ...p,
572
577
  ...u,
573
- children: i
578
+ children: l
574
579
  }
575
580
  );
576
581
  }
@@ -585,17 +590,17 @@ Me.displayName = "TopBar.Centred";
585
590
  const He = n(({ children: e, className: t, ...a }, s) => /* @__PURE__ */ o("div", { ref: s, className: d(L["top-bar-trailing"], t), ...a, children: e }));
586
591
  He.displayName = "TopBar.Trailing";
587
592
  const Ge = n(
588
- ({ as: e = "button", active: t, disabled: a, icon: s, className: r, children: l, ...i }, m) => /* @__PURE__ */ y(
593
+ ({ as: e = "button", active: t, disabled: a, icon: s, className: r, children: i, ...l }, m) => /* @__PURE__ */ y(
589
594
  e,
590
595
  {
591
596
  ref: m,
592
597
  className: d(L["top-bar-item"], r),
593
598
  "data-active": t ? "" : void 0,
594
599
  "data-disabled": a ? "" : void 0,
595
- ...i,
600
+ ...l,
596
601
  children: [
597
602
  s && /* @__PURE__ */ o("span", { className: L["top-bar-item-icon"], children: s }),
598
- l
603
+ i
599
604
  ]
600
605
  }
601
606
  )
@@ -610,7 +615,7 @@ const ba = Object.assign(Fe, {
610
615
  ListItem: Pe,
611
616
  Trailing: He
612
617
  }), ze = A(void 0), U = n(
613
- ({ direction: e = "horizontal", gap: t, value: a, onChange: s, children: r, className: l, ...i }, m) => {
618
+ ({ direction: e = "horizontal", gap: t, value: a, onChange: s, children: r, className: i, ...l }, m) => {
614
619
  const u = v({ direction: e }), c = {
615
620
  lg: "var(--spacing-4)",
616
621
  md: "var(--spacing-3)",
@@ -624,14 +629,14 @@ const ba = Object.assign(Fe, {
624
629
  "nav",
625
630
  {
626
631
  ref: m,
627
- className: d(j.nav, l),
632
+ className: d(j.nav, i),
628
633
  style: {
629
634
  ...t && {
630
635
  "--vers-comp-nav-gap": c[t]
631
636
  }
632
637
  },
633
638
  ...u,
634
- ...i,
639
+ ...l,
635
640
  children: r
636
641
  }
637
642
  ) });
@@ -646,8 +651,8 @@ const je = n(
646
651
  value: a,
647
652
  disabled: s = !1,
648
653
  loading: r = !1,
649
- leftIcon: l,
650
- rightIcon: i,
654
+ leftIcon: i,
655
+ rightIcon: l,
651
656
  children: m,
652
657
  onClick: u,
653
658
  className: c,
@@ -676,9 +681,9 @@ const je = n(
676
681
  ...p,
677
682
  onClick: h,
678
683
  children: [
679
- l && /* @__PURE__ */ o("span", { className: j["nav-item-icon"], children: /* @__PURE__ */ o(E, { as: l }) }),
684
+ i && /* @__PURE__ */ o("span", { className: j["nav-item-icon"], children: /* @__PURE__ */ o(E, { as: i }) }),
680
685
  m,
681
- i && /* @__PURE__ */ o("span", { className: j["nav-item-icon"], children: /* @__PURE__ */ o(E, { as: i }) })
686
+ l && /* @__PURE__ */ o("span", { className: j["nav-item-icon"], children: /* @__PURE__ */ o(E, { as: l }) })
682
687
  ]
683
688
  }
684
689
  );
@@ -696,7 +701,7 @@ _e.displayName = "Sidebar.Body";
696
701
  const Ce = n(({ children: e, className: t }, a) => /* @__PURE__ */ o("div", { ref: a, className: d(T["sidebar-footer"], t), children: e }));
697
702
  Ce.displayName = "Sidebar.Footer";
698
703
  const Ve = n(
699
- ({ label: e, icon: t, defaultExpanded: a = !0, isExpanded: s, onExpandedChange: r, children: l, className: i }, m) => {
704
+ ({ label: e, icon: t, defaultExpanded: a = !0, isExpanded: s, onExpandedChange: r, children: i, className: l }, m) => {
700
705
  const [u, c] = P(a), p = s !== void 0 ? s : u, N = () => {
701
706
  const b = !p;
702
707
  c(b), r == null || r(b);
@@ -705,7 +710,7 @@ const Ve = n(
705
710
  "div",
706
711
  {
707
712
  ref: m,
708
- className: d(T["sidebar-group"], i),
713
+ className: d(T["sidebar-group"], l),
709
714
  "data-expanded": p ? "" : void 0,
710
715
  children: [
711
716
  /* @__PURE__ */ y("button", { className: T["sidebar-group-header"], onClick: N, "aria-expanded": p, children: [
@@ -713,7 +718,7 @@ const Ve = n(
713
718
  /* @__PURE__ */ o("span", { className: T["sidebar-group-label"], children: e }),
714
719
  /* @__PURE__ */ o(E, { as: Z, className: T["sidebar-group-chevron"], size: "sm" })
715
720
  ] }),
716
- /* @__PURE__ */ o("div", { className: T["sidebar-group-content"], children: /* @__PURE__ */ o("div", { children: l }) })
721
+ /* @__PURE__ */ o("div", { className: T["sidebar-group-content"], children: /* @__PURE__ */ o("div", { children: i }) })
717
722
  ]
718
723
  }
719
724
  );
@@ -721,18 +726,18 @@ const Ve = n(
721
726
  );
722
727
  Ve.displayName = "Sidebar.Group";
723
728
  const ke = n(
724
- ({ as: e = "button", active: t, disabled: a, icon: s, action: r, className: l, children: i, ...m }, u) => /* @__PURE__ */ y(
729
+ ({ as: e = "button", active: t, disabled: a, icon: s, action: r, className: i, children: l, ...m }, u) => /* @__PURE__ */ y(
725
730
  e,
726
731
  {
727
732
  ref: u,
728
- className: d(T["sidebar-item"], l),
733
+ className: d(T["sidebar-item"], i),
729
734
  "data-active": t ? "" : void 0,
730
735
  "data-disabled": a ? "" : void 0,
731
736
  "data-action": r ? "" : void 0,
732
737
  ...m,
733
738
  children: [
734
739
  s && /* @__PURE__ */ o("span", { className: T["sidebar-item-icon"], children: s }),
735
- /* @__PURE__ */ o("span", { className: T["sidebar-item-text"], children: i }),
740
+ /* @__PURE__ */ o("span", { className: T["sidebar-item-text"], children: l }),
736
741
  r && /* @__PURE__ */ o("span", { className: T["sidebar-item-action"], children: r })
737
742
  ]
738
743
  }
@@ -758,7 +763,7 @@ function qt(e, t) {
758
763
  const qe = n(({ children: e, className: t, ...a }, s) => /* @__PURE__ */ o("nav", { ref: s, className: d($["bottom-bar"], t), ...a, children: e }));
759
764
  qe.displayName = "BottomBar";
760
765
  const Je = n(
761
- ({ as: e = "button", href: t, active: a = !1, disabled: s = !1, icon: r, children: l, onClick: i, className: m, ...u }, c) => {
766
+ ({ as: e = "button", href: t, active: a = !1, disabled: s = !1, icon: r, children: i, onClick: l, className: m, ...u }, c) => {
762
767
  const p = qt(e, "a"), N = v({
763
768
  active: a,
764
769
  disabled: s
@@ -767,7 +772,7 @@ const Je = n(
767
772
  h.preventDefault();
768
773
  return;
769
774
  }
770
- i == null || i(h);
775
+ l == null || l(h);
771
776
  }, S = {
772
777
  className: d($["bottom-bar-item"], m),
773
778
  onClick: b,
@@ -777,7 +782,7 @@ const Je = n(
777
782
  };
778
783
  return p && (S.href = t), /* @__PURE__ */ y(e || "button", { ...S, children: [
779
784
  r && /* @__PURE__ */ o("span", { className: $["bottom-bar-item-icon"], children: r }),
780
- l && /* @__PURE__ */ o("span", { className: $["bottom-bar-item-text"], children: l })
785
+ i && /* @__PURE__ */ o("span", { className: $["bottom-bar-item-text"], children: i })
781
786
  ] });
782
787
  }
783
788
  );
@@ -815,11 +820,11 @@ const fa = Object.assign(Ke, {
815
820
  SideLeft: Ze,
816
821
  SideRight: Oe
817
822
  });
818
- function Jt({ columns: e = "1fr", children: t, className: a, style: s, ...r }, l) {
823
+ function Jt({ columns: e = "1fr", children: t, className: a, style: s, ...r }, i) {
819
824
  return /* @__PURE__ */ o(
820
825
  "form",
821
826
  {
822
- ref: l,
827
+ ref: i,
823
828
  className: d(X["form-group"], a),
824
829
  style: {
825
830
  "--_columns": e,
@@ -833,10 +838,10 @@ function Jt({ columns: e = "1fr", children: t, className: a, style: s, ...r }, l
833
838
  const tt = n(Jt);
834
839
  tt.displayName = "FormGroup";
835
840
  const at = n(
836
- ({ area: e, children: t, className: a, style: s, ...r }, l) => /* @__PURE__ */ o(
841
+ ({ area: e, children: t, className: a, style: s, ...r }, i) => /* @__PURE__ */ o(
837
842
  "div",
838
843
  {
839
- ref: l,
844
+ ref: i,
840
845
  className: d(X.field, a),
841
846
  style: {
842
847
  "--_area": e,
@@ -878,12 +883,12 @@ function Kt({ direction: e = "column", children: t, className: a, ...s }, r) {
878
883
  const ot = n(Kt);
879
884
  ot.displayName = "Features";
880
885
  const rt = n(
881
- ({ icon: e, children: t, className: a, "aria-label": s, ...r }, l) => {
886
+ ({ icon: e, children: t, className: a, "aria-label": s, ...r }, i) => {
882
887
  const m = `features-item-${O()}`, u = s ? I.getTooltipTriggerProps({ id: m }) : {};
883
888
  return /* @__PURE__ */ y(
884
889
  "li",
885
890
  {
886
- ref: l,
891
+ ref: i,
887
892
  "aria-label": s,
888
893
  className: d(W.item, a),
889
894
  ...u,
@@ -900,9 +905,9 @@ const rt = n(
900
905
  rt.displayName = "Features.Item";
901
906
  const Qt = Object.assign(ot, {
902
907
  Item: rt
903
- }), ga = Qt, lt = xt.forwardRef(
904
- ({ isOpen: e, onOpenChange: t, children: a, onClick: s, ...r }, l) => {
905
- const i = M(null), m = l || i;
908
+ }), ga = Qt, it = xt.forwardRef(
909
+ ({ isOpen: e, onOpenChange: t, children: a, onClick: s, ...r }, i) => {
910
+ const l = M(null), m = i || l;
906
911
  z(() => {
907
912
  const c = m.current;
908
913
  if (c) {
@@ -937,26 +942,26 @@ const Qt = Object.assign(ot, {
937
942
  return /* @__PURE__ */ o("dialog", { ...r, ref: m, onClick: u, children: a });
938
943
  }
939
944
  );
940
- lt.displayName = "Dialog";
941
- const Y = lt, it = A(void 0), Ut = () => {
942
- const e = R(it);
945
+ it.displayName = "Dialog";
946
+ const Y = it, lt = A(void 0), Ut = () => {
947
+ const e = R(lt);
943
948
  if (!e)
944
949
  throw new Error("Drawer subcomponents must be used within Drawer");
945
950
  return e;
946
951
  }, ct = n(
947
- ({ open: e, onOpenChange: t, placement: a = "right", children: s, className: r, ...l }, i) => {
952
+ ({ open: e, onOpenChange: t, placement: a = "right", children: s, className: r, ...i }, l) => {
948
953
  const m = v({
949
954
  placement: a
950
955
  });
951
- return /* @__PURE__ */ o(it.Provider, { value: { onClose: () => t == null ? void 0 : t(!1) }, children: /* @__PURE__ */ o(
956
+ return /* @__PURE__ */ o(lt.Provider, { value: { onClose: () => t == null ? void 0 : t(!1) }, children: /* @__PURE__ */ o(
952
957
  Y,
953
958
  {
954
- ref: i,
959
+ ref: l,
955
960
  isOpen: e,
956
961
  onOpenChange: t,
957
962
  className: d(e && Rt.drawer, r),
958
963
  ...m,
959
- ...l,
964
+ ...i,
960
965
  children: /* @__PURE__ */ o("div", { className: w.content, children: s })
961
966
  }
962
967
  ) });
@@ -972,8 +977,8 @@ const nt = n(({ onClick: e, ...t }, a) => {
972
977
  variant: "ghost",
973
978
  as: q,
974
979
  "aria-label": "Close",
975
- onClick: (l) => {
976
- s(), e == null || e(l);
980
+ onClick: (i) => {
981
+ s(), e == null || e(i);
977
982
  },
978
983
  className: w.closeButton,
979
984
  ...t
@@ -982,10 +987,10 @@ const nt = n(({ onClick: e, ...t }, a) => {
982
987
  });
983
988
  nt.displayName = "Drawer.CloseButton";
984
989
  const dt = n(
985
- ({ action: e, children: t, tabs: a, className: s, ...r }, l) => /* @__PURE__ */ y(
990
+ ({ action: e, children: t, tabs: a, className: s, ...r }, i) => /* @__PURE__ */ y(
986
991
  "div",
987
992
  {
988
- ref: l,
993
+ ref: i,
989
994
  className: d(w.header, s),
990
995
  ...r,
991
996
  ...e && { "data-action": "" },
@@ -1013,7 +1018,7 @@ const Ta = Object.assign(ct, {
1013
1018
  throw new Error("Modal subcomponents must be used within Modal");
1014
1019
  return e;
1015
1020
  }, ut = n(
1016
- ({ open: e, onOpenChange: t, size: a, position: s, children: r, className: l, ...i }, m) => {
1021
+ ({ open: e, onOpenChange: t, size: a, position: s, children: r, className: i, ...l }, m) => {
1017
1022
  const u = v({ size: a, position: s });
1018
1023
  return /* @__PURE__ */ o(mt.Provider, { value: { onClose: () => t == null ? void 0 : t(!1) }, children: /* @__PURE__ */ o(
1019
1024
  Y,
@@ -1021,10 +1026,10 @@ const Ta = Object.assign(ct, {
1021
1026
  ref: m,
1022
1027
  isOpen: e,
1023
1028
  onOpenChange: t,
1024
- className: d(e && It.modal, l),
1029
+ className: d(e && It.modal, i),
1025
1030
  "data-modal": "",
1026
1031
  ...u,
1027
- ...i,
1032
+ ...l,
1028
1033
  children: /* @__PURE__ */ o("div", { className: w.content, children: r })
1029
1034
  }
1030
1035
  ) });
@@ -1040,8 +1045,8 @@ const pt = n(({ onClick: e, ...t }, a) => {
1040
1045
  variant: "ghost",
1041
1046
  as: q,
1042
1047
  "aria-label": "Close",
1043
- onClick: (l) => {
1044
- s(), e == null || e(l);
1048
+ onClick: (i) => {
1049
+ s(), e == null || e(i);
1045
1050
  },
1046
1051
  className: w.closeButton,
1047
1052
  ...t
@@ -1080,10 +1085,10 @@ const Sa = Object.assign(ut, {
1080
1085
  throw new Error("BottomSheet subcomponents must be used within BottomSheet");
1081
1086
  return e;
1082
1087
  }, vt = n(
1083
- ({ open: e, onOpenChange: t, children: a, className: s, ...r }, l) => /* @__PURE__ */ o(yt.Provider, { value: { onClose: () => t == null ? void 0 : t(!1) }, children: /* @__PURE__ */ o(
1088
+ ({ open: e, onOpenChange: t, children: a, className: s, ...r }, i) => /* @__PURE__ */ o(yt.Provider, { value: { onClose: () => t == null ? void 0 : t(!1) }, children: /* @__PURE__ */ o(
1084
1089
  Y,
1085
1090
  {
1086
- ref: l,
1091
+ ref: i,
1087
1092
  isOpen: e,
1088
1093
  onOpenChange: t,
1089
1094
  className: d(Lt.bottomSheet, s),
@@ -1103,8 +1108,8 @@ const ft = n(
1103
1108
  ref: a,
1104
1109
  variant: "ghost",
1105
1110
  "aria-label": "Close",
1106
- onClick: (l) => {
1107
- s(), e == null || e(l);
1111
+ onClick: (i) => {
1112
+ s(), e == null || e(i);
1108
1113
  },
1109
1114
  className: w.closeButton,
1110
1115
  ...t
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versaur/react",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "React components for Versaur Design System",
5
5
  "repository": {
6
6
  "type": "git",
@@ -49,7 +49,7 @@
49
49
  "peerDependencies": {
50
50
  "react": "^18.0.0 || ^19.0.0",
51
51
  "react-dom": "^18.0.0 || ^19.0.0",
52
- "@versaur/core": "0.0.7",
52
+ "@versaur/core": "0.0.8",
53
53
  "@versaur/icons": "1.0.0"
54
54
  },
55
55
  "scripts": {