@veeqo/transfigure 0.0.7 → 0.0.8

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 (65) hide show
  1. package/dist/index100.cjs +1 -13
  2. package/dist/index100.js +63 -16
  3. package/dist/index101.cjs +1 -80
  4. package/dist/index101.js +30 -95
  5. package/dist/index20.cjs +1 -1
  6. package/dist/index20.js +1 -1
  7. package/dist/index28.cjs +1 -1
  8. package/dist/index28.js +1 -1
  9. package/dist/index31.cjs +1 -1
  10. package/dist/index31.js +1 -1
  11. package/dist/index33.cjs +1 -1
  12. package/dist/index33.js +1 -1
  13. package/dist/index36.cjs +1 -1
  14. package/dist/index36.js +1 -1
  15. package/dist/index37.cjs +1 -1
  16. package/dist/index37.js +1 -1
  17. package/dist/index38.cjs +1 -1
  18. package/dist/index38.js +1 -1
  19. package/dist/index39.cjs +1 -1
  20. package/dist/index39.js +1 -1
  21. package/dist/index41.cjs +1 -1
  22. package/dist/index41.js +1 -1
  23. package/dist/index77.cjs +1 -1
  24. package/dist/index77.js +7 -7
  25. package/dist/index79.cjs +1 -1
  26. package/dist/index79.js +29 -13
  27. package/dist/index80.cjs +1 -104
  28. package/dist/index80.js +21 -119
  29. package/dist/index81.cjs +19 -1
  30. package/dist/index81.js +23 -67
  31. package/dist/index82.cjs +80 -1
  32. package/dist/index82.js +95 -29
  33. package/dist/index83.cjs +1 -1
  34. package/dist/index83.js +15 -2
  35. package/dist/index84.cjs +12 -1
  36. package/dist/index84.js +16 -40
  37. package/dist/index85.cjs +1 -1
  38. package/dist/index85.js +23 -7
  39. package/dist/index86.cjs +1 -1
  40. package/dist/index86.js +13 -24
  41. package/dist/index87.cjs +104 -1
  42. package/dist/index87.js +118 -27
  43. package/dist/index88.cjs +1 -19
  44. package/dist/index88.js +67 -23
  45. package/dist/index89.cjs +1 -1
  46. package/dist/index89.js +28 -14
  47. package/dist/index90.cjs +1 -80
  48. package/dist/index90.js +2 -95
  49. package/dist/index91.cjs +1 -12
  50. package/dist/index91.js +41 -16
  51. package/dist/index92.cjs +1 -1
  52. package/dist/index92.js +8 -22
  53. package/dist/index94.cjs +13 -1
  54. package/dist/index94.js +17 -19
  55. package/dist/index95.cjs +80 -1
  56. package/dist/index95.js +95 -8
  57. package/dist/index96.cjs +1 -1
  58. package/dist/index96.js +62 -63
  59. package/dist/index97.cjs +1 -1
  60. package/dist/index97.js +36 -30
  61. package/dist/index98.cjs +1 -1
  62. package/dist/index98.js +19 -63
  63. package/dist/index99.cjs +1 -1
  64. package/dist/index99.js +8 -36
  65. package/package.json +1 -1
package/dist/index100.cjs CHANGED
@@ -1,13 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@veeqo/components"),o=require("@veeqo/ui"),s=require("styled-components"),l=e=>e&&e.__esModule?e:{default:e},r=l(s),{SortableViews:i}=t.VeeqoUI,n=r.default(i)`
2
- .rst__rowTitle {
3
- span {
4
- white-space: nowrap;
5
- overflow: hidden;
6
- text-overflow: ellipsis;
7
- }
8
- }
9
-
10
- .rst__rowTitle > div:first-child {
11
- gap: ${o.theme.sizes.sm};
12
- }
13
- `;exports.StyledSortableViews=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),b=require("@dnd-kit/sortable"),w=({items:d,setItems:g})=>{const[C,i]=O.useState(null),[h,v]=O.useState(null),s=n=>{var e;return n&&(n.id in d?n.id:(e=n==null?void 0:n.data.current)==null?void 0:e.sortable.containerId)};return{activeId:C,handleDragStart:n=>{const{active:e}=n;i(e.id),v(d)},handleDragOver:n=>{const{active:e,over:t}=n,o=t==null?void 0:t.id;if(o==null)return;const c=s(t),a=s(e);!c||!a||a!==c&&g(r=>{const u=r[a],l=r[c],D=l.indexOf(o),S=u.indexOf(e.id);let f;if(o in r)f=l.length+1;else{const I=t&&e.rect.current.translated&&e.rect.current.translated.top>t.rect.top+t.rect.height?1:0;f=D>=0?D+I:l.length+1}return{...r,[a]:r[a].filter(x=>x!==e.id),[c]:[...r[c].slice(0,f),r[a][S],...r[c].slice(f,r[c].length)]}})},handleDragEnd:n=>{const{active:e,over:t}=n,o=s(e);if(!o){i(null);return}const c=t==null?void 0:t.id;if(c==null){i(null);return}const a=s(t);if(a){const r=d[o].indexOf(e.id),u=d[a].indexOf(c);r!==u&&g(l=>({...l,[a]:b.arrayMove(l[a],r,u)}))}i(null)},handleDragCancel:()=>{h&&g(h),i(null),v(null)}}};exports.useDragHandlers=w;
package/dist/index100.js CHANGED
@@ -1,19 +1,66 @@
1
- import { VeeqoUI as e } from "@veeqo/components";
2
- import { theme as o } from "@veeqo/ui";
3
- import t from "styled-components";
4
- const { SortableViews: r } = e, p = t(r)`
5
- .rst__rowTitle {
6
- span {
7
- white-space: nowrap;
8
- overflow: hidden;
9
- text-overflow: ellipsis;
1
+ import { useState as C } from "react";
2
+ import { arrayMove as S } from "@dnd-kit/sortable";
3
+ const M = ({ items: d, setItems: g }) => {
4
+ const [O, i] = C(null), [h, v] = C(null), s = (n) => {
5
+ var t;
6
+ return n && (n.id in d ? n.id : (t = n == null ? void 0 : n.data.current) == null ? void 0 : t.sortable.containerId);
7
+ };
8
+ return {
9
+ activeId: O,
10
+ handleDragStart: (n) => {
11
+ const { active: t } = n;
12
+ i(t.id), v(d);
13
+ },
14
+ handleDragOver: (n) => {
15
+ const { active: t, over: e } = n, a = e == null ? void 0 : e.id;
16
+ if (a == null) return;
17
+ const c = s(e), o = s(t);
18
+ !c || !o || o !== c && g((r) => {
19
+ const u = r[o], l = r[c], x = l.indexOf(a), I = u.indexOf(t.id);
20
+ let f;
21
+ if (a in r)
22
+ f = l.length + 1;
23
+ else {
24
+ const w = e && t.rect.current.translated && t.rect.current.translated.top > e.rect.top + e.rect.height ? 1 : 0;
25
+ f = x >= 0 ? x + w : l.length + 1;
26
+ }
27
+ return {
28
+ ...r,
29
+ [o]: r[o].filter((D) => D !== t.id),
30
+ [c]: [
31
+ ...r[c].slice(0, f),
32
+ r[o][I],
33
+ ...r[c].slice(f, r[c].length)
34
+ ]
35
+ };
36
+ });
37
+ },
38
+ handleDragEnd: (n) => {
39
+ const { active: t, over: e } = n, a = s(t);
40
+ if (!a) {
41
+ i(null);
42
+ return;
43
+ }
44
+ const c = e == null ? void 0 : e.id;
45
+ if (c == null) {
46
+ i(null);
47
+ return;
48
+ }
49
+ const o = s(e);
50
+ if (o) {
51
+ const r = d[a].indexOf(t.id), u = d[o].indexOf(c);
52
+ r !== u && g((l) => ({
53
+ ...l,
54
+ [o]: S(l[o], r, u)
55
+ }));
56
+ }
57
+ i(null);
58
+ },
59
+ handleDragCancel: () => {
60
+ h && g(h), i(null), v(null);
10
61
  }
11
- }
12
-
13
- .rst__rowTitle > div:first-child {
14
- gap: ${o.sizes.sm};
15
- }
16
- `;
62
+ };
63
+ };
17
64
  export {
18
- p as StyledSortableViews
65
+ M as useDragHandlers
19
66
  };
package/dist/index101.cjs CHANGED
@@ -1,80 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("@veeqo/ui"),a=require("@veeqo/components"),r=e=>e&&e.__esModule?e:{default:e},o=r(i),{Glyph:l}=a.VeeqoCommon,s=o.default(t.BaseContainer)`
2
- display: flex;
3
- position: fixed;
4
- width: 100vw;
5
- left: 0;
6
- bottom: 24px;
7
- z-index: 18;
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
- `;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
- `;const d=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
- `,c=o.default(t.Button)`
45
- margin-right: 16px;
46
- `,f=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
- `,p=o.default(t.Text)`
52
- margin-right: 8px;
53
- color: ${e=>e.color};
54
- `,u=o.default(l)``,x=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(t.AnimatedDropdown)``;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=p;exports.Button=c;exports.Glyph=u;exports.Hint=f;exports.Notification=s;exports.Pill=d;exports.Text=n;exports.Wrap=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),n=require("@dnd-kit/core"),a=({items:i})=>{const o=u.useRef(null);return{collisionDetectionStrategy:u.useCallback(t=>{var c;const r=n.pointerWithin(t),d=r.length>0?r:n.rectIntersection(t);let e=n.getFirstCollision(d,"id");if(e!=null){if(e in i){const l=i[e];l.length>0&&(e=((c=n.closestCenter({...t,droppableContainers:t.droppableContainers.filter(s=>s.id!==e&&l.includes(s.id))})[0])==null?void 0:c.id)??e)}return o.current=e,[{id:e}]}return o.current?[{id:o.current}]:[]},[i])}};exports.useCollisionDetectionStrategy=a;
package/dist/index101.js CHANGED
@@ -1,97 +1,32 @@
1
- import o from "styled-components";
2
- import { BaseContainer as e, theme as n, Banner as a, Text as i, Button as l, AnimatedDropdown as s } from "@veeqo/ui";
3
- import { VeeqoCommon as c } from "@veeqo/components";
4
- const { Glyph: p } = c, m = o(e)`
5
- display: flex;
6
- position: fixed;
7
- width: 100vw;
8
- left: 0;
9
- bottom: 24px;
10
- z-index: 18;
11
-
12
- &.notification-enter {
13
- opacity: 0;
14
- transform: translateY(-16px);
15
- }
16
-
17
- &.notification-enter-active {
18
- opacity: 1;
19
- transform: translateY(0);
20
- transition: 350ms ease;
21
- }
22
-
23
- &.notification-exit {
24
- opacity: 0;
25
- transform: translateY(16px);
26
- transition: 350ms ease;
27
- }
28
- pointer-events: none;
29
- `;
30
- o(e)`
31
- display: inline-flex;
32
- flex-direction: row;
33
- align-items: center;
34
- padding: 20px 24px 24px 24px;
35
- border-radius: 4px;
36
- margin: 0 auto;
37
- background-color: #fff;
38
- box-shadow: ${n.shadows.lg};
39
- pointer-events: all;
40
- `;
41
- const g = o(a)`
42
- display: inline-flex;
43
- flex-direction: row;
44
- align-items: center;
45
- margin: 0 auto;
46
- background-color: #fff;
47
- box-shadow: ${n.shadows.lg};
48
- pointer-events: all;
49
- `, h = o(l)`
50
- margin-right: 16px;
51
- `, w = o(i)`
52
- line-height: 20px;
53
- `, r = o(i)`
54
- margin: ${(t) => t.margin ? t.margin : ""};
55
- color: ${(t) => t.color};
56
- `, u = o(i)`
57
- margin-right: 8px;
58
- color: ${(t) => t.color};
59
- `, y = o(p)``, $ = o(e)`
60
- display: flex;
61
- flex-direction: row;
62
- align-items: flex-end;
63
- flex-grow: 2;
64
- margin-left: 24px;
65
- margin-right: 24px;
66
- `;
67
- o(s)``;
68
- o.button`
69
- display: flex;
70
- flex-direction: row;
71
- width: 100%;
72
- padding: 12px 16px;
73
- cursor: pointer;
74
-
75
- & > ${r} {
76
- white-space: nowrap;
77
- user-select: none;
78
- }
79
-
80
- &:hover {
81
- background-color: ${n.colors.neutral.grey.lightest};
82
- }
83
-
84
- &:hover > ${r} {
85
- color: ${n.colors.secondary.blue.base};
86
- }
87
- `;
1
+ import { useRef as u, useCallback as d } from "react";
2
+ import { pointerWithin as p, rectIntersection as a, getFirstCollision as f, closestCenter as C } from "@dnd-kit/core";
3
+ const h = ({ items: n }) => {
4
+ const i = u(null);
5
+ return { collisionDetectionStrategy: d(
6
+ (e) => {
7
+ var r;
8
+ const o = p(e), s = o.length > 0 ? (
9
+ // If there are droppables intersecting with the pointer, return those
10
+ o
11
+ ) : a(e);
12
+ let t = f(s, "id");
13
+ if (t != null) {
14
+ if (t in n) {
15
+ const l = n[t];
16
+ l.length > 0 && (t = ((r = C({
17
+ ...e,
18
+ droppableContainers: e.droppableContainers.filter(
19
+ (c) => c.id !== t && l.includes(c.id)
20
+ )
21
+ })[0]) == null ? void 0 : r.id) ?? t);
22
+ }
23
+ return i.current = t, [{ id: t }];
24
+ }
25
+ return i.current ? [{ id: i.current }] : [];
26
+ },
27
+ [n]
28
+ ) };
29
+ };
88
30
  export {
89
- u as Bold,
90
- h as Button,
91
- y as Glyph,
92
- w as Hint,
93
- m as Notification,
94
- g as Pill,
95
- r as Text,
96
- $ as Wrap
31
+ h as useCollisionDetectionStrategy
97
32
  };
package/dist/index20.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),b=require("mobx-react"),r=require("@veeqo/ui"),F=require("./index63.cjs"),R=require("./index98.cjs"),h=require("./index57.cjs"),x=b.observer(({filterData:i})=>{const{Filters:{numberRangeFilters:o,clearNumberRangeFilter:u,setNumberRangeFilter:d}}=h.useStores(),e=o.get(i.id),[s,a]=l.useState(e),c=l.useCallback(()=>{const n=new F.NumberRangeFilter({filterId:i.id});return e&&(e.gte&&n.setGte(e.gte),e.lte&&n.setLte(e.lte)),n},[i.id,e]);l.useEffect(()=>{const n=c();a(n)},[c,e]);const g=()=>{u(i.id)},m=()=>{!e||!s||d({numberRange:e,lte:s.lte,gte:s.gte})};return t.jsx(r.FilterTag,{shouldCloseOnClickAway:!0,header:t.jsx("div",{children:"Edit filter (style and semant me pls)"}),label:i.label,text:(e==null?void 0:e.filterLabel)||"Loading...",content:t.jsx(r.BaseContainer,{style:{padding:r.theme.sizes.md},children:t.jsx(R.FilterNumberRangeFilter,{data:i,editedValue:s,setEditedValue:a})}),footer:t.jsx(r.BaseContainer,{style:{padding:r.theme.sizes.sm,width:"200px"},children:t.jsxs(r.Stack,{direction:"horizontal",alignX:"end",children:[t.jsx(r.Button,{variant:"default",size:"sm",onClick:g,children:"Clear"}),t.jsx(r.Button,{variant:"primary",size:"sm",onClick:m,children:"Apply"})]})})})});exports.ActiveFilterNumberRangeTag=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),b=require("mobx-react"),r=require("@veeqo/ui"),F=require("./index63.cjs"),R=require("./index96.cjs"),h=require("./index57.cjs"),x=b.observer(({filterData:i})=>{const{Filters:{numberRangeFilters:o,clearNumberRangeFilter:u,setNumberRangeFilter:d}}=h.useStores(),e=o.get(i.id),[s,a]=l.useState(e),c=l.useCallback(()=>{const n=new F.NumberRangeFilter({filterId:i.id});return e&&(e.gte&&n.setGte(e.gte),e.lte&&n.setLte(e.lte)),n},[i.id,e]);l.useEffect(()=>{const n=c();a(n)},[c,e]);const g=()=>{u(i.id)},m=()=>{!e||!s||d({numberRange:e,lte:s.lte,gte:s.gte})};return t.jsx(r.FilterTag,{shouldCloseOnClickAway:!0,header:t.jsx("div",{children:"Edit filter (style and semant me pls)"}),label:i.label,text:(e==null?void 0:e.filterLabel)||"Loading...",content:t.jsx(r.BaseContainer,{style:{padding:r.theme.sizes.md},children:t.jsx(R.FilterNumberRangeFilter,{data:i,editedValue:s,setEditedValue:a})}),footer:t.jsx(r.BaseContainer,{style:{padding:r.theme.sizes.sm,width:"200px"},children:t.jsxs(r.Stack,{direction:"horizontal",alignX:"end",children:[t.jsx(r.Button,{variant:"default",size:"sm",onClick:g,children:"Clear"}),t.jsx(r.Button,{variant:"primary",size:"sm",onClick:m,children:"Apply"})]})})})});exports.ActiveFilterNumberRangeTag=x;
package/dist/index20.js CHANGED
@@ -3,7 +3,7 @@ import { useState as b, useCallback as f, useEffect as h } from "react";
3
3
  import { observer as R } from "mobx-react";
4
4
  import { FilterTag as v, BaseContainer as o, theme as a, Stack as y, Button as d } from "@veeqo/ui";
5
5
  import { NumberRangeFilter as C } from "./index63.js";
6
- import { FilterNumberRangeFilter as N } from "./index98.js";
6
+ import { FilterNumberRangeFilter as N } from "./index96.js";
7
7
  import { useStores as w } from "./index57.js";
8
8
  const j = R(
9
9
  ({ filterData: r }) => {
package/dist/index28.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),d=require("react"),_=require("mobx-react"),j=require("lodash/debounce"),r=require("@veeqo/ui"),L=require("./index99.cjs"),R=require("./index63.cjs"),p=require("./index7.cjs"),y=require("./index57.cjs"),v=i=>i&&i.__esModule?i:{default:i},k=v(j),I=_.observer(({field:i})=>{var M;const{FILTERS_DEBOUCE_INTERVAL_MS:f}=p.useBusinessLogic(),{Filters:{numberRangeFilters:u,setNumberRangeFilter:x,clearNumberRangeFilter:F}}=y.useStores(),e=u.get(i.id),[o,g]=d.useState({gte:(e==null?void 0:e.gte)??0,lte:(e==null?void 0:e.lte)??100});if(!((M=i.options)!=null&&M.length))return null;const b=()=>{const l=new R.NumberRangeFilter({filterId:i.id});return u.set(i.id,l),l},c=d.useCallback(k.default(({numberRange:l,lte:t,gte:n})=>{x({numberRange:l,lte:t,gte:n})},f),[x]),h=()=>{g({gte:0,lte:100}),F(i.id)},S=(l,t)=>{let n=new R.NumberRangeFilter({filterId:i.id});if(e||(n=b()),!Array.isArray(t)||t.length!==2)return;const[s,m]=t;g({gte:s,lte:m}),c(e?{numberRange:e,lte:m,gte:s}:{numberRange:n,lte:m,gte:s})},N=l=>{if(e||b(),!e)return;const t=Number(l);if(t>e.lteMax)return;let{lte:n}=e,{gte:s}=e;t>=e.gteMin&&t<=e.lteMax&&(s=t),(!e.lte||t>=e.lte)&&(n=e.lteMax),g({gte:s,lte:n}),c({numberRange:e,lte:n,gte:s})},C=l=>{if(e||b(),!e)return;const t=Number(l);if(t<e.gteMin)return;let{lte:n}=e,{gte:s}=e;t>=e.gteMin&&t<=e.lteMax&&(n=t),(!e.gte||t<=e.gte)&&(s=e.gteMin),g({gte:s,lte:n}),c({numberRange:e,lte:n,gte:s})},q=[o.gte,o.lte];return a.jsxs(r.Stack,{spacing:"xs",alignX:"stretch",children:[a.jsx(r.Button,{variant:"link",onClick:h,children:"Clear"}),a.jsxs(r.Stack,{direction:"horizontal",children:[a.jsx(r.TextField,{label:e==null?void 0:e.gteMinLabel,type:"number",min:e==null?void 0:e.gteMin,max:e==null?void 0:e.lteMax,value:o.gte.toString(),onChange:N}),a.jsx(r.TextField,{label:e==null?void 0:e.lteMaxLabel,type:"number",min:e==null?void 0:e.gteMin,max:e==null?void 0:e.lteMax,value:o.lte.toString(),onChange:C})]}),a.jsx(L.MUISlider,{value:q,onChange:S,min:e==null?void 0:e.gteMin,max:e==null?void 0:e.lteMax,valueLabelDisplay:"auto"})]})});exports.NumberRangeFilter=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),d=require("react"),_=require("mobx-react"),j=require("lodash/debounce"),r=require("@veeqo/ui"),L=require("./index97.cjs"),R=require("./index63.cjs"),p=require("./index7.cjs"),y=require("./index57.cjs"),v=i=>i&&i.__esModule?i:{default:i},k=v(j),I=_.observer(({field:i})=>{var M;const{FILTERS_DEBOUCE_INTERVAL_MS:f}=p.useBusinessLogic(),{Filters:{numberRangeFilters:u,setNumberRangeFilter:x,clearNumberRangeFilter:F}}=y.useStores(),e=u.get(i.id),[o,g]=d.useState({gte:(e==null?void 0:e.gte)??0,lte:(e==null?void 0:e.lte)??100});if(!((M=i.options)!=null&&M.length))return null;const b=()=>{const l=new R.NumberRangeFilter({filterId:i.id});return u.set(i.id,l),l},c=d.useCallback(k.default(({numberRange:l,lte:t,gte:n})=>{x({numberRange:l,lte:t,gte:n})},f),[x]),h=()=>{g({gte:0,lte:100}),F(i.id)},S=(l,t)=>{let n=new R.NumberRangeFilter({filterId:i.id});if(e||(n=b()),!Array.isArray(t)||t.length!==2)return;const[s,m]=t;g({gte:s,lte:m}),c(e?{numberRange:e,lte:m,gte:s}:{numberRange:n,lte:m,gte:s})},N=l=>{if(e||b(),!e)return;const t=Number(l);if(t>e.lteMax)return;let{lte:n}=e,{gte:s}=e;t>=e.gteMin&&t<=e.lteMax&&(s=t),(!e.lte||t>=e.lte)&&(n=e.lteMax),g({gte:s,lte:n}),c({numberRange:e,lte:n,gte:s})},C=l=>{if(e||b(),!e)return;const t=Number(l);if(t<e.gteMin)return;let{lte:n}=e,{gte:s}=e;t>=e.gteMin&&t<=e.lteMax&&(n=t),(!e.gte||t<=e.gte)&&(s=e.gteMin),g({gte:s,lte:n}),c({numberRange:e,lte:n,gte:s})},q=[o.gte,o.lte];return a.jsxs(r.Stack,{spacing:"xs",alignX:"stretch",children:[a.jsx(r.Button,{variant:"link",onClick:h,children:"Clear"}),a.jsxs(r.Stack,{direction:"horizontal",children:[a.jsx(r.TextField,{label:e==null?void 0:e.gteMinLabel,type:"number",min:e==null?void 0:e.gteMin,max:e==null?void 0:e.lteMax,value:o.gte.toString(),onChange:N}),a.jsx(r.TextField,{label:e==null?void 0:e.lteMaxLabel,type:"number",min:e==null?void 0:e.gteMin,max:e==null?void 0:e.lteMax,value:o.lte.toString(),onChange:C})]}),a.jsx(L.MUISlider,{value:q,onChange:S,min:e==null?void 0:e.gteMin,max:e==null?void 0:e.lteMax,valueLabelDisplay:"auto"})]})});exports.NumberRangeFilter=I;
package/dist/index28.js CHANGED
@@ -3,7 +3,7 @@ import { useState as y, useCallback as I } from "react";
3
3
  import { observer as k } from "mobx-react";
4
4
  import E from "lodash/debounce";
5
5
  import { Stack as c, Button as _, TextField as p } from "@veeqo/ui";
6
- import { MUISlider as A } from "./index99.js";
6
+ import { MUISlider as A } from "./index97.js";
7
7
  import { NumberRangeFilter as h } from "./index63.js";
8
8
  import { useBusinessLogic as B } from "./index7.js";
9
9
  import { useStores as T } from "./index57.js";
package/dist/index31.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("mobx-react"),n=require("@veeqo/ui"),o=require("./index7.cjs"),u=require("./index86.cjs"),c=require("./index32.cjs"),a=s.observer(()=>{const{GROUP_MAP:t}=o.useBusinessLogic();return e.jsx(u.AdaptiveHeightContainer,{style:{minWidth:"360px"},children:e.jsx(n.Stack,{alignX:"stretch",children:Array.from(t).map(([r,i])=>e.jsx(c.FilterGroup,{data:i},r))})})});exports.FiltersList=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("mobx-react"),n=require("@veeqo/ui"),o=require("./index7.cjs"),u=require("./index85.cjs"),c=require("./index32.cjs"),a=s.observer(()=>{const{GROUP_MAP:t}=o.useBusinessLogic();return e.jsx(u.AdaptiveHeightContainer,{style:{minWidth:"360px"},children:e.jsx(n.Stack,{alignX:"stretch",children:Array.from(t).map(([r,i])=>e.jsx(c.FilterGroup,{data:i},r))})})});exports.FiltersList=a;
package/dist/index31.js CHANGED
@@ -2,7 +2,7 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import { observer as e } from "mobx-react";
3
3
  import { Stack as m } from "@veeqo/ui";
4
4
  import { useBusinessLogic as s } from "./index7.js";
5
- import { AdaptiveHeightContainer as p } from "./index86.js";
5
+ import { AdaptiveHeightContainer as p } from "./index85.js";
6
6
  import { FilterGroup as n } from "./index32.js";
7
7
  const u = e(() => {
8
8
  const { GROUP_MAP: t } = s();
package/dist/index33.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),q=require("@veeqo/ui"),U=require("mobx-react"),W=require("./index60.cjs"),Y=require("./index58.cjs"),z=require("./index37.cjs"),G=require("./index40.cjs"),J=require("./index52.cjs"),K=require("./index7.cjs"),Q=require("./index57.cjs"),X=require("./index87.cjs"),Z=U.observer(({view:e})=>{const{VIEW_TYPE:S,SEARCH_FILTER_ID:l}=K.useBusinessLogic(),{Filters:{activeViewId:u,initFiltersFromView:d,discardChanges:w,initFromUrl:f,filters:x,setFilter:y},Views:{draftViewsMap:F},Notifications:{notify:L}}=Q.useStores(),{viewsMap:m,defaultCustomViewId:T,isLoading:N}=Y.useViews(),{isLoading:j,isValidating:E}=W.useCustomViews({type:S}),[s,M]=r.useState(null),R=i=>{const C=x.get(l);if(m.has(i)){const n=m.get(i);n&&(d(n),w(!0),f())}else{const n=F.get(i);n?(d(n),w(!0),f()):L({type:"error",text:"Failed to load view"})}C&&y(l,C)},a=(e==null?void 0:e.id)===u,t=e.originalView!==void 0,V=e.originalView===void 0,P="100",c=(e==null?void 0:e.label)||"",A=N||E||j,g=r.useRef(!1);!A&&!g.current&&a&&e.id===T&&s&&(g.current=!0,s&&u===e.id&&window.requestAnimationFrame(()=>{var i;(i=s.parentElement)==null||i.scrollBy({behavior:"smooth",left:s.offsetLeft})}));const h=r.useMemo(()=>t?"draft":e.editable?"saved":"fixed",[t,e.editable]),{actions:{create:{handleSaveDraft:B},menu:{toggleDropdown:p},delete:{closeDeleteConfirmation:I,handleDelete:_,handleDeleteDraftView:D}},state:{shouldShowDeleteConfirmation:k},actions:O,state:v}=J.useDropdownManager(e),H=r.useMemo(()=>{if(V)return p;if(t)return D},[D,t,V,p]);return o.jsxs(o.Fragment,{children:[o.jsx(q.ViewTab,{colourPalette:q.theme.colors.secondary.blue,className:"act-react-listing-custom-view",active:a,id:e==null?void 0:e.id,name:c,type:h,count:P,onClick:R,subAction:H,ariaContext:"orders",ref:M,"aria-controls":"options-dropdown","aria-expanded":v.shouldShowDropdown,"aria-haspopup":"dialog"},e==null?void 0:e.id),o.jsx(X.Confirmation,{shouldShow:k,viewName:c,onCancel:I,onDelete:_}),o.jsx(z.PillNotifications,{tabType:h,isActive:a,initialViewName:c,shouldShowCreateViewNotification:t,handleSaveDraft:B}),o.jsx(G.ViewDropdowns,{referenceElement:s,tab:e,...O,...v})]})});exports.ViewTab=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),q=require("@veeqo/ui"),U=require("mobx-react"),W=require("./index60.cjs"),Y=require("./index58.cjs"),z=require("./index37.cjs"),G=require("./index40.cjs"),J=require("./index52.cjs"),K=require("./index7.cjs"),Q=require("./index57.cjs"),X=require("./index79.cjs"),Z=U.observer(({view:e})=>{const{VIEW_TYPE:S,SEARCH_FILTER_ID:l}=K.useBusinessLogic(),{Filters:{activeViewId:u,initFiltersFromView:d,discardChanges:w,initFromUrl:f,filters:x,setFilter:y},Views:{draftViewsMap:F},Notifications:{notify:L}}=Q.useStores(),{viewsMap:m,defaultCustomViewId:T,isLoading:N}=Y.useViews(),{isLoading:j,isValidating:E}=W.useCustomViews({type:S}),[s,M]=r.useState(null),R=i=>{const C=x.get(l);if(m.has(i)){const n=m.get(i);n&&(d(n),w(!0),f())}else{const n=F.get(i);n?(d(n),w(!0),f()):L({type:"error",text:"Failed to load view"})}C&&y(l,C)},a=(e==null?void 0:e.id)===u,t=e.originalView!==void 0,V=e.originalView===void 0,P="100",c=(e==null?void 0:e.label)||"",A=N||E||j,g=r.useRef(!1);!A&&!g.current&&a&&e.id===T&&s&&(g.current=!0,s&&u===e.id&&window.requestAnimationFrame(()=>{var i;(i=s.parentElement)==null||i.scrollBy({behavior:"smooth",left:s.offsetLeft})}));const h=r.useMemo(()=>t?"draft":e.editable?"saved":"fixed",[t,e.editable]),{actions:{create:{handleSaveDraft:B},menu:{toggleDropdown:p},delete:{closeDeleteConfirmation:I,handleDelete:_,handleDeleteDraftView:D}},state:{shouldShowDeleteConfirmation:k},actions:O,state:v}=J.useDropdownManager(e),H=r.useMemo(()=>{if(V)return p;if(t)return D},[D,t,V,p]);return o.jsxs(o.Fragment,{children:[o.jsx(q.ViewTab,{colourPalette:q.theme.colors.secondary.blue,className:"act-react-listing-custom-view",active:a,id:e==null?void 0:e.id,name:c,type:h,count:P,onClick:R,subAction:H,ariaContext:"orders",ref:M,"aria-controls":"options-dropdown","aria-expanded":v.shouldShowDropdown,"aria-haspopup":"dialog"},e==null?void 0:e.id),o.jsx(X.Confirmation,{shouldShow:k,viewName:c,onCancel:I,onDelete:_}),o.jsx(z.PillNotifications,{tabType:h,isActive:a,initialViewName:c,shouldShowCreateViewNotification:t,handleSaveDraft:B}),o.jsx(G.ViewDropdowns,{referenceElement:s,tab:e,...O,...v})]})});exports.ViewTab=Z;
package/dist/index33.js CHANGED
@@ -9,7 +9,7 @@ import { ViewDropdowns as X } from "./index40.js";
9
9
  import { useDropdownManager as Z } from "./index52.js";
10
10
  import { useBusinessLogic as b } from "./index7.js";
11
11
  import { useStores as ee } from "./index57.js";
12
- import { Confirmation as ie } from "./index87.js";
12
+ import { Confirmation as ie } from "./index79.js";
13
13
  const we = G(({ view: e }) => {
14
14
  const { VIEW_TYPE: S, SEARCH_FILTER_ID: l } = b(), {
15
15
  Filters: { activeViewId: c, initFiltersFromView: d, discardChanges: f, initFromUrl: m, filters: F, setFilter: L },
package/dist/index36.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./index88.cjs"),g=require("./index48.cjs"),j=require("./index47.cjs"),M=({tab:i,onMakeDefault:l,onEdit:n,onDuplicate:s,onDelete:o,shouldShowDropdown:a,handleCloseDropdown:c})=>{const{openModal:r}=g.useModal(),d=()=>{r(j.ModalId.ORDERS_TABLE_MANAGEMENT),c()},m=i.label!=="Picking In Progress"&&i.editable,u=i.default!==!1&&i.editable,p=i.editable,b=i.editable;return a?e.jsxs(t.MenuItems,{children:[u&&e.jsx(t.Item,{onClick:l,className:"act-react-listing-custom-view-make-default-menu-item",children:"Make default view"}),b&&e.jsx(t.Item,{onClick:n,className:"act-react-listing-custom-view-edit-menu-item",role:"option",children:"Edit"}),e.jsx(t.Item,{onClick:s,className:"act-react-listing-custom-view-duplicate-menu-item",role:"option",children:"Duplicate"}),m&&e.jsx(t.Item,{onClick:o,className:"act-react-listing-custom-view-delete-menu-item",role:"option",children:"Delete"}),p&&e.jsxs(e.Fragment,{children:[e.jsx(t.Divider,{}),e.jsx(t.Item,{onClick:d,role:"option",children:"Table management"})]})]}):null};exports.OptionsDropdown=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./index81.cjs"),g=require("./index48.cjs"),j=require("./index47.cjs"),M=({tab:i,onMakeDefault:l,onEdit:n,onDuplicate:s,onDelete:o,shouldShowDropdown:a,handleCloseDropdown:c})=>{const{openModal:r}=g.useModal(),d=()=>{r(j.ModalId.ORDERS_TABLE_MANAGEMENT),c()},m=i.label!=="Picking In Progress"&&i.editable,u=i.default!==!1&&i.editable,p=i.editable,b=i.editable;return a?e.jsxs(t.MenuItems,{children:[u&&e.jsx(t.Item,{onClick:l,className:"act-react-listing-custom-view-make-default-menu-item",children:"Make default view"}),b&&e.jsx(t.Item,{onClick:n,className:"act-react-listing-custom-view-edit-menu-item",role:"option",children:"Edit"}),e.jsx(t.Item,{onClick:s,className:"act-react-listing-custom-view-duplicate-menu-item",role:"option",children:"Duplicate"}),m&&e.jsx(t.Item,{onClick:o,className:"act-react-listing-custom-view-delete-menu-item",role:"option",children:"Delete"}),p&&e.jsxs(e.Fragment,{children:[e.jsx(t.Divider,{}),e.jsx(t.Item,{onClick:d,role:"option",children:"Table management"})]})]}):null};exports.OptionsDropdown=M;
package/dist/index36.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsxs as t, jsx as i, Fragment as f } from "react/jsx-runtime";
2
- import { MenuItems as M, Item as l, Divider as h } from "./index88.js";
2
+ import { MenuItems as M, Item as l, Divider as h } from "./index81.js";
3
3
  import { useModal as k } from "./index48.js";
4
4
  import { ModalId as T } from "./index47.js";
5
5
  const N = ({
package/dist/index37.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react-transition-group"),f=require("mobx-react"),x=require("./index58.cjs"),v=require("./index92.cjs"),g=require("./index39.cjs"),h=require("./index57.cjs"),S=f.observer(({tabType:i,isActive:n,shouldShowCreateViewNotification:c,handleSaveDraft:s})=>{var r;const{Filters:{hasUnsavedChanges:l,discardChanges:u,activeViewId:t}}=h.useStores(),d=window.location.pathname==="/orders"?"orders":"variants",{viewsMap:m}=x.useViews(),o=t&&((r=m.get(t))==null?void 0:r.label)||"failure";return e.jsxs(e.Fragment,{children:[e.jsx(a.CSSTransition,{in:i==="draft"&&n&&c,timeout:200,classNames:"notification",unmountOnExit:!0,children:e.jsx(v.InfoPill,{onClick:s,mainEntityLabelPlural:d})}),i!=="fixed"&&o&&e.jsx(a.CSSTransition,{in:l&&n&&i==="saved",timeout:200,classNames:"notification",unmountOnExit:!0,children:e.jsx(g.UnsavedChangesPill,{viewName:o,onDiscard:()=>u(),onSaveDraft:s})})]})});exports.PillNotifications=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react-transition-group"),f=require("mobx-react"),x=require("./index58.cjs"),v=require("./index80.cjs"),g=require("./index39.cjs"),h=require("./index57.cjs"),S=f.observer(({tabType:i,isActive:n,shouldShowCreateViewNotification:c,handleSaveDraft:s})=>{var r;const{Filters:{hasUnsavedChanges:l,discardChanges:u,activeViewId:t}}=h.useStores(),d=window.location.pathname==="/orders"?"orders":"variants",{viewsMap:m}=x.useViews(),o=t&&((r=m.get(t))==null?void 0:r.label)||"failure";return e.jsxs(e.Fragment,{children:[e.jsx(a.CSSTransition,{in:i==="draft"&&n&&c,timeout:200,classNames:"notification",unmountOnExit:!0,children:e.jsx(v.InfoPill,{onClick:s,mainEntityLabelPlural:d})}),i!=="fixed"&&o&&e.jsx(a.CSSTransition,{in:l&&n&&i==="saved",timeout:200,classNames:"notification",unmountOnExit:!0,children:e.jsx(g.UnsavedChangesPill,{viewName:o,onDiscard:()=>u(),onSaveDraft:s})})]})});exports.PillNotifications=S;
package/dist/index37.js CHANGED
@@ -2,7 +2,7 @@ import { jsxs as u, Fragment as p, jsx as i } from "react/jsx-runtime";
2
2
  import { CSSTransition as a } from "react-transition-group";
3
3
  import { observer as h } from "mobx-react";
4
4
  import { useViews as v } from "./index58.js";
5
- import { InfoPill as w } from "./index92.js";
5
+ import { InfoPill as w } from "./index80.js";
6
6
  import { UnsavedChangesPill as x } from "./index39.js";
7
7
  import { useStores as g } from "./index57.js";
8
8
  const F = h(
package/dist/index38.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),d=require("react"),m=require("./index89.cjs"),g=require("./index60.cjs"),S=require("./index58.cjs"),b=require("./index3.cjs"),y=require("./index7.cjs"),V=require("./index57.cjs"),p=require("./index10.cjs"),q=()=>{const{VIEW_TYPE:n}=y.useBusinessLogic(),{sortedCustomViews:s,isLoading:u}=S.useViews(),{mutate:a}=g.useCustomViews({type:n}),[c,t]=d.useState(s),{Notifications:{notify:l}}=V.useStores(),w=async o=>{t(o);const r=o.map(e=>e.id);try{await b.patchCurrentUser({user_setting_attributes:{custom_view_positions:{order:r}}}),await a(e=>({...e,settings:{...e.settings,custom_view_positions:{...e.settings.custom_view_positions,order:r}}}),{revalidate:!1})}catch{t(s),l({type:"error",text:"Failed to update order of views"})}};return u||!s.length?null:i.jsx(p.ErrorBoundary,{children:i.jsx(m.LegacySortableViews,{views:c,onChange:w,className:"act-sortable-views"})})};exports.SortableViews=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),d=require("react"),m=require("./index83.cjs"),g=require("./index60.cjs"),S=require("./index58.cjs"),b=require("./index3.cjs"),y=require("./index7.cjs"),V=require("./index57.cjs"),p=require("./index10.cjs"),q=()=>{const{VIEW_TYPE:n}=y.useBusinessLogic(),{sortedCustomViews:s,isLoading:u}=S.useViews(),{mutate:a}=g.useCustomViews({type:n}),[c,t]=d.useState(s),{Notifications:{notify:l}}=V.useStores(),w=async o=>{t(o);const r=o.map(e=>e.id);try{await b.patchCurrentUser({user_setting_attributes:{custom_view_positions:{order:r}}}),await a(e=>({...e,settings:{...e.settings,custom_view_positions:{...e.settings.custom_view_positions,order:r}}}),{revalidate:!1})}catch{t(s),l({type:"error",text:"Failed to update order of views"})}};return u||!s.length?null:i.jsx(p.ErrorBoundary,{children:i.jsx(m.LegacySortableViews,{views:c,onChange:w,className:"act-sortable-views"})})};exports.SortableViews=q;
package/dist/index38.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { useState as f } from "react";
3
- import { LegacySortableViews as l } from "./index89.js";
3
+ import { LegacySortableViews as l } from "./index83.js";
4
4
  import { useCustomViews as w } from "./index60.js";
5
5
  import { useViews as d } from "./index58.js";
6
6
  import { patchCurrentUser as g } from "./index3.js";
package/dist/index39.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),s=require("@veeqo/ui"),h=require("mobx-react"),n=require("./index90.cjs"),u=require("./index56.cjs"),g=s.theme.colors.secondary.blue.base,v=h.observer(({onDiscard:i,viewName:t,onSaveDraft:c})=>{const{saveChanges:o,isSubmitting:r}=u.usePersistUnsavedChanges(),[d,a]=l.useState(!1);return e.jsx(n.Notification,{children:e.jsx(n.Container,{className:"act-react-listing-custom-notification-unsaved-changes",children:e.jsxs(s.Stack,{direction:"horizontal",alignY:"center",children:[e.jsx(n.Glyph,{name:"attention",color:g}),e.jsxs(n.Wrap,{children:[e.jsx(n.Text,{variant:"body",margin:"0 4px 0 0",children:"You have unsaved changes to"}),e.jsx(n.Bold,{variant:"bodyBoldDark",children:`'${t}'`})]}),e.jsx(n.Button,{className:"act-react-listing-custom-notification-unsaved-changes-discard",onClick:i,size:"sm",children:"Discard changes"}),e.jsxs(s.AnimatedDropdown,{reversed:!0,shouldShowDropdown:d,onClickAway:()=>a(!1),cta:e.jsx(n.Button,{className:"act-react-listing-custom-notification-unsaved-changes-toggle-dropdown",variant:"primary",onClick:()=>a(!0),size:"sm",dropdown:!0,children:"Save changes"}),children:[e.jsx(n.Item,{onClick:c,className:"act-react-listing-custom-notification-unsaved-changes-create-new-view",children:e.jsx(n.Text,{variant:"body",children:"Create new view"})}),e.jsxs(n.Item,{onClick:o,disabled:r,className:"act-react-listing-custom-notification-unsaved-changes-save-to-existing-view",children:[e.jsx(n.Text,{variant:"body",margin:"0 4px 0 0",children:"Save changes to"}),e.jsx(n.Text,{variant:"bodyBoldDark",children:t})]})]})]})})})});exports.UnsavedChangesPill=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),s=require("@veeqo/ui"),h=require("mobx-react"),n=require("./index82.cjs"),u=require("./index56.cjs"),g=s.theme.colors.secondary.blue.base,v=h.observer(({onDiscard:i,viewName:t,onSaveDraft:c})=>{const{saveChanges:o,isSubmitting:r}=u.usePersistUnsavedChanges(),[d,a]=l.useState(!1);return e.jsx(n.Notification,{children:e.jsx(n.Container,{className:"act-react-listing-custom-notification-unsaved-changes",children:e.jsxs(s.Stack,{direction:"horizontal",alignY:"center",children:[e.jsx(n.Glyph,{name:"attention",color:g}),e.jsxs(n.Wrap,{children:[e.jsx(n.Text,{variant:"body",margin:"0 4px 0 0",children:"You have unsaved changes to"}),e.jsx(n.Bold,{variant:"bodyBoldDark",children:`'${t}'`})]}),e.jsx(n.Button,{className:"act-react-listing-custom-notification-unsaved-changes-discard",onClick:i,size:"sm",children:"Discard changes"}),e.jsxs(s.AnimatedDropdown,{reversed:!0,shouldShowDropdown:d,onClickAway:()=>a(!1),cta:e.jsx(n.Button,{className:"act-react-listing-custom-notification-unsaved-changes-toggle-dropdown",variant:"primary",onClick:()=>a(!0),size:"sm",dropdown:!0,children:"Save changes"}),children:[e.jsx(n.Item,{onClick:c,className:"act-react-listing-custom-notification-unsaved-changes-create-new-view",children:e.jsx(n.Text,{variant:"body",children:"Create new view"})}),e.jsxs(n.Item,{onClick:o,disabled:r,className:"act-react-listing-custom-notification-unsaved-changes-save-to-existing-view",children:[e.jsx(n.Text,{variant:"body",margin:"0 4px 0 0",children:"Save changes to"}),e.jsx(n.Text,{variant:"bodyBoldDark",children:t})]})]})]})})})});exports.UnsavedChangesPill=v;
package/dist/index39.js CHANGED
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
2
  import { useState as m } from "react";
3
3
  import { Stack as g, theme as u, AnimatedDropdown as v } from "@veeqo/ui";
4
4
  import { observer as p } from "mobx-react";
5
- import { Notification as f, Container as w, Glyph as C, Wrap as b, Text as a, Bold as y, Button as o, Item as r } from "./index90.js";
5
+ import { Notification as f, Container as w, Glyph as C, Wrap as b, Text as a, Bold as y, Button as o, Item as r } from "./index82.js";
6
6
  import { usePersistUnsavedChanges as k } from "./index56.js";
7
7
  const S = u.colors.secondary.blue.base, A = p(
8
8
  ({
package/dist/index41.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),V=require("mobx-react"),s=require("@veeqo/ui"),t=require("./index91.cjs"),j=require("./index38.cjs"),m=require("./index58.cjs"),S=require("./index59.cjs"),q=require("./index34.cjs"),u=require("./index33.cjs"),p=require("./index57.cjs"),a=require("./index10.cjs"),b=V.observer(()=>{const{Views:{draftViewsList:c}}=p.useStores(),{viewsArray:l,fixedViews:d}=m.useViews(),[o,i]=n.useState(!1),[w,x]=n.useState(null),h=()=>i(!1);return S.useViewUrlChange(),e.jsxs(e.Fragment,{children:[e.jsxs(s.ViewsContainer,{onClickMenu:()=>i(!0),ariaMenuControls:"views-menu",ariaMenuExpanded:o,ref:x,children:[l.map(r=>e.jsx(a.ErrorBoundary,{children:e.jsx(u.ViewTab,{view:r})},r.id)),c.map(r=>e.jsx(a.ErrorBoundary,{children:e.jsx(u.ViewTab,{view:r})},r.id))]}),o&&e.jsx(s.Popover,{id:"views-menu",anchorElement:w,placement:"bottom",onShouldClose:()=>i(!1),children:e.jsxs(s.Card.Surface,{children:[e.jsx(t.FixedViews,{children:d.map(r=>e.jsx(s.Text,{variant:"placeholder",children:r.label},r.id||r.label))}),e.jsx(j.SortableViews,{}),e.jsx(t.Divider,{}),e.jsx(q.CreateView,{hideActionsPopover:h})]})})]})});exports.ViewList=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),V=require("mobx-react"),s=require("@veeqo/ui"),t=require("./index84.cjs"),j=require("./index38.cjs"),m=require("./index58.cjs"),S=require("./index59.cjs"),q=require("./index34.cjs"),u=require("./index33.cjs"),p=require("./index57.cjs"),a=require("./index10.cjs"),b=V.observer(()=>{const{Views:{draftViewsList:c}}=p.useStores(),{viewsArray:l,fixedViews:d}=m.useViews(),[o,i]=n.useState(!1),[w,x]=n.useState(null),h=()=>i(!1);return S.useViewUrlChange(),e.jsxs(e.Fragment,{children:[e.jsxs(s.ViewsContainer,{onClickMenu:()=>i(!0),ariaMenuControls:"views-menu",ariaMenuExpanded:o,ref:x,children:[l.map(r=>e.jsx(a.ErrorBoundary,{children:e.jsx(u.ViewTab,{view:r})},r.id)),c.map(r=>e.jsx(a.ErrorBoundary,{children:e.jsx(u.ViewTab,{view:r})},r.id))]}),o&&e.jsx(s.Popover,{id:"views-menu",anchorElement:w,placement:"bottom",onShouldClose:()=>i(!1),children:e.jsxs(s.Card.Surface,{children:[e.jsx(t.FixedViews,{children:d.map(r=>e.jsx(s.Text,{variant:"placeholder",children:r.label},r.id||r.label))}),e.jsx(j.SortableViews,{}),e.jsx(t.Divider,{}),e.jsx(q.CreateView,{hideActionsPopover:h})]})})]})});exports.ViewList=b;
package/dist/index41.js CHANGED
@@ -2,7 +2,7 @@ import { jsxs as i, Fragment as u, jsx as e } from "react/jsx-runtime";
2
2
  import { useState as n } from "react";
3
3
  import { observer as h } from "mobx-react";
4
4
  import { ViewsContainer as w, Popover as V, Card as v, Text as S } from "@veeqo/ui";
5
- import { FixedViews as x, Divider as C } from "./index91.js";
5
+ import { FixedViews as x, Divider as C } from "./index84.js";
6
6
  import { SortableViews as b } from "./index38.js";
7
7
  import { useViews as A } from "./index58.js";
8
8
  import { useViewUrlChange as L } from "./index59.js";
package/dist/index77.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@veeqo/ui"),a=require("react"),q=require("@veeqo/components"),x=require("./index79.cjs"),o=require("./index80.cjs"),M=require("./index81.cjs"),k=require("./index82.cjs"),t=require("./index83.cjs"),I=require("./index78.cjs"),T=require("./index84.cjs"),j=require("./index85.cjs"),{Glyph:w}=q.VeeqoCommon,D=({onClose:i,columnDefintions:S,hiddenColumns:h,visibleColumns:m})=>{const[c,g]=a.useState(""),s=a.useMemo(()=>new Map(S.map(n=>[n.id,n])),[]),[u,C]=a.useState(()=>({[t.ColumnGroupIds.Hidden]:h,[t.ColumnGroupIds.Visible]:m})),b=a.useMemo(()=>{const n=u[t.ColumnGroupIds.Visible].map(l=>s.get(`${l}`));return j.filterColumnsBySearch(n,c)},[u,s,c]),y=a.useMemo(()=>{const n=u[t.ColumnGroupIds.Hidden].map(l=>s.get(`${l}`));return j.filterColumnsBySearch(n,c)},[u,s,c]),{isSavingColumns:d,saveColumns:v}=T.usePersistColumns(),G=()=>{g(""),C({[t.ColumnGroupIds.Hidden]:h,[t.ColumnGroupIds.Visible]:m})},p=a.useCallback(n=>{g(n)},[]),f=a.useCallback(n=>{const l=s.get(`${n}`);return l?e.jsx(k.ColumnItem,{column:l,isDragOverlay:!0}):null},[s]);return e.jsx(r.Modal,{variant:"lg",style:{overflowY:"hidden"},shouldShow:!0,onClose:()=>i==null?void 0:i(),headerSlot:e.jsxs(o.HeaderContainer,{children:[e.jsxs(r.Stack,{direction:"horizontal",alignX:"between",alignY:"center",children:[e.jsxs(r.Stack,{direction:"horizontal",alignX:"start",alignY:"center",spacing:"sm",children:[e.jsx(I.TableManagementGlyph,{height:32,width:32}),e.jsx(r.Text,{variant:"headingLarge",as:"h1",children:"Table management"})]}),e.jsx(r.Button,{"aria-label":"Close modal",onClick:i,variant:"flat",iconSlot:e.jsx(w,{name:"close"})})]}),e.jsxs(r.Text,{variant:"subheadingMedium",children:["Show, hide, or change the order of the columns in the view, so you always see the data that's most important to you. Learn more with our"," ",e.jsx(r.Anchor,{href:"#",target:"_blank",children:"help guide (TODO)"}),"."]}),e.jsx(r.Text,{variant:"headingSmall",children:"Column management"}),e.jsx(o.ColumnSearch,{name:"column-search-query",placeholder:"Search",value:c,onChange:p,onClearClick:()=>p(""),fill:"100%"})]}),leftActions:[{label:"Reset",onClick:G,variant:"default",disabled:d}],rightActions:[{label:"Cancel",onClick:i,variant:"default",disabled:d},{label:"Save",onClick:()=>v({visibleColumns:m}),variant:"primary",disabled:d,loading:d}],children:e.jsx(r.Stack,{spacing:"md",alignX:"stretch",children:e.jsx(r.Stack,{spacing:4,alignX:"stretch",children:e.jsx(M.DndContainer,{items:u,setItems:C,renderDragOverlay:f,children:e.jsx(o.Container,{children:e.jsxs(o.ColumnGroupsGrid,{columns:2,spacing:"xl",children:[e.jsx(x.ColumnGroup,{id:t.ColumnGroupIds.Visible,title:"Shown columns:",columns:b}),e.jsx(o.VerticalSeparator,{children:e.jsx(o.VerticalText,{children:"Drag & Drop columns"})}),e.jsx(x.ColumnGroup,{id:t.ColumnGroupIds.Hidden,title:"Hidden columns:",columns:y})]})})})})})})};exports.TableManagementModal=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@veeqo/ui"),a=require("react"),q=require("@veeqo/components"),x=require("./index86.cjs"),o=require("./index87.cjs"),M=require("./index88.cjs"),k=require("./index89.cjs"),t=require("./index90.cjs"),I=require("./index78.cjs"),T=require("./index91.cjs"),j=require("./index92.cjs"),{Glyph:w}=q.VeeqoCommon,D=({onClose:i,columnDefintions:S,hiddenColumns:h,visibleColumns:m})=>{const[c,g]=a.useState(""),s=a.useMemo(()=>new Map(S.map(n=>[n.id,n])),[]),[u,C]=a.useState(()=>({[t.ColumnGroupIds.Hidden]:h,[t.ColumnGroupIds.Visible]:m})),b=a.useMemo(()=>{const n=u[t.ColumnGroupIds.Visible].map(l=>s.get(`${l}`));return j.filterColumnsBySearch(n,c)},[u,s,c]),y=a.useMemo(()=>{const n=u[t.ColumnGroupIds.Hidden].map(l=>s.get(`${l}`));return j.filterColumnsBySearch(n,c)},[u,s,c]),{isSavingColumns:d,saveColumns:v}=T.usePersistColumns(),G=()=>{g(""),C({[t.ColumnGroupIds.Hidden]:h,[t.ColumnGroupIds.Visible]:m})},p=a.useCallback(n=>{g(n)},[]),f=a.useCallback(n=>{const l=s.get(`${n}`);return l?e.jsx(k.ColumnItem,{column:l,isDragOverlay:!0}):null},[s]);return e.jsx(r.Modal,{variant:"lg",style:{overflowY:"hidden"},shouldShow:!0,onClose:()=>i==null?void 0:i(),headerSlot:e.jsxs(o.HeaderContainer,{children:[e.jsxs(r.Stack,{direction:"horizontal",alignX:"between",alignY:"center",children:[e.jsxs(r.Stack,{direction:"horizontal",alignX:"start",alignY:"center",spacing:"sm",children:[e.jsx(I.TableManagementGlyph,{height:32,width:32}),e.jsx(r.Text,{variant:"headingLarge",as:"h1",children:"Table management"})]}),e.jsx(r.Button,{"aria-label":"Close modal",onClick:i,variant:"flat",iconSlot:e.jsx(w,{name:"close"})})]}),e.jsxs(r.Text,{variant:"subheadingMedium",children:["Show, hide, or change the order of the columns in the view, so you always see the data that's most important to you. Learn more with our"," ",e.jsx(r.Anchor,{href:"#",target:"_blank",children:"help guide (TODO)"}),"."]}),e.jsx(r.Text,{variant:"headingSmall",children:"Column management"}),e.jsx(o.ColumnSearch,{name:"column-search-query",placeholder:"Search",value:c,onChange:p,onClearClick:()=>p(""),fill:"100%"})]}),leftActions:[{label:"Reset",onClick:G,variant:"default",disabled:d}],rightActions:[{label:"Cancel",onClick:i,variant:"default",disabled:d},{label:"Save",onClick:()=>v({visibleColumns:m}),variant:"primary",disabled:d,loading:d}],children:e.jsx(r.Stack,{spacing:"md",alignX:"stretch",children:e.jsx(r.Stack,{spacing:4,alignX:"stretch",children:e.jsx(M.DndContainer,{items:u,setItems:C,renderDragOverlay:f,children:e.jsx(o.Container,{children:e.jsxs(o.ColumnGroupsGrid,{columns:2,spacing:"xl",children:[e.jsx(x.ColumnGroup,{id:t.ColumnGroupIds.Visible,title:"Shown columns:",columns:b}),e.jsx(o.VerticalSeparator,{children:e.jsx(o.VerticalText,{children:"Drag & Drop columns"})}),e.jsx(x.ColumnGroup,{id:t.ColumnGroupIds.Hidden,title:"Hidden columns:",columns:y})]})})})})})})};exports.TableManagementModal=D;
package/dist/index77.js CHANGED
@@ -2,14 +2,14 @@ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
2
  import { Modal as G, Stack as m, Text as h, Button as H, Anchor as T } from "@veeqo/ui";
3
3
  import { useState as b, useMemo as u, useCallback as S } from "react";
4
4
  import { VeeqoCommon as O } from "@veeqo/components";
5
- import { ColumnGroup as v } from "./index79.js";
6
- import { Container as X, ColumnGroupsGrid as A, VerticalSeparator as I, VerticalText as Y, HeaderContainer as $, ColumnSearch as j } from "./index80.js";
7
- import { DndContainer as q } from "./index81.js";
8
- import { ColumnItem as z } from "./index82.js";
9
- import { ColumnGroupIds as r } from "./index83.js";
5
+ import { ColumnGroup as v } from "./index86.js";
6
+ import { Container as X, ColumnGroupsGrid as A, VerticalSeparator as I, VerticalText as Y, HeaderContainer as $, ColumnSearch as j } from "./index87.js";
7
+ import { DndContainer as q } from "./index88.js";
8
+ import { ColumnItem as z } from "./index89.js";
9
+ import { ColumnGroupIds as r } from "./index90.js";
10
10
  import { TableManagementGlyph as B } from "./index78.js";
11
- import { usePersistColumns as L } from "./index84.js";
12
- import { filterColumnsBySearch as y } from "./index85.js";
11
+ import { usePersistColumns as L } from "./index91.js";
12
+ import { filterColumnsBySearch as y } from "./index92.js";
13
13
  const { Glyph: Q } = O, ne = ({
14
14
  onClose: i,
15
15
  columnDefintions: w,
package/dist/index79.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("./index94.cjs"),l=require("./index95.cjs"),c=require("./index82.cjs"),u=require("./index83.cjs"),d=require("./index80.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 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/index79.js CHANGED
@@ -1,15 +1,31 @@
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 "./index94.js";
5
- import { DroppableArea as d } from "./index95.js";
6
- import { ColumnItem as l } from "./index82.js";
7
- import { ColumnGroupIds as c } from "./index83.js";
8
- import { StickyText as f } from "./index80.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 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
+ );
13
29
  export {
14
- I as ColumnGroup
30
+ s as Confirmation
15
31
  };