@rufous/ui 0.1.69 → 0.1.70

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.
@@ -241,7 +241,17 @@ function DataGrid({
241
241
  const handleMenuOpen = (e, keyStr) => {
242
242
  e.stopPropagation();
243
243
  const rect = e.currentTarget.getBoundingClientRect();
244
- setMenuPosition({ top: rect.bottom + 4, left: rect.left });
244
+ let position = {
245
+ top: rect.bottom + 4,
246
+ left: rect.left
247
+ };
248
+ if (rect.left + 150 > window.innerWidth) {
249
+ position = {
250
+ top: rect.bottom + 4,
251
+ right: window.innerWidth - rect.right
252
+ };
253
+ }
254
+ setMenuPosition(position);
245
255
  setActiveMenu(keyStr);
246
256
  };
247
257
  const visibleColumns = (0, import_react.useMemo)(() => {
@@ -389,8 +399,11 @@ function DataGrid({
389
399
  /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "asc") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ArrowUp, { size: 14 }), " Sort ascending"),
390
400
  /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "desc") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ArrowDown, { size: 14 }), " Sort descending"),
391
401
  /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-menu-divider" }),
392
- /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"),
393
- /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"),
402
+ (() => {
403
+ const col = resolvedColumns.find((c) => c.field === activeMenu);
404
+ if (!col) return null;
405
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, col.pinned === "left" ? /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"), col.pinned === "right" ? /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"));
406
+ })(),
394
407
  /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-menu-divider" }),
395
408
  /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => {
396
409
  setShowAdvancedFilter(true);
@@ -465,15 +478,20 @@ function DataGrid({
465
478
  /* @__PURE__ */ import_react.default.createElement("option", { value: "ends with" }, "ends with"),
466
479
  /* @__PURE__ */ import_react.default.createElement("option", { value: "is empty" }, "is empty"),
467
480
  /* @__PURE__ */ import_react.default.createElement("option", { value: "is not empty" }, "is not empty")
468
- ), /* @__PURE__ */ import_react.default.createElement(
469
- "input",
470
- {
471
- className: "dg-filter-input",
472
- placeholder: "Value\u2026",
473
- value: f.value,
474
- onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
475
- }
476
- )))), /* @__PURE__ */ import_react.default.createElement(
481
+ ), (() => {
482
+ const col = resolvedColumns.find((c) => String(c.field) === f.column);
483
+ const isDate = col?.type === "date";
484
+ return /* @__PURE__ */ import_react.default.createElement(
485
+ "input",
486
+ {
487
+ type: isDate ? "date" : "text",
488
+ className: "dg-filter-input",
489
+ placeholder: "Value\u2026",
490
+ value: f.value,
491
+ onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
492
+ }
493
+ );
494
+ })()))), /* @__PURE__ */ import_react.default.createElement(
477
495
  "button",
478
496
  {
479
497
  className: "dg-action-btn",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DataGrid,
3
3
  DataGrid_default
4
- } from "../chunk-LG4EJGMI.js";
4
+ } from "../chunk-7OMS6IWF.js";
5
5
  import "../chunk-LI4N7JWK.js";
6
6
  export {
7
7
  DataGrid,
@@ -242,7 +242,17 @@ function DataGrid({
242
242
  const handleMenuOpen = (e, keyStr) => {
243
243
  e.stopPropagation();
244
244
  const rect = e.currentTarget.getBoundingClientRect();
245
- setMenuPosition({ top: rect.bottom + 4, left: rect.left });
245
+ let position = {
246
+ top: rect.bottom + 4,
247
+ left: rect.left
248
+ };
249
+ if (rect.left + 150 > window.innerWidth) {
250
+ position = {
251
+ top: rect.bottom + 4,
252
+ right: window.innerWidth - rect.right
253
+ };
254
+ }
255
+ setMenuPosition(position);
246
256
  setActiveMenu(keyStr);
247
257
  };
248
258
  const visibleColumns = (0, import_react.useMemo)(() => {
@@ -390,8 +400,11 @@ function DataGrid({
390
400
  /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "asc") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ArrowUp, { size: 14 }), " Sort ascending"),
391
401
  /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "desc") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ArrowDown, { size: 14 }), " Sort descending"),
392
402
  /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-menu-divider" }),
393
- /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"),
394
- /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"),
403
+ (() => {
404
+ const col = resolvedColumns.find((c) => c.field === activeMenu);
405
+ if (!col) return null;
406
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, col.pinned === "left" ? /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"), col.pinned === "right" ? /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"));
407
+ })(),
395
408
  /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-menu-divider" }),
396
409
  /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-menu-item", onClick: () => {
397
410
  setShowAdvancedFilter(true);
@@ -466,15 +479,20 @@ function DataGrid({
466
479
  /* @__PURE__ */ import_react.default.createElement("option", { value: "ends with" }, "ends with"),
467
480
  /* @__PURE__ */ import_react.default.createElement("option", { value: "is empty" }, "is empty"),
468
481
  /* @__PURE__ */ import_react.default.createElement("option", { value: "is not empty" }, "is not empty")
469
- ), /* @__PURE__ */ import_react.default.createElement(
470
- "input",
471
- {
472
- className: "dg-filter-input",
473
- placeholder: "Value\u2026",
474
- value: f.value,
475
- onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
476
- }
477
- )))), /* @__PURE__ */ import_react.default.createElement(
482
+ ), (() => {
483
+ const col = resolvedColumns.find((c) => String(c.field) === f.column);
484
+ const isDate = col?.type === "date";
485
+ return /* @__PURE__ */ import_react.default.createElement(
486
+ "input",
487
+ {
488
+ type: isDate ? "date" : "text",
489
+ className: "dg-filter-input",
490
+ placeholder: "Value\u2026",
491
+ value: f.value,
492
+ onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
493
+ }
494
+ );
495
+ })()))), /* @__PURE__ */ import_react.default.createElement(
478
496
  "button",
479
497
  {
480
498
  className: "dg-action-btn",
@@ -1,7 +1,7 @@
1
1
  import "../chunk-7KRG7VNW.js";
2
2
  import {
3
3
  DataGrid
4
- } from "../chunk-LG4EJGMI.js";
4
+ } from "../chunk-7OMS6IWF.js";
5
5
  import "../chunk-LI4N7JWK.js";
6
6
  export {
7
7
  DataGrid
@@ -443,7 +443,6 @@
443
443
  padding: 0;
444
444
  font-size: 0.72rem;
445
445
  font-weight: 700;
446
- text-transform: uppercase;
447
446
  letter-spacing: 0.06em;
448
447
  color: var(--text-secondary);
449
448
  position: relative;
@@ -1,13 +1,11 @@
1
1
  import {
2
2
  BaseDialog_default
3
- } from "../chunk-4GPYGFPP.js";
3
+ } from "../chunk-K6626C4D.js";
4
4
  import "../chunk-E5RTHYCU.js";
5
- import "../chunk-EZI3QGYJ.js";
6
5
  import "../chunk-QTGVW36I.js";
7
6
  import "../chunk-G2GZDPUL.js";
8
7
  import "../chunk-CTWVJQJ5.js";
9
8
  import "../chunk-QJPQC544.js";
10
- import "../chunk-3Y6QBRGD.js";
11
9
  import "../chunk-JVN6QVET.js";
12
10
  import "../chunk-R4ISYGEP.js";
13
11
  import "../chunk-5JWTJ5PY.js";
@@ -15,7 +13,7 @@ import "../chunk-763IHEJ2.js";
15
13
  import "../chunk-XHY3OCAQ.js";
16
14
  import "../chunk-6KIFTMUN.js";
17
15
  import "../chunk-ZJAV3FEQ.js";
18
- import "../chunk-Q4DHI3B5.js";
16
+ import "../chunk-EZI3QGYJ.js";
19
17
  import "../chunk-YTVUM76D.js";
20
18
  import "../chunk-WG3Q6GZN.js";
21
19
  import "../chunk-RJ43D3XB.js";
@@ -23,7 +21,7 @@ import "../chunk-QDMNCTXT.js";
23
21
  import "../chunk-DMP72IAP.js";
24
22
  import "../chunk-QZFGQ5JM.js";
25
23
  import "../chunk-DK3DA5LH.js";
26
- import "../chunk-UTBCFDOX.js";
24
+ import "../chunk-3Y6QBRGD.js";
27
25
  import "../chunk-4Y7SQ5EP.js";
28
26
  import "../chunk-B2LVMM55.js";
29
27
  import "../chunk-2AJACSJ3.js";
@@ -31,7 +29,7 @@ import "../chunk-WHGVO3HV.js";
31
29
  import "../chunk-7II4Q2WY.js";
32
30
  import "../chunk-5GK5B3FD.js";
33
31
  import "../chunk-Z7USRFM2.js";
34
- import "../chunk-4BTXGP7U.js";
32
+ import "../chunk-Q4DHI3B5.js";
35
33
  import "../chunk-6SUKO6QW.js";
36
34
  import "../chunk-UTYIBUY2.js";
37
35
  import "../chunk-N4EJKMJK.js";
@@ -39,14 +37,14 @@ import "../chunk-FPRXN3DS.js";
39
37
  import "../chunk-GESVGIAP.js";
40
38
  import "../chunk-QIEQRNBE.js";
41
39
  import "../chunk-DLJHWFNG.js";
42
- import "../chunk-XCE3QE6Q.js";
40
+ import "../chunk-UTBCFDOX.js";
43
41
  import "../chunk-H372BAXA.js";
44
42
  import "../chunk-ZLJDOLXZ.js";
45
43
  import "../chunk-OJV6F5JC.js";
46
44
  import "../chunk-AXSFVJ3H.js";
47
45
  import "../chunk-WZAU77G7.js";
48
46
  import "../chunk-77QDKDFI.js";
49
- import "../chunk-6FEUS4CQ.js";
47
+ import "../chunk-4BTXGP7U.js";
50
48
  import "../chunk-5XKFPQLH.js";
51
49
  import "../chunk-JI5XMLWT.js";
52
50
  import "../chunk-WXANSSXF.js";
@@ -54,25 +52,27 @@ import "../chunk-XPJVVKOU.js";
54
52
  import "../chunk-GL43GPEM.js";
55
53
  import "../chunk-FZCFFVXW.js";
56
54
  import "../chunk-N26C33E6.js";
55
+ import "../chunk-XCE3QE6Q.js";
56
+ import "../chunk-M5GFOGY5.js";
57
+ import "../chunk-BOE27BFQ.js";
58
+ import "../chunk-S7BNFVQO.js";
59
+ import "../chunk-UPCMMCPQ.js";
57
60
  import "../chunk-AH6RCYDL.js";
58
61
  import "../chunk-3IBCGGN3.js";
59
62
  import "../chunk-MNPAE2ZF.js";
60
63
  import "../chunk-Q5XKCUE3.js";
61
- import "../chunk-GHCM2AWR.js";
62
- import "../chunk-UPCMMCPQ.js";
63
- import "../chunk-X357WQOT.js";
64
- import "../chunk-BOE27BFQ.js";
65
- import "../chunk-S7BNFVQO.js";
66
- import "../chunk-7KRG7VNW.js";
67
- import "../chunk-LG4EJGMI.js";
64
+ import "../chunk-6FEUS4CQ.js";
68
65
  import "../chunk-GJGRMMAQ.js";
69
- import "../chunk-66HHM7VI.js";
66
+ import "../chunk-X357WQOT.js";
70
67
  import "../chunk-QPGJCRBS.js";
71
68
  import "../chunk-U7SARO5B.js";
72
69
  import "../chunk-BMMDUQDJ.js";
73
70
  import "../chunk-R3GARAVJ.js";
74
71
  import "../chunk-YRLN3TBF.js";
75
72
  import "../chunk-CTBYVXFP.js";
73
+ import "../chunk-7KRG7VNW.js";
74
+ import "../chunk-7OMS6IWF.js";
75
+ import "../chunk-66HHM7VI.js";
76
76
  import "../chunk-LI4N7JWK.js";
77
77
  export {
78
78
  BaseDialog_default as default
@@ -443,7 +443,6 @@
443
443
  padding: 0;
444
444
  font-size: 0.72rem;
445
445
  font-weight: 700;
446
- text-transform: uppercase;
447
446
  letter-spacing: 0.06em;
448
447
  color: var(--text-secondary);
449
448
  position: relative;
@@ -1,13 +1,11 @@
1
1
  import {
2
2
  BaseDialog_default
3
- } from "../chunk-4GPYGFPP.js";
3
+ } from "../chunk-K6626C4D.js";
4
4
  import "../chunk-E5RTHYCU.js";
5
- import "../chunk-EZI3QGYJ.js";
6
5
  import "../chunk-QTGVW36I.js";
7
6
  import "../chunk-G2GZDPUL.js";
8
7
  import "../chunk-CTWVJQJ5.js";
9
8
  import "../chunk-QJPQC544.js";
10
- import "../chunk-3Y6QBRGD.js";
11
9
  import "../chunk-JVN6QVET.js";
12
10
  import "../chunk-R4ISYGEP.js";
13
11
  import "../chunk-5JWTJ5PY.js";
@@ -15,7 +13,7 @@ import "../chunk-763IHEJ2.js";
15
13
  import "../chunk-XHY3OCAQ.js";
16
14
  import "../chunk-6KIFTMUN.js";
17
15
  import "../chunk-ZJAV3FEQ.js";
18
- import "../chunk-Q4DHI3B5.js";
16
+ import "../chunk-EZI3QGYJ.js";
19
17
  import "../chunk-YTVUM76D.js";
20
18
  import "../chunk-WG3Q6GZN.js";
21
19
  import "../chunk-RJ43D3XB.js";
@@ -23,7 +21,7 @@ import "../chunk-QDMNCTXT.js";
23
21
  import "../chunk-DMP72IAP.js";
24
22
  import "../chunk-QZFGQ5JM.js";
25
23
  import "../chunk-DK3DA5LH.js";
26
- import "../chunk-UTBCFDOX.js";
24
+ import "../chunk-3Y6QBRGD.js";
27
25
  import "../chunk-4Y7SQ5EP.js";
28
26
  import "../chunk-B2LVMM55.js";
29
27
  import "../chunk-2AJACSJ3.js";
@@ -31,7 +29,7 @@ import "../chunk-WHGVO3HV.js";
31
29
  import "../chunk-7II4Q2WY.js";
32
30
  import "../chunk-5GK5B3FD.js";
33
31
  import "../chunk-Z7USRFM2.js";
34
- import "../chunk-4BTXGP7U.js";
32
+ import "../chunk-Q4DHI3B5.js";
35
33
  import "../chunk-6SUKO6QW.js";
36
34
  import "../chunk-UTYIBUY2.js";
37
35
  import "../chunk-N4EJKMJK.js";
@@ -39,14 +37,14 @@ import "../chunk-FPRXN3DS.js";
39
37
  import "../chunk-GESVGIAP.js";
40
38
  import "../chunk-QIEQRNBE.js";
41
39
  import "../chunk-DLJHWFNG.js";
42
- import "../chunk-XCE3QE6Q.js";
40
+ import "../chunk-UTBCFDOX.js";
43
41
  import "../chunk-H372BAXA.js";
44
42
  import "../chunk-ZLJDOLXZ.js";
45
43
  import "../chunk-OJV6F5JC.js";
46
44
  import "../chunk-AXSFVJ3H.js";
47
45
  import "../chunk-WZAU77G7.js";
48
46
  import "../chunk-77QDKDFI.js";
49
- import "../chunk-6FEUS4CQ.js";
47
+ import "../chunk-4BTXGP7U.js";
50
48
  import "../chunk-5XKFPQLH.js";
51
49
  import "../chunk-JI5XMLWT.js";
52
50
  import "../chunk-WXANSSXF.js";
@@ -54,25 +52,27 @@ import "../chunk-XPJVVKOU.js";
54
52
  import "../chunk-GL43GPEM.js";
55
53
  import "../chunk-FZCFFVXW.js";
56
54
  import "../chunk-N26C33E6.js";
55
+ import "../chunk-XCE3QE6Q.js";
56
+ import "../chunk-M5GFOGY5.js";
57
+ import "../chunk-BOE27BFQ.js";
58
+ import "../chunk-S7BNFVQO.js";
59
+ import "../chunk-UPCMMCPQ.js";
57
60
  import "../chunk-AH6RCYDL.js";
58
61
  import "../chunk-3IBCGGN3.js";
59
62
  import "../chunk-MNPAE2ZF.js";
60
63
  import "../chunk-Q5XKCUE3.js";
61
- import "../chunk-GHCM2AWR.js";
62
- import "../chunk-UPCMMCPQ.js";
63
- import "../chunk-X357WQOT.js";
64
- import "../chunk-BOE27BFQ.js";
65
- import "../chunk-S7BNFVQO.js";
66
- import "../chunk-7KRG7VNW.js";
67
- import "../chunk-LG4EJGMI.js";
64
+ import "../chunk-6FEUS4CQ.js";
68
65
  import "../chunk-GJGRMMAQ.js";
69
- import "../chunk-66HHM7VI.js";
66
+ import "../chunk-X357WQOT.js";
70
67
  import "../chunk-QPGJCRBS.js";
71
68
  import "../chunk-U7SARO5B.js";
72
69
  import "../chunk-BMMDUQDJ.js";
73
70
  import "../chunk-R3GARAVJ.js";
74
71
  import "../chunk-YRLN3TBF.js";
75
72
  import "../chunk-CTBYVXFP.js";
73
+ import "../chunk-7KRG7VNW.js";
74
+ import "../chunk-7OMS6IWF.js";
75
+ import "../chunk-66HHM7VI.js";
76
76
  import "../chunk-LI4N7JWK.js";
77
77
  export {
78
78
  BaseDialog_default as BaseDialog
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AddressLookup_default
3
- } from "../chunk-GHCM2AWR.js";
4
- import "../chunk-UPCMMCPQ.js";
3
+ } from "../chunk-M5GFOGY5.js";
5
4
  import "../chunk-BOE27BFQ.js";
6
5
  import "../chunk-S7BNFVQO.js";
6
+ import "../chunk-UPCMMCPQ.js";
7
7
  import "../chunk-CTBYVXFP.js";
8
8
  import "../chunk-LI4N7JWK.js";
9
9
  export {
@@ -224,7 +224,17 @@ function DataGrid({
224
224
  const handleMenuOpen = (e, keyStr) => {
225
225
  e.stopPropagation();
226
226
  const rect = e.currentTarget.getBoundingClientRect();
227
- setMenuPosition({ top: rect.bottom + 4, left: rect.left });
227
+ let position = {
228
+ top: rect.bottom + 4,
229
+ left: rect.left
230
+ };
231
+ if (rect.left + 150 > window.innerWidth) {
232
+ position = {
233
+ top: rect.bottom + 4,
234
+ right: window.innerWidth - rect.right
235
+ };
236
+ }
237
+ setMenuPosition(position);
228
238
  setActiveMenu(keyStr);
229
239
  };
230
240
  const visibleColumns = useMemo(() => {
@@ -372,8 +382,11 @@ function DataGrid({
372
382
  /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "asc") }, /* @__PURE__ */ React.createElement(ArrowUp, { size: 14 }), " Sort ascending"),
373
383
  /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "desc") }, /* @__PURE__ */ React.createElement(ArrowDown, { size: 14 }), " Sort descending"),
374
384
  /* @__PURE__ */ React.createElement("div", { className: "dg-menu-divider" }),
375
- /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ React.createElement(Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"),
376
- /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ React.createElement(Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"),
385
+ (() => {
386
+ const col = resolvedColumns.find((c) => c.field === activeMenu);
387
+ if (!col) return null;
388
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, col.pinned === "left" ? /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ React.createElement(Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ React.createElement(Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"), col.pinned === "right" ? /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ React.createElement(Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ React.createElement(Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"));
389
+ })(),
377
390
  /* @__PURE__ */ React.createElement("div", { className: "dg-menu-divider" }),
378
391
  /* @__PURE__ */ React.createElement("button", { className: "dg-menu-item", onClick: () => {
379
392
  setShowAdvancedFilter(true);
@@ -448,15 +461,20 @@ function DataGrid({
448
461
  /* @__PURE__ */ React.createElement("option", { value: "ends with" }, "ends with"),
449
462
  /* @__PURE__ */ React.createElement("option", { value: "is empty" }, "is empty"),
450
463
  /* @__PURE__ */ React.createElement("option", { value: "is not empty" }, "is not empty")
451
- ), /* @__PURE__ */ React.createElement(
452
- "input",
453
- {
454
- className: "dg-filter-input",
455
- placeholder: "Value\u2026",
456
- value: f.value,
457
- onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
458
- }
459
- )))), /* @__PURE__ */ React.createElement(
464
+ ), (() => {
465
+ const col = resolvedColumns.find((c) => String(c.field) === f.column);
466
+ const isDate = col?.type === "date";
467
+ return /* @__PURE__ */ React.createElement(
468
+ "input",
469
+ {
470
+ type: isDate ? "date" : "text",
471
+ className: "dg-filter-input",
472
+ placeholder: "Value\u2026",
473
+ value: f.value,
474
+ onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
475
+ }
476
+ );
477
+ })()))), /* @__PURE__ */ React.createElement(
460
478
  "button",
461
479
  {
462
480
  className: "dg-action-btn",
@@ -1,7 +1,4 @@
1
1
  import "../chunk-E5RTHYCU.js";
2
- import {
3
- unsubscribeIcon_default
4
- } from "../chunk-EZI3QGYJ.js";
5
2
  import {
6
3
  uploadIcon_default
7
4
  } from "../chunk-QTGVW36I.js";
@@ -14,9 +11,6 @@ import {
14
11
  import {
15
12
  workItemIcon_default
16
13
  } from "../chunk-QJPQC544.js";
17
- import {
18
- softSkillsIcon_default
19
- } from "../chunk-3Y6QBRGD.js";
20
14
  import {
21
15
  subscribeIcon_default
22
16
  } from "../chunk-JVN6QVET.js";
@@ -39,8 +33,8 @@ import {
39
33
  unArchivedIcon_default
40
34
  } from "../chunk-ZJAV3FEQ.js";
41
35
  import {
42
- questionTypeSingleIcon_default
43
- } from "../chunk-Q4DHI3B5.js";
36
+ unsubscribeIcon_default
37
+ } from "../chunk-EZI3QGYJ.js";
44
38
  import {
45
39
  refreshIcon_default
46
40
  } from "../chunk-YTVUM76D.js";
@@ -63,8 +57,8 @@ import {
63
57
  sidebarIcon_default
64
58
  } from "../chunk-DK3DA5LH.js";
65
59
  import {
66
- qualificationsIcon_default
67
- } from "../chunk-UTBCFDOX.js";
60
+ softSkillsIcon_default
61
+ } from "../chunk-3Y6QBRGD.js";
68
62
  import {
69
63
  questionStatusAllIcon_default
70
64
  } from "../chunk-4Y7SQ5EP.js";
@@ -87,8 +81,8 @@ import {
87
81
  questionTypeMultipleIcon_default
88
82
  } from "../chunk-Z7USRFM2.js";
89
83
  import {
90
- industryIcon_default
91
- } from "../chunk-4BTXGP7U.js";
84
+ questionTypeSingleIcon_default
85
+ } from "../chunk-Q4DHI3B5.js";
92
86
  import {
93
87
  invoiceIcon_default
94
88
  } from "../chunk-6SUKO6QW.js";
@@ -111,8 +105,8 @@ import {
111
105
  projectIcon_default
112
106
  } from "../chunk-DLJHWFNG.js";
113
107
  import {
114
- editChatIcon_default
115
- } from "../chunk-XCE3QE6Q.js";
108
+ qualificationsIcon_default
109
+ } from "../chunk-UTBCFDOX.js";
116
110
  import {
117
111
  editIcon_default
118
112
  } from "../chunk-H372BAXA.js";
@@ -132,8 +126,8 @@ import {
132
126
  inactiveGroupIcon_default
133
127
  } from "../chunk-77QDKDFI.js";
134
128
  import {
135
- copyIcon_default
136
- } from "../chunk-6FEUS4CQ.js";
129
+ industryIcon_default
130
+ } from "../chunk-4BTXGP7U.js";
137
131
  import {
138
132
  difficultyAllIcon_default
139
133
  } from "../chunk-5XKFPQLH.js";
@@ -155,6 +149,9 @@ import {
155
149
  import {
156
150
  downloadPdfIcon_default
157
151
  } from "../chunk-N26C33E6.js";
152
+ import {
153
+ editChatIcon_default
154
+ } from "../chunk-XCE3QE6Q.js";
158
155
  import {
159
156
  activateUserIcon_default
160
157
  } from "../chunk-AH6RCYDL.js";
@@ -167,6 +164,9 @@ import {
167
164
  import {
168
165
  closeIcon_default
169
166
  } from "../chunk-Q5XKCUE3.js";
167
+ import {
168
+ copyIcon_default
169
+ } from "../chunk-6FEUS4CQ.js";
170
170
  import "../chunk-LI4N7JWK.js";
171
171
  export {
172
172
  activateUserIcon_default as ActivateUserIcon,
package/dist/main.cjs CHANGED
@@ -30582,7 +30582,17 @@ function DataGrid({
30582
30582
  const handleMenuOpen = (e, keyStr) => {
30583
30583
  e.stopPropagation();
30584
30584
  const rect = e.currentTarget.getBoundingClientRect();
30585
- setMenuPosition({ top: rect.bottom + 4, left: rect.left });
30585
+ let position2 = {
30586
+ top: rect.bottom + 4,
30587
+ left: rect.left
30588
+ };
30589
+ if (rect.left + 150 > window.innerWidth) {
30590
+ position2 = {
30591
+ top: rect.bottom + 4,
30592
+ right: window.innerWidth - rect.right
30593
+ };
30594
+ }
30595
+ setMenuPosition(position2);
30586
30596
  setActiveMenu(keyStr);
30587
30597
  };
30588
30598
  const visibleColumns = (0, import_react18.useMemo)(() => {
@@ -30730,8 +30740,11 @@ function DataGrid({
30730
30740
  /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "asc") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.ArrowUp, { size: 14 }), " Sort ascending"),
30731
30741
  /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => handleSort(activeMenu, "desc") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.ArrowDown, { size: 14 }), " Sort descending"),
30732
30742
  /* @__PURE__ */ import_react18.default.createElement("div", { className: "dg-menu-divider" }),
30733
- /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"),
30734
- /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"),
30743
+ (() => {
30744
+ const col = resolvedColumns.find((c) => c.field === activeMenu);
30745
+ if (!col) return null;
30746
+ return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, col.pinned === "left" ? /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "left") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(45deg)" } }), " Pin left"), col.pinned === "right" ? /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(0deg)", opacity: 0.5 } }), " Unpin") : /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => togglePin(activeMenu, "right") }, /* @__PURE__ */ import_react18.default.createElement(import_lucide_react.Pin, { size: 14, style: { transform: "rotate(-45deg)" } }), " Pin right"));
30747
+ })(),
30735
30748
  /* @__PURE__ */ import_react18.default.createElement("div", { className: "dg-menu-divider" }),
30736
30749
  /* @__PURE__ */ import_react18.default.createElement("button", { className: "dg-menu-item", onClick: () => {
30737
30750
  setShowAdvancedFilter(true);
@@ -30806,15 +30819,20 @@ function DataGrid({
30806
30819
  /* @__PURE__ */ import_react18.default.createElement("option", { value: "ends with" }, "ends with"),
30807
30820
  /* @__PURE__ */ import_react18.default.createElement("option", { value: "is empty" }, "is empty"),
30808
30821
  /* @__PURE__ */ import_react18.default.createElement("option", { value: "is not empty" }, "is not empty")
30809
- ), /* @__PURE__ */ import_react18.default.createElement(
30810
- "input",
30811
- {
30812
- className: "dg-filter-input",
30813
- placeholder: "Value\u2026",
30814
- value: f.value,
30815
- onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
30816
- }
30817
- )))), /* @__PURE__ */ import_react18.default.createElement(
30822
+ ), (() => {
30823
+ const col = resolvedColumns.find((c) => String(c.field) === f.column);
30824
+ const isDate = col?.type === "date";
30825
+ return /* @__PURE__ */ import_react18.default.createElement(
30826
+ "input",
30827
+ {
30828
+ type: isDate ? "date" : "text",
30829
+ className: "dg-filter-input",
30830
+ placeholder: "Value\u2026",
30831
+ value: f.value,
30832
+ onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, value: e.target.value } : fi))
30833
+ }
30834
+ );
30835
+ })()))), /* @__PURE__ */ import_react18.default.createElement(
30818
30836
  "button",
30819
30837
  {
30820
30838
  className: "dg-action-btn",
package/dist/main.css CHANGED
@@ -443,7 +443,6 @@
443
443
  padding: 0;
444
444
  font-size: 0.72rem;
445
445
  font-weight: 700;
446
- text-transform: uppercase;
447
446
  letter-spacing: 0.06em;
448
447
  color: var(--text-secondary);
449
448
  position: relative;
package/dist/main.js CHANGED
@@ -1,10 +1,7 @@
1
1
  import {
2
2
  BaseDialog_default
3
- } from "./chunk-4GPYGFPP.js";
3
+ } from "./chunk-K6626C4D.js";
4
4
  import "./chunk-E5RTHYCU.js";
5
- import {
6
- unsubscribeIcon_default
7
- } from "./chunk-EZI3QGYJ.js";
8
5
  import {
9
6
  uploadIcon_default
10
7
  } from "./chunk-QTGVW36I.js";
@@ -17,9 +14,6 @@ import {
17
14
  import {
18
15
  workItemIcon_default
19
16
  } from "./chunk-QJPQC544.js";
20
- import {
21
- softSkillsIcon_default
22
- } from "./chunk-3Y6QBRGD.js";
23
17
  import {
24
18
  subscribeIcon_default
25
19
  } from "./chunk-JVN6QVET.js";
@@ -42,8 +36,8 @@ import {
42
36
  unArchivedIcon_default
43
37
  } from "./chunk-ZJAV3FEQ.js";
44
38
  import {
45
- questionTypeSingleIcon_default
46
- } from "./chunk-Q4DHI3B5.js";
39
+ unsubscribeIcon_default
40
+ } from "./chunk-EZI3QGYJ.js";
47
41
  import {
48
42
  refreshIcon_default
49
43
  } from "./chunk-YTVUM76D.js";
@@ -66,8 +60,8 @@ import {
66
60
  sidebarIcon_default
67
61
  } from "./chunk-DK3DA5LH.js";
68
62
  import {
69
- qualificationsIcon_default
70
- } from "./chunk-UTBCFDOX.js";
63
+ softSkillsIcon_default
64
+ } from "./chunk-3Y6QBRGD.js";
71
65
  import {
72
66
  questionStatusAllIcon_default
73
67
  } from "./chunk-4Y7SQ5EP.js";
@@ -90,8 +84,8 @@ import {
90
84
  questionTypeMultipleIcon_default
91
85
  } from "./chunk-Z7USRFM2.js";
92
86
  import {
93
- industryIcon_default
94
- } from "./chunk-4BTXGP7U.js";
87
+ questionTypeSingleIcon_default
88
+ } from "./chunk-Q4DHI3B5.js";
95
89
  import {
96
90
  invoiceIcon_default
97
91
  } from "./chunk-6SUKO6QW.js";
@@ -114,8 +108,8 @@ import {
114
108
  projectIcon_default
115
109
  } from "./chunk-DLJHWFNG.js";
116
110
  import {
117
- editChatIcon_default
118
- } from "./chunk-XCE3QE6Q.js";
111
+ qualificationsIcon_default
112
+ } from "./chunk-UTBCFDOX.js";
119
113
  import {
120
114
  editIcon_default
121
115
  } from "./chunk-H372BAXA.js";
@@ -135,8 +129,8 @@ import {
135
129
  inactiveGroupIcon_default
136
130
  } from "./chunk-77QDKDFI.js";
137
131
  import {
138
- copyIcon_default
139
- } from "./chunk-6FEUS4CQ.js";
132
+ industryIcon_default
133
+ } from "./chunk-4BTXGP7U.js";
140
134
  import {
141
135
  difficultyAllIcon_default
142
136
  } from "./chunk-5XKFPQLH.js";
@@ -158,6 +152,22 @@ import {
158
152
  import {
159
153
  downloadPdfIcon_default
160
154
  } from "./chunk-N26C33E6.js";
155
+ import {
156
+ editChatIcon_default
157
+ } from "./chunk-XCE3QE6Q.js";
158
+ import {
159
+ AddressLookup_default
160
+ } from "./chunk-M5GFOGY5.js";
161
+ import {
162
+ RufousThemeProvider,
163
+ useRufousTheme
164
+ } from "./chunk-BOE27BFQ.js";
165
+ import {
166
+ APP_THEMES
167
+ } from "./chunk-S7BNFVQO.js";
168
+ import {
169
+ FloatingInput
170
+ } from "./chunk-UPCMMCPQ.js";
161
171
  import {
162
172
  activateUserIcon_default
163
173
  } from "./chunk-AH6RCYDL.js";
@@ -171,29 +181,12 @@ import {
171
181
  closeIcon_default
172
182
  } from "./chunk-Q5XKCUE3.js";
173
183
  import {
174
- AddressLookup_default
175
- } from "./chunk-GHCM2AWR.js";
176
- import {
177
- FloatingInput
178
- } from "./chunk-UPCMMCPQ.js";
184
+ copyIcon_default
185
+ } from "./chunk-6FEUS4CQ.js";
186
+ import "./chunk-GJGRMMAQ.js";
179
187
  import {
180
188
  Checkbox
181
189
  } from "./chunk-X357WQOT.js";
182
- import {
183
- RufousThemeProvider,
184
- useRufousTheme
185
- } from "./chunk-BOE27BFQ.js";
186
- import {
187
- APP_THEMES
188
- } from "./chunk-S7BNFVQO.js";
189
- import "./chunk-7KRG7VNW.js";
190
- import {
191
- DataGrid
192
- } from "./chunk-LG4EJGMI.js";
193
- import "./chunk-GJGRMMAQ.js";
194
- import {
195
- RichTextEditor
196
- } from "./chunk-66HHM7VI.js";
197
190
  import "./chunk-QPGJCRBS.js";
198
191
  import {
199
192
  addButton_default
@@ -210,6 +203,13 @@ import {
210
203
  import {
211
204
  circularProgress_default
212
205
  } from "./chunk-CTBYVXFP.js";
206
+ import "./chunk-7KRG7VNW.js";
207
+ import {
208
+ DataGrid
209
+ } from "./chunk-7OMS6IWF.js";
210
+ import {
211
+ RichTextEditor
212
+ } from "./chunk-66HHM7VI.js";
213
213
  import "./chunk-LI4N7JWK.js";
214
214
  export {
215
215
  APP_THEMES,
package/dist/style.css CHANGED
@@ -443,7 +443,6 @@
443
443
  padding: 0;
444
444
  font-size: 0.72rem;
445
445
  font-weight: 700;
446
- text-transform: uppercase;
447
446
  letter-spacing: 0.06em;
448
447
  color: var(--text-secondary);
449
448
  position: relative;
@@ -114,7 +114,6 @@
114
114
  padding: 0;
115
115
  font-size: 0.72rem;
116
116
  font-weight: 700;
117
- text-transform: uppercase;
118
117
  letter-spacing: 0.06em;
119
118
  color: var(--text-secondary);
120
119
  position: relative;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rufous/ui",
3
3
  "private": false,
4
- "version": "0.1.69",
4
+ "version": "0.1.70",
5
5
  "type": "module",
6
6
  "description": "Experimental: A lightweight React UI component library (Beta)",
7
7
  "style": "./dist/style.css",
@@ -1,9 +1,9 @@
1
- import {
2
- closeIcon_default
3
- } from "./chunk-Q5XKCUE3.js";
4
1
  import {
5
2
  useRufousTheme
6
3
  } from "./chunk-BOE27BFQ.js";
4
+ import {
5
+ closeIcon_default
6
+ } from "./chunk-Q5XKCUE3.js";
7
7
 
8
8
  // lib/Dialogs/BaseDialog.tsx
9
9
  import * as React from "react";
@@ -1,9 +1,9 @@
1
- import {
2
- FloatingInput
3
- } from "./chunk-UPCMMCPQ.js";
4
1
  import {
5
2
  useRufousTheme
6
3
  } from "./chunk-BOE27BFQ.js";
4
+ import {
5
+ FloatingInput
6
+ } from "./chunk-UPCMMCPQ.js";
7
7
  import {
8
8
  circularProgress_default
9
9
  } from "./chunk-CTBYVXFP.js";