@veeqo/transfigure 0.0.25 → 0.0.27

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 (79) hide show
  1. package/dist/index100.cjs +12 -1
  2. package/dist/index100.js +16 -2
  3. package/dist/index102.cjs +1 -13
  4. package/dist/index102.js +19 -17
  5. package/dist/index103.cjs +1 -1
  6. package/dist/index103.js +7 -25
  7. package/dist/index104.cjs +1 -1
  8. package/dist/index104.js +62 -17
  9. package/dist/index105.cjs +1 -1
  10. package/dist/index105.js +29 -7
  11. package/dist/index106.cjs +1 -1
  12. package/dist/index106.js +24 -62
  13. package/dist/index107.cjs +13 -1
  14. package/dist/index107.js +17 -30
  15. package/dist/index108.cjs +1 -1
  16. package/dist/index108.js +42 -58
  17. package/dist/index109.cjs +1 -1
  18. package/dist/index109.js +58 -42
  19. package/dist/index15.cjs +1 -1
  20. package/dist/index15.js +1 -1
  21. package/dist/index20.cjs +1 -1
  22. package/dist/index20.js +1 -1
  23. package/dist/index32.cjs +1 -1
  24. package/dist/index32.js +1 -1
  25. package/dist/index34.cjs +1 -1
  26. package/dist/index34.js +2 -2
  27. package/dist/index37.cjs +1 -1
  28. package/dist/index37.js +1 -1
  29. package/dist/index38.cjs +1 -1
  30. package/dist/index38.js +1 -1
  31. package/dist/index39.cjs +1 -1
  32. package/dist/index39.js +1 -1
  33. package/dist/index42.cjs +1 -1
  34. package/dist/index42.js +1 -1
  35. package/dist/index54.cjs +1 -1
  36. package/dist/index54.js +38 -38
  37. package/dist/index64.cjs +1 -1
  38. package/dist/index64.js +8 -8
  39. package/dist/index77.cjs +1 -1
  40. package/dist/index77.js +1 -1
  41. package/dist/index78.cjs +1 -1
  42. package/dist/index78.js +1 -1
  43. package/dist/index80.cjs +1 -1
  44. package/dist/index80.js +1 -1
  45. package/dist/index82.cjs +1 -1
  46. package/dist/index82.js +7 -7
  47. package/dist/index84.cjs +1 -1
  48. package/dist/index84.js +17 -23
  49. package/dist/index85.cjs +1 -1
  50. package/dist/index85.js +13 -31
  51. package/dist/index86.cjs +104 -1
  52. package/dist/index86.js +118 -27
  53. package/dist/index87.cjs +1 -1
  54. package/dist/index87.js +67 -14
  55. package/dist/index88.cjs +1 -19
  56. package/dist/index88.js +29 -24
  57. package/dist/index89.cjs +1 -1
  58. package/dist/index89.js +2 -18
  59. package/dist/index90.cjs +1 -12
  60. package/dist/index90.js +41 -16
  61. package/dist/index91.cjs +1 -1
  62. package/dist/index91.js +10 -20
  63. package/dist/index92.cjs +1 -1
  64. package/dist/index92.js +24 -13
  65. package/dist/index93.cjs +15 -100
  66. package/dist/index93.js +19 -115
  67. package/dist/index94.cjs +1 -1
  68. package/dist/index94.js +19 -66
  69. package/dist/index95.cjs +1 -1
  70. package/dist/index95.js +28 -26
  71. package/dist/index96.cjs +1 -1
  72. package/dist/index96.js +29 -2
  73. package/dist/index97.cjs +1 -1
  74. package/dist/index97.js +14 -40
  75. package/dist/index98.cjs +1 -1
  76. package/dist/index98.js +2 -11
  77. package/dist/index99.cjs +1 -1
  78. package/dist/index99.js +1 -1
  79. package/package.json +4 -4
package/dist/index90.js CHANGED
@@ -1,18 +1,43 @@
1
- import r from "styled-components";
2
- import { theme as o, BaseContainer as e } from "@veeqo/ui";
3
- const d = r(e)`
4
- display: flex;
5
- flex-direction: column;
6
- padding: 8px;
7
- padding-left: 35px;
8
- margin: 8px;
9
- background-color: ${o.colors.neutral.grey.lightest};
10
- `, l = r.hr`
11
- width: 100%;
12
- border-top: 1px solid ${o.colors.neutral.grey.dark};
13
- margin: 0 0 4px 0;
14
- `;
1
+ import { useState as d } from "react";
2
+ import { useViews as v } from "./index60.js";
3
+ import { useStores as y } from "./index59.js";
4
+ import { useModal as C } from "./index50.js";
5
+ import { usePersistUnsavedChanges as g } from "./index58.js";
6
+ import { patchCustomView as h } from "./index4.js";
7
+ const b = ({ pinnedLeftColumnIds: a, pinnedRightColumnIds: i }) => {
8
+ const {
9
+ Filters: {
10
+ activeViewId: e
11
+ },
12
+ Notifications: {
13
+ notify: t
14
+ }
15
+ } = y(), { closeModal: u } = C(), { mutate: m } = v(), { getActiveViewInAPIFormat: c } = g(), [l, o] = d(!1);
16
+ return {
17
+ saveColumns: async ({ visibleColumns: n }) => {
18
+ if (e)
19
+ try {
20
+ if (o(!0), n.length < 1) {
21
+ t({ type: "error", text: "You must have at least one visible column." });
22
+ return;
23
+ }
24
+ const r = [...a, ...n, ...i], { arg: f, currentView: s } = c(), p = {
25
+ ...f,
26
+ columns: {
27
+ ...s == null ? void 0 : s.columns,
28
+ columnIds: r
29
+ }
30
+ };
31
+ await h(e, { attributes: p }), await m(), u(), t({ type: "success", text: "Columns updated successfully" });
32
+ } catch {
33
+ t({ type: "error", text: "Failed to save columns" });
34
+ } finally {
35
+ o(!1);
36
+ }
37
+ },
38
+ isSavingColumns: l
39
+ };
40
+ };
15
41
  export {
16
- l as Divider,
17
- d as FixedViews
42
+ b as usePersistColumns
18
43
  };
package/dist/index91.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@veeqo/ui"),i=require("./index99.cjs"),n=r.theme.colors.secondary.blue.base,a=({onClick:t})=>e.jsx(i.Notification,{children:e.jsx(i.Pill,{children:e.jsxs(r.Stack,{direction:"horizontal",alignY:"center",children:[e.jsx(i.Glyph,{ariaLabel:"info",name:"info",color:n}),e.jsxs(i.Wrap,{children:[e.jsx(i.Text,{variant:"body",margin:"0 4px 0 0",children:"You are currently in a"}),e.jsx(i.Bold,{variant:"bodyBoldDark",children:"draft view"}),e.jsx(i.Hint,{variant:"hintText",children:"Apply filters and save these by creating a custom view"})]}),e.jsx(i.Button,{variant:"primary",onClick:t,size:"sm",children:"Create view"})]})})});exports.DraftPill=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=(t,r)=>{if(!r)return t;const i=r.toLowerCase();return t.filter(e=>{var s,a;return((s=e==null?void 0:e.title)==null?void 0:s.toLowerCase().includes(i))||((a=e==null?void 0:e.id)==null?void 0:a.toLowerCase().includes(i))})};exports.filterColumnsBySearch=d;
package/dist/index91.js CHANGED
@@ -1,23 +1,13 @@
1
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
2
- import { Stack as a, theme as n } from "@veeqo/ui";
3
- import { Notification as t, Pill as o, Glyph as l, Wrap as c, Text as d, Bold as s, Hint as h, Button as m } from "./index99.js";
4
- const p = n.colors.secondary.blue.base, b = ({ onClick: e }) => /* @__PURE__ */ r(t, { children: /* @__PURE__ */ r(o, { children: /* @__PURE__ */ i(a, { direction: "horizontal", alignY: "center", children: [
5
- /* @__PURE__ */ r(l, { ariaLabel: "info", name: "info", color: p }),
6
- /* @__PURE__ */ i(c, { children: [
7
- /* @__PURE__ */ r(d, { variant: "body", margin: "0 4px 0 0", children: "You are currently in a" }),
8
- /* @__PURE__ */ r(s, { variant: "bodyBoldDark", children: "draft view" }),
9
- /* @__PURE__ */ r(h, { variant: "hintText", children: "Apply filters and save these by creating a custom view" })
10
- ] }),
11
- /* @__PURE__ */ r(
12
- m,
13
- {
14
- variant: "primary",
15
- onClick: e,
16
- size: "sm",
17
- children: "Create view"
1
+ const a = (t, r) => {
2
+ if (!r) return t;
3
+ const i = r.toLowerCase();
4
+ return t.filter(
5
+ (e) => {
6
+ var s, C;
7
+ return ((s = e == null ? void 0 : e.title) == null ? void 0 : s.toLowerCase().includes(i)) || ((C = e == null ? void 0 : e.id) == null ? void 0 : C.toLowerCase().includes(i));
18
8
  }
19
- )
20
- ] }) }) });
9
+ );
10
+ };
21
11
  export {
22
- b as DraftPill
12
+ a as filterColumnsBySearch
23
13
  };
package/dist/index92.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@veeqo/ui"),s=require("@dnd-kit/sortable"),a=require("./index104.cjs"),l=require("./index105.cjs"),c=require("./index95.cjs"),u=require("./index96.cjs"),d=require("./index93.cjs"),m=({id:r,title:n,columns:i})=>e.jsxs(o.Stack,{spacing:"sm",alignX:"stretch",children:[e.jsx(d.StickyText,{variant:"bodyBold",children:n}),e.jsx(s.SortableContext,{id:r,items:i,strategy:s.verticalListSortingStrategy,children:e.jsx(l.DroppableArea,{id:r,spacing:"sm",alignX:"stretch",children:i.map(t=>e.jsx(a.SortableItem,{id:t.id,children:e.jsx(c.ColumnItem,{column:t,isHidden:r===u.ColumnGroupIds.Hidden})},t.id))})})]});exports.ColumnGroup=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),n=require("react"),l=require("./index110.cjs"),v=({children:i,style:o,className:c})=>{const r=n.useRef(null),[u,f]=n.useState(0);return n.useEffect(()=>{const e=r.current,s=()=>{if(e){const{top:a}=e.getBoundingClientRect();f(a)}};s();const t=new ResizeObserver(s);return e&&t.observe(e),()=>{e&&t.unobserve(e),t.disconnect()}},[]),d.jsx(l.AdaptiveStyledContainer,{style:o,className:c,offset:u,ref:r,children:i})};exports.AdaptiveHeightContainer=v;
package/dist/index92.js CHANGED
@@ -1,15 +1,26 @@
1
- import { jsxs as m, jsx as r } from "react/jsx-runtime";
2
- import { Stack as n } from "@veeqo/ui";
3
- import { SortableContext as p, verticalListSortingStrategy as a } from "@dnd-kit/sortable";
4
- import { SortableItem as s } from "./index104.js";
5
- import { DroppableArea as d } from "./index105.js";
6
- import { ColumnItem as l } from "./index95.js";
7
- import { ColumnGroupIds as c } from "./index96.js";
8
- import { StickyText as f } from "./index93.js";
9
- const I = ({ id: t, title: e, columns: o }) => /* @__PURE__ */ m(n, { spacing: "sm", alignX: "stretch", children: [
10
- /* @__PURE__ */ r(f, { variant: "bodyBold", children: e }),
11
- /* @__PURE__ */ r(p, { id: t, items: o, strategy: a, children: /* @__PURE__ */ r(d, { id: t, spacing: "sm", alignX: "stretch", children: o.map((i) => /* @__PURE__ */ r(s, { id: i.id, children: /* @__PURE__ */ r(l, { column: i, isHidden: t === c.Hidden }) }, i.id)) }) })
12
- ] });
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { useRef as a, useState as d, useEffect as m } from "react";
3
+ import { AdaptiveStyledContainer as v } from "./index110.js";
4
+ const R = ({
5
+ children: o,
6
+ style: s,
7
+ className: f
8
+ }) => {
9
+ const r = a(null), [i, c] = d(0);
10
+ return m(() => {
11
+ const e = r.current, n = () => {
12
+ if (e) {
13
+ const { top: u } = e.getBoundingClientRect();
14
+ c(u);
15
+ }
16
+ };
17
+ n();
18
+ const t = new ResizeObserver(n);
19
+ return e && t.observe(e), () => {
20
+ e && t.unobserve(e), t.disconnect();
21
+ };
22
+ }, []), /* @__PURE__ */ p(v, { style: s, className: f, offset: i, ref: r, children: o });
23
+ };
13
24
  export {
14
- I as ColumnGroup
25
+ R as AdaptiveHeightContainer
15
26
  };
package/dist/index93.cjs CHANGED
@@ -1,104 +1,19 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("styled-components"),e=require("@veeqo/ui"),a=require("@veeqo/components"),i=o=>o&&o.__esModule?o:{default:o},t=i(l),{Glyph:n}=a.VeeqoCommon,s=t.default.div`
2
- width: 1px;
3
- position: absolute;
4
- left: 50%;
5
- transform: translateX(-50%);
6
- border-left: 1px solid ${e.theme.colors.neutral.grey.dark};
7
- height: 100%;
8
- margin-top: 40px;
9
- `,c=t.default(e.Text)`
10
- writing-mode: vertical-rl;
11
- position: absolute;
12
- top: 50%;
13
- left: 50%;
14
- transform: translate(-50%, -50%);
15
- background: white;
16
- padding: 30px 0;
17
- text-align: center;
18
- font-size: 10px;
19
- color: ${e.theme.colors.neutral.ink.lightest};
20
- height: max-content;
21
- `,d=t.default(e.Text)`
22
- position: sticky;
23
- top: 0;
24
- background: #ffffff;
25
- padding-bottom: ${e.theme.sizes[2]};
26
- z-index: 1;
27
- `,u=t.default(e.Text)`
28
- color: ${e.theme.colors.neutral.ink.light};
29
- `,g=t.default(e.Grid)`
30
- // overflow-y: auto;
31
- position: unset;
32
- `,r=t.default(n).attrs(()=>({name:"visibility-off"}))`
33
- margin-left: auto;
34
- `,p=t.default(e.Stack)`
35
- border-radius: 4px;
36
- padding: 8px 12px;
37
- background: #ffffff;
38
- border: 1px solid ${e.theme.colors.neutral.ink.lightest};
39
- transition: all ease 200ms;
40
-
41
- ${({isHidden:o})=>o&&`
42
- ${e.Text} {
43
- color: ${e.theme.colors.neutral.ink.light};
44
- }
45
- `}
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("styled-components"),e=require("@veeqo/ui"),s=t=>t&&t.__esModule?t:{default:t},o=s(r),i=o.default(e.Button).attrs(()=>({role:"option",variant:"flat"}))`
2
+ margin: ${e.theme.sizes.xs};
3
+ min-width: 180px;
4
+ justify-content: flex-start;
5
+ font-size: ${e.theme.text.body.fontSize};
46
6
 
47
7
  &:hover {
8
+ background-color: ${e.theme.colors.neutral.grey.lightest};
48
9
  color: ${e.theme.colors.secondary.blue.base};
49
- background: ${e.theme.colors.neutral.grey.lightest};
50
- border: 1px solid ${e.theme.colors.neutral.grey.light};
51
-
52
- ${e.Text} {
53
- color: ${e.theme.colors.secondary.blue.base};
54
- }
55
-
56
- ${r} {
57
- color: ${e.theme.colors.neutral.ink.light};
58
- }
59
- }
60
-
61
- ${({isDragOverlay:o})=>o&&`
62
- color: ${e.theme.colors.secondary.blue.base};
63
- background: ${e.theme.colors.neutral.grey.lightest};
64
- border: 1px solid ${e.theme.colors.neutral.grey.light};
65
- cursor: grabbing;
66
-
67
- ${e.Text} {
68
- color: ${e.theme.colors.secondary.blue.base};
69
- }
70
- `}
71
- `,h=t.default.div`
72
- position: absolute;
73
- top: 0;
74
- left: 0;
75
- right: 0;
76
- bottom: 0;
77
- height: 100%;
78
- width: calc(100% - 2px);
79
- border-radius: 4px;
80
- border: 1px dashed ${e.theme.colors.neutral.grey.dark};
81
- background: ${e.theme.colors.neutral.grey.lightest};
82
- `,f=t.default(e.Stack)`
83
- flex: 1;
84
- padding: 0;
85
- `,m=t.default(e.Search)`
86
- input {
87
- height: 40px;
88
- box-sizing: border-box;
89
- }
90
-
91
- svg {
92
- width: 16px;
10
+ cursor: pointer;
93
11
  }
94
- `,b=t.default.div`
95
- position: relative;
96
- min-height: 500px;
97
- `,x=t.default(e.BaseContainer)`
98
- display: flex;
99
- flex-direction: column;
100
- gap: ${e.theme.sizes.base};
101
- padding: ${e.theme.sizes.md};
102
- `,y=t.default.dialog`
103
- display: contents;
104
- `;exports.ColumnGroupsGrid=g;exports.ColumnItemWrapper=p;exports.ColumnSearch=m;exports.Container=b;exports.DetailedText=u;exports.DndDragOverlayDialog=y;exports.DraggingOverlay=h;exports.DroppableAreaStack=f;exports.HeaderContainer=x;exports.StickyText=d;exports.VerticalSeparator=s;exports.VerticalText=c;exports.VisibilityOffIcon=r;
12
+ `,n=o.default(e.Card.Surface).attrs(()=>({role:"listbox",elevation:4}))`
13
+ margin-top: ${e.theme.sizes.xs};
14
+ background-color: white;
15
+ `,l=o.default.hr`
16
+ width: 100%;
17
+ border-top: 1px solid ${e.theme.colors.neutral.grey.dark};
18
+ margin: 0;
19
+ `;exports.Divider=l;exports.Item=i;exports.MenuItems=n;
package/dist/index93.js CHANGED
@@ -1,122 +1,26 @@
1
- import r from "styled-components";
2
- import { Grid as l, theme as o, Text as t, BaseContainer as n, Search as s, Stack as i } from "@veeqo/ui";
3
- import { VeeqoCommon as a } from "@veeqo/components";
4
- const { Glyph: c } = a, b = r.div`
5
- width: 1px;
6
- position: absolute;
7
- left: 50%;
8
- transform: translateX(-50%);
9
- border-left: 1px solid ${o.colors.neutral.grey.dark};
10
- height: 100%;
11
- margin-top: 40px;
12
- `, f = r(t)`
13
- writing-mode: vertical-rl;
14
- position: absolute;
15
- top: 50%;
16
- left: 50%;
17
- transform: translate(-50%, -50%);
18
- background: white;
19
- padding: 30px 0;
20
- text-align: center;
21
- font-size: 10px;
22
- color: ${o.colors.neutral.ink.lightest};
23
- height: max-content;
24
- `, h = r(t)`
25
- position: sticky;
26
- top: 0;
27
- background: #ffffff;
28
- padding-bottom: ${o.sizes[2]};
29
- z-index: 1;
30
- `, x = r(t)`
31
- color: ${o.colors.neutral.ink.light};
32
- `, m = r(l)`
33
- // overflow-y: auto;
34
- position: unset;
35
- `, d = r(c).attrs(() => ({ name: "visibility-off" }))`
36
- margin-left: auto;
37
- `, $ = r(i)`
38
- border-radius: 4px;
39
- padding: 8px 12px;
40
- background: #ffffff;
41
- border: 1px solid ${o.colors.neutral.ink.lightest};
42
- transition: all ease 200ms;
43
-
44
- ${({ isHidden: e }) => e && `
45
- ${t} {
46
- color: ${o.colors.neutral.ink.light};
47
- }
48
- `}
1
+ import t from "styled-components";
2
+ import { theme as o, Card as r, Button as e } from "@veeqo/ui";
3
+ const n = t(e).attrs(() => ({ role: "option", variant: "flat" }))`
4
+ margin: ${o.sizes.xs};
5
+ min-width: 180px;
6
+ justify-content: flex-start;
7
+ font-size: ${o.text.body.fontSize};
49
8
 
50
9
  &:hover {
10
+ background-color: ${o.colors.neutral.grey.lightest};
51
11
  color: ${o.colors.secondary.blue.base};
52
- background: ${o.colors.neutral.grey.lightest};
53
- border: 1px solid ${o.colors.neutral.grey.light};
54
-
55
- ${t} {
56
- color: ${o.colors.secondary.blue.base};
57
- }
58
-
59
- ${d} {
60
- color: ${o.colors.neutral.ink.light};
61
- }
62
- }
63
-
64
- ${({ isDragOverlay: e }) => e && `
65
- color: ${o.colors.secondary.blue.base};
66
- background: ${o.colors.neutral.grey.lightest};
67
- border: 1px solid ${o.colors.neutral.grey.light};
68
- cursor: grabbing;
69
-
70
- ${t} {
71
- color: ${o.colors.secondary.blue.base};
72
- }
73
- `}
74
- `, y = r.div`
75
- position: absolute;
76
- top: 0;
77
- left: 0;
78
- right: 0;
79
- bottom: 0;
80
- height: 100%;
81
- width: calc(100% - 2px);
82
- border-radius: 4px;
83
- border: 1px dashed ${o.colors.neutral.grey.dark};
84
- background: ${o.colors.neutral.grey.lightest};
85
- `, k = r(i)`
86
- flex: 1;
87
- padding: 0;
88
- `, v = r(s)`
89
- input {
90
- height: 40px;
91
- box-sizing: border-box;
92
- }
93
-
94
- svg {
95
- width: 16px;
12
+ cursor: pointer;
96
13
  }
97
- `, C = r.div`
98
- position: relative;
99
- min-height: 500px;
100
- `, w = r(n)`
101
- display: flex;
102
- flex-direction: column;
103
- gap: ${o.sizes.base};
104
- padding: ${o.sizes.md};
105
- `, z = r.dialog`
106
- display: contents;
14
+ `, a = t(r.Surface).attrs(() => ({ role: "listbox", elevation: 4 }))`
15
+ margin-top: ${o.sizes.xs};
16
+ background-color: white;
17
+ `, l = t.hr`
18
+ width: 100%;
19
+ border-top: 1px solid ${o.colors.neutral.grey.dark};
20
+ margin: 0;
107
21
  `;
108
22
  export {
109
- m as ColumnGroupsGrid,
110
- $ as ColumnItemWrapper,
111
- v as ColumnSearch,
112
- C as Container,
113
- x as DetailedText,
114
- z as DndDragOverlayDialog,
115
- y as DraggingOverlay,
116
- k as DroppableAreaStack,
117
- w as HeaderContainer,
118
- h as StickyText,
119
- b as VerticalSeparator,
120
- f as VerticalText,
121
- d as VisibilityOffIcon
23
+ l as Divider,
24
+ n as Item,
25
+ a as MenuItems
122
26
  };
package/dist/index94.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("@dnd-kit/core"),S=require("@dnd-kit/sortable"),h=require("./index93.cjs"),q=require("@veeqo/ui"),C=require("./index50.cjs"),E=require("./index106.cjs"),p=require("./index107.cjs"),A=require("./index10.cjs"),b=require("./index49.cjs"),x={droppable:{strategy:e.MeasuringStrategy.Always}},M={sideEffects:e.defaultDropAnimationSideEffects({styles:{active:{opacity:"0.5"}}})},j=({items:o,setItems:s,children:a,renderDragOverlay:n})=>{const{closeModal:i,openModal:l}=C.useModal(),c=e.useSensors(e.useSensor(e.PointerSensor),e.useSensor(e.KeyboardSensor,{coordinateGetter:S.sortableKeyboardCoordinates})),{activeId:t,handleDragCancel:d,handleDragEnd:u,handleDragOver:g,handleDragStart:D}=E.useDragHandlers({items:o,setItems:s}),{collisionDetectionStrategy:y}=p.useCollisionDetectionStrategy({items:o});return r.jsx(A.ErrorBoundary,{errorComponent:r.jsx(q.Alert,{variant:"error",title:"An error occurred",rightActions:[{label:"Reload",onClick:()=>{i(),l(b.ModalId.ORDERS_TABLE_MANAGEMENT)}}]}),children:r.jsxs(e.DndContext,{sensors:c,measuring:x,collisionDetection:y,onDragStart:D,onDragOver:g,onDragEnd:u,onDragCancel:d,children:[a,r.jsx(h.DndDragOverlayDialog,{open:!0,children:r.jsx(e.DragOverlay,{dropAnimation:M,zIndex:2001,children:t&&n?n(t):null})})]})})};exports.DndContainer=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@veeqo/ui"),i=require("./index99.cjs"),n=r.theme.colors.secondary.blue.base,a=({onClick:t})=>e.jsx(i.Notification,{children:e.jsx(i.Pill,{children:e.jsxs(r.Stack,{direction:"horizontal",alignY:"center",children:[e.jsx(i.Glyph,{ariaLabel:"info",name:"info",color:n}),e.jsxs(i.Wrap,{children:[e.jsx(i.Text,{variant:"body",margin:"0 4px 0 0",children:"You are currently in a"}),e.jsx(i.Bold,{variant:"bodyBoldDark",children:"draft view"}),e.jsx(i.Hint,{variant:"hintText",children:"Apply filters and save these by creating a custom view"})]}),e.jsx(i.Button,{variant:"primary",onClick:t,size:"sm",children:"Create view"})]})})});exports.DraftPill=a;
package/dist/index94.js CHANGED
@@ -1,70 +1,23 @@
1
- import { jsx as r, jsxs as f } from "react/jsx-runtime";
2
- import { useSensors as u, useSensor as n, PointerSensor as y, KeyboardSensor as S, DndContext as h, MeasuringStrategy as A, DragOverlay as E, defaultDropAnimationSideEffects as C } from "@dnd-kit/core";
3
- import { sortableKeyboardCoordinates as M } from "@dnd-kit/sortable";
4
- import { DndDragOverlayDialog as v } from "./index93.js";
5
- import { Alert as b } from "@veeqo/ui";
6
- import { useModal as x } from "./index50.js";
7
- import { useDragHandlers as O } from "./index106.js";
8
- import { useCollisionDetectionStrategy as I } from "./index107.js";
9
- import { ErrorBoundary as R } from "./index10.js";
10
- import { ModalId as j } from "./index49.js";
11
- const B = {
12
- droppable: {
13
- strategy: A.Always
14
- }
15
- }, G = {
16
- sideEffects: C({
17
- styles: {
18
- active: {
19
- opacity: "0.5"
20
- }
21
- }
22
- })
23
- }, q = ({
24
- items: o,
25
- setItems: a,
26
- children: i,
27
- renderDragOverlay: e
28
- }) => {
29
- const { closeModal: s, openModal: l } = x(), d = u(
30
- n(y),
31
- n(S, {
32
- coordinateGetter: M
33
- })
34
- ), { activeId: t, handleDragCancel: c, handleDragEnd: m, handleDragOver: p, handleDragStart: D } = O({ items: o, setItems: a }), { collisionDetectionStrategy: g } = I({
35
- items: o
36
- });
37
- return /* @__PURE__ */ r(R, { errorComponent: /* @__PURE__ */ r(b, { variant: "error", title: "An error occurred", rightActions: [
38
- {
39
- label: "Reload",
40
- onClick: () => {
41
- s(), l(j.ORDERS_TABLE_MANAGEMENT);
42
- }
43
- }
44
- ] }), children: /* @__PURE__ */ f(
45
- h,
1
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
2
+ import { Stack as a, theme as n } from "@veeqo/ui";
3
+ import { Notification as t, Pill as o, Glyph as l, Wrap as c, Text as d, Bold as s, Hint as h, Button as m } from "./index99.js";
4
+ const p = n.colors.secondary.blue.base, b = ({ onClick: e }) => /* @__PURE__ */ r(t, { children: /* @__PURE__ */ r(o, { children: /* @__PURE__ */ i(a, { direction: "horizontal", alignY: "center", children: [
5
+ /* @__PURE__ */ r(l, { ariaLabel: "info", name: "info", color: p }),
6
+ /* @__PURE__ */ i(c, { children: [
7
+ /* @__PURE__ */ r(d, { variant: "body", margin: "0 4px 0 0", children: "You are currently in a" }),
8
+ /* @__PURE__ */ r(s, { variant: "bodyBoldDark", children: "draft view" }),
9
+ /* @__PURE__ */ r(h, { variant: "hintText", children: "Apply filters and save these by creating a custom view" })
10
+ ] }),
11
+ /* @__PURE__ */ r(
12
+ m,
46
13
  {
47
- sensors: d,
48
- measuring: B,
49
- collisionDetection: g,
50
- onDragStart: D,
51
- onDragOver: p,
52
- onDragEnd: m,
53
- onDragCancel: c,
54
- children: [
55
- i,
56
- /* @__PURE__ */ r(v, { open: !0, children: /* @__PURE__ */ r(
57
- E,
58
- {
59
- dropAnimation: G,
60
- zIndex: 2001,
61
- children: t && e ? e(t) : null
62
- }
63
- ) })
64
- ]
14
+ variant: "primary",
15
+ onClick: e,
16
+ size: "sm",
17
+ children: "Create view"
65
18
  }
66
- ) });
67
- };
19
+ )
20
+ ] }) }) });
68
21
  export {
69
- q as DndContainer
22
+ b as DraftPill
70
23
  };
package/dist/index95.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("@veeqo/ui"),a=require("@veeqo/components"),n=require("./index93.cjs"),{Glyph:c}=a.VeeqoCommon,l=({column:t,isHidden:r,isDragOverlay:s})=>{const o=t.title||t.tooltip;return e.jsxs(n.ColumnItemWrapper,{direction:"horizontal",spacing:"sm",alignY:"center",isHidden:r,isDragOverlay:s,children:[e.jsx(c,{name:"drag-indicator",size:4}),t.detailed?e.jsxs(i.Stack,{spacing:"xs",children:[e.jsxs(i.Text,{variant:"body",children:[o," (detailed)"]}),e.jsx(n.DetailedText,{variant:"hintText",children:t.detailed})]}):e.jsx(i.Text,{variant:"body",children:o}),!s&&r&&e.jsx(n.VisibilityOffIcon,{size:4})]})};exports.ColumnItem=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("swr"),V=require("./index7.cjs"),_=require("./index60.cjs"),v=require("./index64.cjs"),F=require("./index53.cjs"),h=e=>e&&e.__esModule?e:{default:e},q=h(L),P=e=>{var u;const{TABLE_DATA_URL:n}=V.useBusinessLogic(),{viewsMap:r,isLoading:c}=_.useViews(),o=r.get(`${e}`),t=new v.Filters;o&&(t.initFiltersFromView(o),t.setPageSize(1),t.setCurrentPage(1));const a=!c&&t.pageSize===1&&t.currentPage===1?`${n}?${t.queryParams}`:null,{data:s,error:l,isLoading:d,mutate:g}=q.default([a,{includeMeta:!0}],([w,f])=>F.fetcherV2(w,f),{revalidateOnFocus:!1,revalidateOnReconnect:!1,keepPreviousData:!0}),i=s==null?void 0:s.meta;return{viewCounts:(u=i==null?void 0:i.page)==null?void 0:u.total_count,error:l,isLoadingViewCounts:d,mutate:g}};exports.useViewCounts=P;
package/dist/index95.js CHANGED
@@ -1,31 +1,33 @@
1
- import { jsxs as e, jsx as i } from "react/jsx-runtime";
2
- import { Stack as d, Text as a } from "@veeqo/ui";
3
- import { VeeqoCommon as l } from "@veeqo/components";
4
- import { ColumnItemWrapper as m, DetailedText as c, VisibilityOffIcon as p } from "./index93.js";
5
- const { Glyph: s } = l, g = ({ column: t, isHidden: r, isDragOverlay: o }) => {
6
- const n = t.title || t.tooltip;
7
- return /* @__PURE__ */ e(
8
- m,
1
+ import p from "swr";
2
+ import { useBusinessLogic as w } from "./index7.js";
3
+ import { useViews as L } from "./index60.js";
4
+ import { Filters as v } from "./index64.js";
5
+ import { fetcherV2 as F } from "./index53.js";
6
+ const S = (r) => {
7
+ var i;
8
+ const { TABLE_DATA_URL: n } = w(), { viewsMap: a, isLoading: u } = L(), s = a.get(`${r}`), e = new v();
9
+ s && (e.initFiltersFromView(s), e.setPageSize(1), e.setCurrentPage(1));
10
+ const c = !u && e.pageSize === 1 && e.currentPage === 1 ? `${n}?${e.queryParams}` : null, {
11
+ data: t,
12
+ error: m,
13
+ isLoading: l,
14
+ mutate: g
15
+ } = p(
16
+ [c, { includeMeta: !0 }],
17
+ ([d, f]) => F(d, f),
9
18
  {
10
- direction: "horizontal",
11
- spacing: "sm",
12
- alignY: "center",
13
- isHidden: r,
14
- isDragOverlay: o,
15
- children: [
16
- /* @__PURE__ */ i(s, { name: "drag-indicator", size: 4 }),
17
- t.detailed ? /* @__PURE__ */ e(d, { spacing: "xs", children: [
18
- /* @__PURE__ */ e(a, { variant: "body", children: [
19
- n,
20
- " (detailed)"
21
- ] }),
22
- /* @__PURE__ */ i(c, { variant: "hintText", children: t.detailed })
23
- ] }) : /* @__PURE__ */ i(a, { variant: "body", children: n }),
24
- !o && r && /* @__PURE__ */ i(p, { size: 4 })
25
- ]
19
+ revalidateOnFocus: !1,
20
+ revalidateOnReconnect: !1,
21
+ keepPreviousData: !0
26
22
  }
27
- );
23
+ ), o = t == null ? void 0 : t.meta;
24
+ return {
25
+ viewCounts: (i = o == null ? void 0 : o.page) == null ? void 0 : i.total_count,
26
+ error: m,
27
+ isLoadingViewCounts: l,
28
+ mutate: g
29
+ };
28
30
  };
29
31
  export {
30
- g as ColumnItem
32
+ S as useViewCounts
31
33
  };
package/dist/index96.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var i=(e=>(e.Hidden="hidden",e.Visible="visible",e))(i||{});exports.ColumnGroupIds=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("@veeqo/ui"),r=({shouldShow:a,viewName:n,onCancel:t,onDelete:o})=>e.jsx(i.Modal,{headerTitle:`Delete '${n}' view?`,"data-testid":"act-react-listing-custom-confirmation-popup",variant:"sm",shouldShow:a,onClose:t,rightActions:[{className:"act-react-listing-custom-confirmation-popup-cancel",label:"Cancel",onClick:t,variant:"default"},{className:"act-react-listing-custom-confirmation-popup-delete",label:"Delete",onClick:o,variant:"primaryDestructive"}],showHeaderCloseButton:!0,children:e.jsx(i.Text,{variant:"body",children:"This cannot be undone."})});exports.Confirmation=r;
package/dist/index96.js CHANGED
@@ -1,4 +1,31 @@
1
- var i = /* @__PURE__ */ ((e) => (e.Hidden = "hidden", e.Visible = "visible", e))(i || {});
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { Modal as n, Text as r } from "@veeqo/ui";
3
+ const s = ({ shouldShow: a, viewName: i, onCancel: t, onDelete: o }) => /* @__PURE__ */ e(
4
+ n,
5
+ {
6
+ headerTitle: `Delete '${i}' view?`,
7
+ "data-testid": "act-react-listing-custom-confirmation-popup",
8
+ variant: "sm",
9
+ shouldShow: a,
10
+ onClose: t,
11
+ rightActions: [
12
+ {
13
+ className: "act-react-listing-custom-confirmation-popup-cancel",
14
+ label: "Cancel",
15
+ onClick: t,
16
+ variant: "default"
17
+ },
18
+ {
19
+ className: "act-react-listing-custom-confirmation-popup-delete",
20
+ label: "Delete",
21
+ onClick: o,
22
+ variant: "primaryDestructive"
23
+ }
24
+ ],
25
+ showHeaderCloseButton: !0,
26
+ children: /* @__PURE__ */ e(r, { variant: "body", children: "This cannot be undone." })
27
+ }
28
+ );
2
29
  export {
3
- i as ColumnGroupIds
30
+ s as Confirmation
4
31
  };
package/dist/index97.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("react"),f=require("./index60.cjs"),y=require("./index59.cjs"),g=require("./index50.cjs"),h=require("./index58.cjs"),p=require("./index4.cjs"),w=({pinnedLeftColumnIds:r,pinnedRightColumnIds:a})=>{const{Filters:{activeViewId:t},Notifications:{notify:e}}=y.useStores(),{closeModal:i}=g.useModal(),{mutate:c}=f.useViews(),{getActiveViewInAPIFormat:l}=h.usePersistUnsavedChanges(),[m,o]=C.useState(!1);return{saveColumns:async({visibleColumns:n})=>{if(t)try{if(o(!0),n.length<1){e({type:"error",text:"You must have at least one visible column."});return}const u=[...r,...n,...a],{arg:d,currentView:s}=l(),v={...d,columns:{...s==null?void 0:s.columns,columnIds:u}};await p.patchCustomView(t,{attributes:v}),await c(),i(),e({type:"success",text:"Columns updated successfully"})}catch{e({type:"error",text:"Failed to save columns"})}finally{o(!1)}},isSavingColumns:m}};exports.usePersistColumns=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),l=require("./index107.cjs"),o=e=>i.jsx(l.StyledSortableViews,{...e,onChange:t=>{t.filter(r=>{var n;return(n=r.children)==null?void 0:n.length}).length||e.onChange(t)}});exports.LegacySortableViews=o;