@veeqo/transfigure 0.0.37 → 0.0.38

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 (129) hide show
  1. package/dist/components/Filters/Fields/CheckboxFilter/CheckboxFilter.d.ts +1 -1
  2. package/dist/components/Filters/Fields/RadioFilter/RadioFilter.d.ts +1 -1
  3. package/dist/components/Filters/FilterGroup/mock.d.ts +2 -0
  4. package/dist/components/TableManagement/TableManagementModal.d.ts +1 -1
  5. package/dist/components/TableManagement/hooks/useCollisionDetectionStrategy/mockUseCollisionDetectionStrategy.d.ts +5 -0
  6. package/dist/components/TableManagement/hooks/useCollisionDetectionStrategy/useCollisionDetectionStrategy.test.d.ts +1 -0
  7. package/dist/components/TableManagement/hooks/useDragHandlers/mock.d.ts +13 -0
  8. package/dist/components/TableManagement/hooks/useDragHandlers/mockUseDragHandlers.d.ts +13 -0
  9. package/dist/components/TableManagement/hooks/useDragHandlers/useDragHandlers.test.d.ts +1 -0
  10. package/dist/components/TableManagement/types.d.ts +1 -1
  11. package/dist/components/TableManagement/utils/filterColumnsBySearch/filterColumnsBySearch.test.d.ts +1 -0
  12. package/dist/context/ModalContext/mocks/mockUseModal.d.ts +3 -1
  13. package/dist/hooks/usePersistColumns/mockUsePersistColumns.d.ts +7 -0
  14. package/dist/hooks/usePersistUnsavedChanges/mockUsePersistUnsavedChanges.d.ts +9 -0
  15. package/dist/index.cjs +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.js +15 -13
  18. package/dist/index100.cjs +78 -10
  19. package/dist/index100.js +98 -13
  20. package/dist/index101.cjs +1 -1
  21. package/dist/index101.js +24 -2
  22. package/dist/index102.cjs +1 -1
  23. package/dist/index102.js +2 -36
  24. package/dist/index103.cjs +13 -1
  25. package/dist/index103.js +17 -19
  26. package/dist/index104.cjs +1 -1
  27. package/dist/index104.js +18 -7
  28. package/dist/index105.cjs +1 -1
  29. package/dist/index105.js +7 -63
  30. package/dist/index106.cjs +1 -1
  31. package/dist/index106.js +60 -26
  32. package/dist/index107.cjs +1 -13
  33. package/dist/index107.js +30 -17
  34. package/dist/index109.cjs +1 -7
  35. package/dist/index109.js +36 -10
  36. package/dist/index110.cjs +1 -1
  37. package/dist/index110.js +41 -62
  38. package/dist/index111.cjs +1 -1
  39. package/dist/index111.js +58 -42
  40. package/dist/index112.cjs +1 -1
  41. package/dist/index112.js +46 -41
  42. package/dist/index113.cjs +7 -0
  43. package/dist/index113.js +12 -0
  44. package/dist/index15.cjs +1 -1
  45. package/dist/index15.js +1 -1
  46. package/dist/index20.cjs +1 -1
  47. package/dist/index20.js +1 -1
  48. package/dist/index24.cjs +1 -1
  49. package/dist/index24.js +41 -38
  50. package/dist/index25.cjs +1 -1
  51. package/dist/index25.js +37 -34
  52. package/dist/index26.cjs +1 -1
  53. package/dist/index26.js +28 -27
  54. package/dist/index29.cjs +1 -1
  55. package/dist/index29.js +1 -1
  56. package/dist/index30.cjs +1 -1
  57. package/dist/index30.js +28 -27
  58. package/dist/index32.cjs +1 -1
  59. package/dist/index32.js +1 -1
  60. package/dist/index33.cjs +1 -1
  61. package/dist/index33.js +11 -11
  62. package/dist/index34.cjs +1 -1
  63. package/dist/index34.js +2 -2
  64. package/dist/index37.cjs +1 -1
  65. package/dist/index37.js +1 -1
  66. package/dist/index38.cjs +1 -1
  67. package/dist/index38.js +1 -1
  68. package/dist/index39.cjs +1 -1
  69. package/dist/index39.js +1 -1
  70. package/dist/index40.cjs +1 -1
  71. package/dist/index40.js +1 -1
  72. package/dist/index42.cjs +1 -1
  73. package/dist/index42.js +1 -1
  74. package/dist/index44.cjs +1 -1
  75. package/dist/index44.js +36 -33
  76. package/dist/index45.cjs +1 -1
  77. package/dist/index45.js +3 -3
  78. package/dist/index6.cjs +1 -1
  79. package/dist/index6.js +4 -4
  80. package/dist/index77.cjs +1 -1
  81. package/dist/index77.js +7 -2
  82. package/dist/index78.cjs +1 -1
  83. package/dist/index78.js +2 -9
  84. package/dist/index79.cjs +1 -3
  85. package/dist/index79.js +8 -13
  86. package/dist/index80.cjs +3 -1
  87. package/dist/index80.js +13 -8
  88. package/dist/index81.cjs +1 -11
  89. package/dist/index81.js +9 -16
  90. package/dist/index82.cjs +11 -1
  91. package/dist/index82.js +16 -41
  92. package/dist/index83.cjs +1 -1
  93. package/dist/index83.js +40 -8
  94. package/dist/index84.cjs +1 -1
  95. package/dist/index84.js +9 -143
  96. package/dist/index85.cjs +1 -1
  97. package/dist/index85.js +117 -18
  98. package/dist/index86.cjs +1 -1
  99. package/dist/index86.js +18 -23
  100. package/dist/index87.cjs +1 -1
  101. package/dist/index87.js +33 -13
  102. package/dist/index88.cjs +1 -104
  103. package/dist/index88.js +27 -118
  104. package/dist/index89.cjs +19 -1
  105. package/dist/index89.js +23 -67
  106. package/dist/index90.cjs +1 -1
  107. package/dist/index90.js +18 -26
  108. package/dist/index91.cjs +12 -1
  109. package/dist/index91.js +16 -2
  110. package/dist/index92.cjs +1 -1
  111. package/dist/index92.js +14 -40
  112. package/dist/index93.cjs +1 -1
  113. package/dist/index93.js +13 -11
  114. package/dist/index94.cjs +104 -1
  115. package/dist/index94.js +119 -32
  116. package/dist/index95.cjs +1 -1
  117. package/dist/index95.js +67 -28
  118. package/dist/index96.cjs +1 -19
  119. package/dist/index96.js +29 -24
  120. package/dist/index97.cjs +1 -1
  121. package/dist/index97.js +2 -21
  122. package/dist/index98.cjs +1 -1
  123. package/dist/index98.js +40 -14
  124. package/dist/index99.cjs +1 -80
  125. package/dist/index99.js +11 -101
  126. package/dist/mocks/internal/mockSWRReturn/index.d.ts +1 -0
  127. package/dist/mocks/internal/mockSWRReturn/mockSWRReturn.d.ts +1 -0
  128. package/dist/setupTests.d.ts +8 -0
  129. package/package.json +1 -1
package/dist/index94.js CHANGED
@@ -1,35 +1,122 @@
1
- import F from "swr";
2
- import { useBusinessLogic as R } from "./index7.js";
3
- import { useViews as V } from "./index60.js";
4
- import { Filters as w } from "./index65.js";
5
- import { fetcherV2 as _ } from "./index53.js";
6
- const q = (i) => {
7
- var r;
8
- const { TABLE_DATA_URL: n, SORT_FILTER_ID: a } = R(), { viewsMap: u, isLoading: c } = V(), e = u.get(`${i}`), t = new w();
9
- e && (t.initFiltersFromView(e), t.setPageSize(1), t.setCurrentPage(1));
10
- const m = !c && t.pageSize === 1 && t.currentPage === 1, g = t.queryParamsObject;
11
- e != null && e.sort && g.set(a, e == null ? void 0 : e.sort);
12
- const l = m ? `${n}?${t.queryParams}` : null, {
13
- data: s,
14
- error: f,
15
- isLoading: d,
16
- mutate: p
17
- } = F(
18
- [l, { includeMeta: !0 }],
19
- ([L, P]) => _(L, P),
20
- {
21
- revalidateOnFocus: !1,
22
- revalidateOnReconnect: !1,
23
- keepPreviousData: !0
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
+ `}
49
+
50
+ &:hover {
51
+ 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};
24
57
  }
25
- ), o = s == null ? void 0 : s.meta;
26
- return {
27
- viewCounts: (r = o == null ? void 0 : o.page) == null ? void 0 : r.total_count,
28
- error: f,
29
- isLoadingViewCounts: d,
30
- mutate: p
31
- };
32
- };
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;
96
+ }
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;
107
+ `;
33
108
  export {
34
- q as useViewCounts
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
35
122
  };
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"),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;
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("./index94.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;
package/dist/index95.js CHANGED
@@ -1,31 +1,70 @@
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." })
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 "./index94.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
27
14
  }
28
- );
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,
46
+ {
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
+ ]
65
+ }
66
+ ) });
67
+ };
29
68
  export {
30
- s as Confirmation
69
+ q as DndContainer
31
70
  };
package/dist/index96.cjs CHANGED
@@ -1,19 +1 @@
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};
6
-
7
- &:hover {
8
- background-color: ${e.theme.colors.neutral.grey.lightest};
9
- color: ${e.theme.colors.secondary.blue.base};
10
- cursor: pointer;
11
- }
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;
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("./index94.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;
package/dist/index96.js CHANGED
@@ -1,26 +1,31 @@
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};
8
-
9
- &:hover {
10
- background-color: ${o.colors.neutral.grey.lightest};
11
- color: ${o.colors.secondary.blue.base};
12
- cursor: pointer;
13
- }
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;
21
- `;
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 "./index94.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,
9
+ {
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
+ ]
26
+ }
27
+ );
28
+ };
22
29
  export {
23
- l as Divider,
24
- n as Item,
25
- a as MenuItems
30
+ g as ColumnItem
26
31
  };
package/dist/index97.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"});var i=(e=>(e.Hidden="hidden",e.Visible="visible",e))(i||{});exports.ColumnGroupIds=i;
package/dist/index97.js CHANGED
@@ -1,23 +1,4 @@
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"
18
- }
19
- )
20
- ] }) }) });
1
+ var i = /* @__PURE__ */ ((e) => (e.Hidden = "hidden", e.Visible = "visible", e))(i || {});
21
2
  export {
22
- b as DraftPill
3
+ i as ColumnGroupIds
23
4
  };
package/dist/index98.cjs CHANGED
@@ -1 +1 @@
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;
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;
package/dist/index98.js CHANGED
@@ -1,17 +1,43 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { StyledSortableViews as i } from "./index107.js";
3
- const h = (e) => /* @__PURE__ */ o(
4
- i,
5
- {
6
- ...e,
7
- onChange: (t) => {
8
- t.filter((n) => {
9
- var r;
10
- return (r = n.children) == null ? void 0 : r.length;
11
- }).length || e.onChange(t);
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
12
14
  }
13
- }
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
- h as LegacySortableViews
42
+ b as usePersistColumns
17
43
  };
package/dist/index99.cjs CHANGED
@@ -1,80 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("styled-components"),t=require("@veeqo/ui"),r=require("@veeqo/components"),l=require("framer-motion"),s=require("./index108.cjs"),c=e=>e&&e.__esModule?e:{default:e},o=c(a),{Glyph:i}=r.VeeqoCommon,d=o.default(l.motion(t.BaseContainer)).attrs(()=>({variants:s.notificationVariants,initial:"initial",animate:"animate",exit:"exit"}))`
2
- display: flex;
3
- position: fixed;
4
- width: 100vw;
5
- left: 0;
6
- bottom: 24px;
7
- z-index: 1001;
8
-
9
- &.notification-enter {
10
- opacity: 0;
11
- transform: translateY(-16px);
12
- }
13
-
14
- &.notification-enter-active {
15
- opacity: 1;
16
- transform: translateY(0);
17
- transition: 350ms ease;
18
- }
19
-
20
- &.notification-exit {
21
- opacity: 0;
22
- transform: translateY(16px);
23
- transition: 350ms ease;
24
- }
25
- pointer-events: none;
26
- `,f=o.default(t.BaseContainer)`
27
- display: inline-flex;
28
- flex-direction: row;
29
- align-items: center;
30
- padding: 20px 24px 24px 24px;
31
- border-radius: 4px;
32
- margin: 0 auto;
33
- background-color: #fff;
34
- box-shadow: ${t.theme.shadows.lg};
35
- pointer-events: all;
36
- `,p=o.default(t.Banner)`
37
- display: inline-flex;
38
- flex-direction: row;
39
- align-items: center;
40
- margin: 0 auto;
41
- background-color: #fff;
42
- box-shadow: ${t.theme.shadows.lg};
43
- pointer-events: all;
44
- `,x=o.default(t.Button)`
45
- margin-right: 16px;
46
- `,u=o.default(t.Text)`
47
- line-height: 20px;
48
- `,n=o.default(t.Text)`
49
- margin: ${e=>e.margin?e.margin:""};
50
- color: ${e=>e.color};
51
- `,m=o.default(t.Text)`
52
- margin-right: 8px;
53
- color: ${e=>e.color};
54
- `,g=o.default(i)``,h=o.default(t.BaseContainer)`
55
- display: flex;
56
- flex-direction: row;
57
- align-items: flex-end;
58
- flex-grow: 2;
59
- margin-left: 24px;
60
- margin-right: 24px;
61
- `;o.default.button`
62
- display: flex;
63
- flex-direction: row;
64
- width: 100%;
65
- padding: 12px 16px;
66
- cursor: pointer;
67
-
68
- & > ${n} {
69
- white-space: nowrap;
70
- user-select: none;
71
- }
72
-
73
- &:hover {
74
- background-color: ${t.theme.colors.neutral.grey.lightest};
75
- }
76
-
77
- &:hover > ${n} {
78
- color: ${t.theme.colors.secondary.blue.base};
79
- }
80
- `;exports.Bold=m;exports.Button=x;exports.Container=f;exports.Glyph=g;exports.Hint=u;exports.Notification=d;exports.Pill=p;exports.Text=n;exports.UIGlyph=i;exports.Wrap=h;
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/index99.js CHANGED
@@ -1,103 +1,13 @@
1
- import t from "styled-components";
2
- import { BaseContainer as n, theme as i, Text as e, Banner as a, Button as l } from "@veeqo/ui";
3
- import { VeeqoCommon as s } from "@veeqo/components";
4
- import { motion as c } from "framer-motion";
5
- import { notificationVariants as p } from "./index108.js";
6
- const { Glyph: x } = s, u = t(c(n)).attrs(() => ({
7
- variants: p,
8
- initial: "initial",
9
- animate: "animate",
10
- exit: "exit"
11
- }))`
12
- display: flex;
13
- position: fixed;
14
- width: 100vw;
15
- left: 0;
16
- bottom: 24px;
17
- z-index: 1001;
18
-
19
- &.notification-enter {
20
- opacity: 0;
21
- transform: translateY(-16px);
22
- }
23
-
24
- &.notification-enter-active {
25
- opacity: 1;
26
- transform: translateY(0);
27
- transition: 350ms ease;
28
- }
29
-
30
- &.notification-exit {
31
- opacity: 0;
32
- transform: translateY(16px);
33
- transition: 350ms ease;
34
- }
35
- pointer-events: none;
36
- `, w = t(n)`
37
- display: inline-flex;
38
- flex-direction: row;
39
- align-items: center;
40
- padding: 20px 24px 24px 24px;
41
- border-radius: 4px;
42
- margin: 0 auto;
43
- background-color: #fff;
44
- box-shadow: ${i.shadows.lg};
45
- pointer-events: all;
46
- `, y = t(a)`
47
- display: inline-flex;
48
- flex-direction: row;
49
- align-items: center;
50
- margin: 0 auto;
51
- background-color: #fff;
52
- box-shadow: ${i.shadows.lg};
53
- pointer-events: all;
54
- `, $ = t(l)`
55
- margin-right: 16px;
56
- `, b = t(e)`
57
- line-height: 20px;
58
- `, r = t(e)`
59
- margin: ${(o) => o.margin ? o.margin : ""};
60
- color: ${(o) => o.color};
61
- `, v = t(e)`
62
- margin-right: 8px;
63
- color: ${(o) => o.color};
64
- `, B = t(x)``, k = t(n)`
65
- display: flex;
66
- flex-direction: row;
67
- align-items: flex-end;
68
- flex-grow: 2;
69
- margin-left: 24px;
70
- margin-right: 24px;
71
- `;
72
- t.button`
73
- display: flex;
74
- flex-direction: row;
75
- width: 100%;
76
- padding: 12px 16px;
77
- cursor: pointer;
78
-
79
- & > ${r} {
80
- white-space: nowrap;
81
- user-select: none;
82
- }
83
-
84
- &:hover {
85
- background-color: ${i.colors.neutral.grey.lightest};
86
- }
87
-
88
- &:hover > ${r} {
89
- color: ${i.colors.secondary.blue.base};
90
- }
91
- `;
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));
8
+ }
9
+ );
10
+ };
92
11
  export {
93
- v as Bold,
94
- $ as Button,
95
- w as Container,
96
- B as Glyph,
97
- b as Hint,
98
- u as Notification,
99
- y as Pill,
100
- r as Text,
101
- x as UIGlyph,
102
- k as Wrap
12
+ a as filterColumnsBySearch
103
13
  };
@@ -0,0 +1 @@
1
+ export { mockSWRReturn } from './mockSWRReturn';
@@ -0,0 +1 @@
1
+ export declare const mockSWRReturn: (props?: any) => import('../../../../node_modules/vitest').MockedFunction<import('../../../../node_modules/swr/dist/_internal').SWRHook>;
@@ -0,0 +1,8 @@
1
+ import { expect } from '../node_modules/vitest';
2
+ import * as matchers from '@testing-library/jest-dom/matchers';
3
+ declare module '../node_modules/vitest' {
4
+ interface Assertion<T = any> extends matchers.TestingLibraryMatchers<typeof expect.stringContaining, T> {
5
+ toBeInTheDocument(): T;
6
+ toBeDisabled(): T;
7
+ }
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veeqo/transfigure",
3
- "version": "0.0.37",
3
+ "version": "0.0.38",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "dist/index.cjs",