@veeqo/transfigure 2.4.1 → 2.5.0

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 (101) hide show
  1. package/dist/components/Views/IncludedFilters/IncludedFilters.d.ts +1 -0
  2. package/dist/components/Views/IncludedFilters/index.d.ts +1 -0
  3. package/dist/index.css +1 -1
  4. package/dist/index101.cjs +1 -1
  5. package/dist/index101.js +23 -11
  6. package/dist/index102.cjs +1 -1
  7. package/dist/index102.js +49 -8
  8. package/dist/index103.cjs +1 -1
  9. package/dist/index103.js +29 -50
  10. package/dist/index104.cjs +1 -1
  11. package/dist/index104.js +57 -28
  12. package/dist/index105.cjs +19 -1
  13. package/dist/index105.js +24 -21
  14. package/dist/index106.cjs +1 -1
  15. package/dist/index106.js +20 -14
  16. package/dist/index107.cjs +1 -19
  17. package/dist/index107.js +14 -23
  18. package/dist/index108.cjs +1 -12
  19. package/dist/index108.js +12 -16
  20. package/dist/index109.cjs +12 -1
  21. package/dist/index109.js +16 -24
  22. package/dist/index110.cjs +1 -80
  23. package/dist/index110.js +8 -97
  24. package/dist/index111.cjs +80 -1
  25. package/dist/index111.js +98 -19
  26. package/dist/index112.cjs +1 -1
  27. package/dist/index112.js +18 -7
  28. package/dist/index113.cjs +1 -1
  29. package/dist/index113.js +7 -60
  30. package/dist/index114.cjs +1 -1
  31. package/dist/index114.js +57 -26
  32. package/dist/index115.cjs +1 -13
  33. package/dist/index115.js +30 -17
  34. package/dist/index116.cjs +13 -1
  35. package/dist/index116.js +17 -2
  36. package/dist/index117.cjs +1 -1
  37. package/dist/index117.js +2 -26
  38. package/dist/index119.cjs +1 -1
  39. package/dist/index119.js +25 -4
  40. package/dist/index121.cjs +1 -1
  41. package/dist/index121.js +5 -63
  42. package/dist/index122.cjs +1 -1
  43. package/dist/index122.js +5 -47
  44. package/dist/index123.cjs +1 -0
  45. package/dist/index123.js +65 -0
  46. package/dist/index124.cjs +1 -0
  47. package/dist/index124.js +49 -0
  48. package/dist/index17.cjs +1 -1
  49. package/dist/index17.js +1 -1
  50. package/dist/index19.cjs +1 -1
  51. package/dist/index19.js +1 -1
  52. package/dist/index20.cjs +1 -1
  53. package/dist/index20.js +1 -1
  54. package/dist/index22.cjs +1 -1
  55. package/dist/index22.js +1 -1
  56. package/dist/index34.cjs +1 -1
  57. package/dist/index34.js +1 -1
  58. package/dist/index36.cjs +1 -1
  59. package/dist/index36.js +2 -2
  60. package/dist/index38.cjs +1 -1
  61. package/dist/index38.js +21 -19
  62. package/dist/index39.cjs +1 -1
  63. package/dist/index39.js +1 -1
  64. package/dist/index40.cjs +1 -1
  65. package/dist/index40.js +1 -1
  66. package/dist/index41.cjs +1 -1
  67. package/dist/index41.js +1 -1
  68. package/dist/index42.cjs +1 -1
  69. package/dist/index42.js +1 -1
  70. package/dist/index44.cjs +1 -1
  71. package/dist/index44.js +1 -1
  72. package/dist/index46.cjs +1 -1
  73. package/dist/index46.js +1 -1
  74. package/dist/index47.cjs +1 -1
  75. package/dist/index47.js +2 -2
  76. package/dist/index57.cjs +1 -1
  77. package/dist/index57.js +1 -1
  78. package/dist/index65.cjs +1 -1
  79. package/dist/index65.js +1 -1
  80. package/dist/index69.cjs +1 -1
  81. package/dist/index69.js +1 -1
  82. package/dist/index70.cjs +1 -1
  83. package/dist/index70.js +2 -2
  84. package/dist/index82.cjs +1 -1
  85. package/dist/index82.js +1 -1
  86. package/dist/index86.cjs +1 -1
  87. package/dist/index86.js +1 -1
  88. package/dist/index87.cjs +1 -1
  89. package/dist/index87.js +1 -1
  90. package/dist/index90.cjs +1 -1
  91. package/dist/index90.js +115 -39
  92. package/dist/index91.cjs +1 -1
  93. package/dist/index91.js +41 -9
  94. package/dist/index92.cjs +1 -1
  95. package/dist/index92.js +8 -116
  96. package/dist/index93.cjs +1 -1
  97. package/dist/index93.js +2 -2
  98. package/dist/index95.cjs +1 -1
  99. package/dist/index95.js +2 -2
  100. package/dist/storybookHelpers/apiMocks/views/custom_views.d.ts +28 -0
  101. package/package.json +1 -1
package/dist/index115.js CHANGED
@@ -1,19 +1,32 @@
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;
10
- }
11
- }
12
-
13
- .rst__rowTitle > div:first-child {
14
- gap: ${o.sizes.sm};
15
- }
16
- `;
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
+ };
17
30
  export {
18
- p as StyledSortableViews
31
+ h as useCollisionDetectionStrategy
19
32
  };
package/dist/index116.cjs CHANGED
@@ -1 +1,13 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=r=>r instanceof Error;exports.isError=e;
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;
package/dist/index116.js CHANGED
@@ -1,4 +1,19 @@
1
- const o = (r) => r instanceof Error;
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;
10
+ }
11
+ }
12
+
13
+ .rst__rowTitle > div:first-child {
14
+ gap: ${o.sizes.sm};
15
+ }
16
+ `;
2
17
  export {
3
- o as isError
18
+ p as StyledSortableViews
4
19
  };
package/dist/index117.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={initial:{opacity:0,y:50,scale:.95},animate:{opacity:1,y:0,scale:1,transition:{duration:.2,ease:"easeOut"}},exit:{opacity:0,y:20,scale:.95,transition:{duration:.2,ease:"easeIn"}}};exports.notificationVariants=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=r=>r instanceof Error;exports.isError=e;
package/dist/index117.js CHANGED
@@ -1,28 +1,4 @@
1
- const a = {
2
- initial: {
3
- opacity: 0,
4
- y: 50,
5
- scale: 0.95
6
- },
7
- animate: {
8
- opacity: 1,
9
- y: 0,
10
- scale: 1,
11
- transition: {
12
- duration: 0.2,
13
- ease: "easeOut"
14
- }
15
- },
16
- exit: {
17
- opacity: 0,
18
- y: 20,
19
- scale: 0.95,
20
- transition: {
21
- duration: 0.2,
22
- ease: "easeIn"
23
- }
24
- }
25
- };
1
+ const o = (r) => r instanceof Error;
26
2
  export {
27
- a as notificationVariants
3
+ o as isError
28
4
  };
package/dist/index119.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_fieldContainer_43n4j_1",t={fieldContainer:e};exports.default=t;exports.fieldContainer=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={initial:{opacity:0,y:50,scale:.95},animate:{opacity:1,y:0,scale:1,transition:{duration:.2,ease:"easeOut"}},exit:{opacity:0,y:20,scale:.95,transition:{duration:.2,ease:"easeIn"}}};exports.notificationVariants=t;
package/dist/index119.js CHANGED
@@ -1,7 +1,28 @@
1
- const e = "_fieldContainer_43n4j_1", n = {
2
- fieldContainer: e
1
+ const a = {
2
+ initial: {
3
+ opacity: 0,
4
+ y: 50,
5
+ scale: 0.95
6
+ },
7
+ animate: {
8
+ opacity: 1,
9
+ y: 0,
10
+ scale: 1,
11
+ transition: {
12
+ duration: 0.2,
13
+ ease: "easeOut"
14
+ }
15
+ },
16
+ exit: {
17
+ opacity: 0,
18
+ y: 20,
19
+ scale: 0.95,
20
+ transition: {
21
+ duration: 0.2,
22
+ ease: "easeIn"
23
+ }
24
+ }
3
25
  };
4
26
  export {
5
- n as default,
6
- e as fieldContainer
27
+ a as notificationVariants
7
28
  };
package/dist/index121.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),p=require("mobx-react"),l=require("@veeqo/ui"),v=require("./index118.cjs"),y=p.observer(({data:m,editedValue:t,setEditedValue:c})=>{var b;if(!((b=m.options)!=null&&b.length))return null;const[u,x]=m.options,i=Number(u.value),a=Number(x.value),h=(s,n)=>{if(!Array.isArray(n)||n.length!==2||!t)return;const[e,j]=n,g=t==null?void 0:t.clone();g.setGte(e),g.setLte(j),c(g)},o={gte:(t==null?void 0:t.gte)||0,lte:(t==null?void 0:t.lte)||100},M=s=>{if(!t)return;const n=t.clone(),e=Number(s);e>n.lteMax||(e>=n.gteMin&&e<=n.lteMax&&n.setGte(e),(!n.lte||e>=n.lte)&&n.setLte(n.lteMax),c(n))},f=s=>{if(!t)return;const n=t.clone(),e=Number(s);e<n.gteMin||(e>=n.gteMin&&e<=n.lteMax&&n.setLte(e),(!n.gte||e<=n.gte)&&n.setGte(n.gteMin),c(n))},S=[o.gte,o.lte];return r.jsxs(l.Stack,{spacing:"xs",alignX:"stretch",children:[r.jsxs(l.Stack,{direction:"horizontal",children:[r.jsx(l.TextField,{label:u.label,type:"number",min:i,max:a,value:o.gte.toString(),onChange:M}),r.jsx(l.TextField,{label:x.label,type:"number",min:i,max:a,value:o.lte.toString(),onChange:f})]}),r.jsx(v.MUISlider,{value:S,onChange:h,min:i,max:a,valueLabelDisplay:"auto"})]})});exports.FilterNumberRangeFilter=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_fieldContainer_43n4j_1",t={fieldContainer:e};exports.default=t;exports.fieldContainer=e;
package/dist/index121.js CHANGED
@@ -1,65 +1,7 @@
1
- import { jsxs as b, jsx as a } from "react/jsx-runtime";
2
- import { observer as N } from "mobx-react";
3
- import { Stack as h, TextField as u } from "@veeqo/ui";
4
- import { MUISlider as L } from "./index118.js";
5
- const j = N(
6
- ({ data: g, editedValue: t, setEditedValue: l }) => {
7
- var f;
8
- if (!((f = g.options) != null && f.length)) return null;
9
- const [i, x] = g.options, s = Number(i.value), c = Number(x.value), p = (e, n) => {
10
- if (!Array.isArray(n) || n.length !== 2 || !t) return;
11
- const [r, y] = n, m = t == null ? void 0 : t.clone();
12
- m.setGte(r), m.setLte(y), l(m);
13
- }, o = {
14
- gte: (t == null ? void 0 : t.gte) || 0,
15
- lte: (t == null ? void 0 : t.lte) || 100
16
- }, M = (e) => {
17
- if (!t) return;
18
- const n = t.clone(), r = Number(e);
19
- r > n.lteMax || (r >= n.gteMin && r <= n.lteMax && n.setGte(r), (!n.lte || r >= n.lte) && n.setLte(n.lteMax), l(n));
20
- }, v = (e) => {
21
- if (!t) return;
22
- const n = t.clone(), r = Number(e);
23
- r < n.gteMin || (r >= n.gteMin && r <= n.lteMax && n.setLte(r), (!n.gte || r <= n.gte) && n.setGte(n.gteMin), l(n));
24
- }, C = [o.gte, o.lte];
25
- return /* @__PURE__ */ b(h, { spacing: "xs", alignX: "stretch", children: [
26
- /* @__PURE__ */ b(h, { direction: "horizontal", children: [
27
- /* @__PURE__ */ a(
28
- u,
29
- {
30
- label: i.label,
31
- type: "number",
32
- min: s,
33
- max: c,
34
- value: o.gte.toString(),
35
- onChange: M
36
- }
37
- ),
38
- /* @__PURE__ */ a(
39
- u,
40
- {
41
- label: x.label,
42
- type: "number",
43
- min: s,
44
- max: c,
45
- value: o.lte.toString(),
46
- onChange: v
47
- }
48
- )
49
- ] }),
50
- /* @__PURE__ */ a(
51
- L,
52
- {
53
- value: C,
54
- onChange: p,
55
- min: s,
56
- max: c,
57
- valueLabelDisplay: "auto"
58
- }
59
- )
60
- ] });
61
- }
62
- );
1
+ const e = "_fieldContainer_43n4j_1", n = {
2
+ fieldContainer: e
3
+ };
63
4
  export {
64
- j as FilterNumberRangeFilter
5
+ n as default,
6
+ e as fieldContainer
65
7
  };
package/dist/index122.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),p=require("react"),d=require("mobx-react"),t=require("@veeqo/ui"),m=require("swr/immutable"),x=require("./index77.cjs"),y=require("./index78.cjs"),F=require("./index50.cjs"),O=e=>e&&e.__esModule?e:{default:e},A=O(m),S=d.observer(({field:e,editedValue:o,setEditedValue:a})=>{var c,i;const l=p.useMemo(()=>{var r;return y.getFetcherFunction({fetcherName:(r=e.fetchAsyncFilterOptions)==null?void 0:r.fetcher})},[(c=e.fetchAsyncFilterOptions)==null?void 0:c.fetcher]),{isLoading:u,isValidating:h,data:g,error:b}=A.default((i=e.fetchAsyncFilterOptions)==null?void 0:i.URL,l,F.SWR_HOOK_OPTIONS),n=u||h,f=x.getAsyncOptions({data:g,config:e.fetchAsyncFilterOptions});return s.jsxs(t.Stack,{spacing:"xs",alignX:"stretch",children:[s.jsx(t.ChoiceList,{allowMultiple:!0,title:e.label,options:f,selected:o,onChange:r=>a(r)}),n&&s.jsx(t.Skeleton,{width:"200px",height:t.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!n&&b&&s.jsxs(t.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.ActiveAsyncCheckboxFilter=S;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_emptyTitle_19yvd_1",t={emptyTitle:e};exports.default=t;exports.emptyTitle=e;
package/dist/index122.js CHANGED
@@ -1,49 +1,7 @@
1
- import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
- import { useMemo as u } from "react";
3
- import { observer as O } from "mobx-react";
4
- import { Stack as b, ChoiceList as F, Skeleton as x, theme as y, Text as A } from "@veeqo/ui";
5
- import S from "swr/immutable";
6
- import { getAsyncOptions as d } from "./index77.js";
7
- import { getFetcherFunction as L } from "./index78.js";
8
- import { SWR_HOOK_OPTIONS as k } from "./index50.js";
9
- const T = O(
10
- ({ field: t, editedValue: c, setEditedValue: a }) => {
11
- var o, i;
12
- const l = u(() => {
13
- var e;
14
- return L({ fetcherName: (e = t.fetchAsyncFilterOptions) == null ? void 0 : e.fetcher });
15
- }, [(o = t.fetchAsyncFilterOptions) == null ? void 0 : o.fetcher]), { isLoading: m, isValidating: h, data: p, error: f } = S(
16
- (i = t.fetchAsyncFilterOptions) == null ? void 0 : i.URL,
17
- l,
18
- k
19
- ), r = m || h, g = d({ data: p, config: t.fetchAsyncFilterOptions });
20
- return /* @__PURE__ */ s(b, { spacing: "xs", alignX: "stretch", children: [
21
- /* @__PURE__ */ n(
22
- F,
23
- {
24
- allowMultiple: !0,
25
- title: t.label,
26
- options: g,
27
- selected: c,
28
- onChange: (e) => a(e)
29
- }
30
- ),
31
- r && /* @__PURE__ */ n(
32
- x,
33
- {
34
- width: "200px",
35
- height: y.sizes[5],
36
- "aria-busy": !0,
37
- "aria-label": `Loading ${t.label} filters`
38
- }
39
- ),
40
- !r && f && /* @__PURE__ */ s(A, { variant: "errorSmall", children: [
41
- "Error: failed to load filter for ",
42
- t.label
43
- ] })
44
- ] });
45
- }
46
- );
1
+ const t = "_emptyTitle_19yvd_1", e = {
2
+ emptyTitle: t
3
+ };
47
4
  export {
48
- T as ActiveAsyncCheckboxFilter
5
+ e as default,
6
+ t as emptyTitle
49
7
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),p=require("mobx-react"),l=require("@veeqo/ui"),v=require("./index118.cjs"),y=p.observer(({data:m,editedValue:t,setEditedValue:c})=>{var b;if(!((b=m.options)!=null&&b.length))return null;const[u,x]=m.options,i=Number(u.value),a=Number(x.value),h=(s,n)=>{if(!Array.isArray(n)||n.length!==2||!t)return;const[e,j]=n,g=t==null?void 0:t.clone();g.setGte(e),g.setLte(j),c(g)},o={gte:(t==null?void 0:t.gte)||0,lte:(t==null?void 0:t.lte)||100},M=s=>{if(!t)return;const n=t.clone(),e=Number(s);e>n.lteMax||(e>=n.gteMin&&e<=n.lteMax&&n.setGte(e),(!n.lte||e>=n.lte)&&n.setLte(n.lteMax),c(n))},f=s=>{if(!t)return;const n=t.clone(),e=Number(s);e<n.gteMin||(e>=n.gteMin&&e<=n.lteMax&&n.setLte(e),(!n.gte||e<=n.gte)&&n.setGte(n.gteMin),c(n))},S=[o.gte,o.lte];return r.jsxs(l.Stack,{spacing:"xs",alignX:"stretch",children:[r.jsxs(l.Stack,{direction:"horizontal",children:[r.jsx(l.TextField,{label:u.label,type:"number",min:i,max:a,value:o.gte.toString(),onChange:M}),r.jsx(l.TextField,{label:x.label,type:"number",min:i,max:a,value:o.lte.toString(),onChange:f})]}),r.jsx(v.MUISlider,{value:S,onChange:h,min:i,max:a,valueLabelDisplay:"auto"})]})});exports.FilterNumberRangeFilter=y;
@@ -0,0 +1,65 @@
1
+ import { jsxs as b, jsx as a } from "react/jsx-runtime";
2
+ import { observer as N } from "mobx-react";
3
+ import { Stack as h, TextField as u } from "@veeqo/ui";
4
+ import { MUISlider as L } from "./index118.js";
5
+ const j = N(
6
+ ({ data: g, editedValue: t, setEditedValue: l }) => {
7
+ var f;
8
+ if (!((f = g.options) != null && f.length)) return null;
9
+ const [i, x] = g.options, s = Number(i.value), c = Number(x.value), p = (e, n) => {
10
+ if (!Array.isArray(n) || n.length !== 2 || !t) return;
11
+ const [r, y] = n, m = t == null ? void 0 : t.clone();
12
+ m.setGte(r), m.setLte(y), l(m);
13
+ }, o = {
14
+ gte: (t == null ? void 0 : t.gte) || 0,
15
+ lte: (t == null ? void 0 : t.lte) || 100
16
+ }, M = (e) => {
17
+ if (!t) return;
18
+ const n = t.clone(), r = Number(e);
19
+ r > n.lteMax || (r >= n.gteMin && r <= n.lteMax && n.setGte(r), (!n.lte || r >= n.lte) && n.setLte(n.lteMax), l(n));
20
+ }, v = (e) => {
21
+ if (!t) return;
22
+ const n = t.clone(), r = Number(e);
23
+ r < n.gteMin || (r >= n.gteMin && r <= n.lteMax && n.setLte(r), (!n.gte || r <= n.gte) && n.setGte(n.gteMin), l(n));
24
+ }, C = [o.gte, o.lte];
25
+ return /* @__PURE__ */ b(h, { spacing: "xs", alignX: "stretch", children: [
26
+ /* @__PURE__ */ b(h, { direction: "horizontal", children: [
27
+ /* @__PURE__ */ a(
28
+ u,
29
+ {
30
+ label: i.label,
31
+ type: "number",
32
+ min: s,
33
+ max: c,
34
+ value: o.gte.toString(),
35
+ onChange: M
36
+ }
37
+ ),
38
+ /* @__PURE__ */ a(
39
+ u,
40
+ {
41
+ label: x.label,
42
+ type: "number",
43
+ min: s,
44
+ max: c,
45
+ value: o.lte.toString(),
46
+ onChange: v
47
+ }
48
+ )
49
+ ] }),
50
+ /* @__PURE__ */ a(
51
+ L,
52
+ {
53
+ value: C,
54
+ onChange: p,
55
+ min: s,
56
+ max: c,
57
+ valueLabelDisplay: "auto"
58
+ }
59
+ )
60
+ ] });
61
+ }
62
+ );
63
+ export {
64
+ j as FilterNumberRangeFilter
65
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),p=require("react"),d=require("mobx-react"),t=require("@veeqo/ui"),m=require("swr/immutable"),x=require("./index77.cjs"),y=require("./index78.cjs"),F=require("./index50.cjs"),O=e=>e&&e.__esModule?e:{default:e},A=O(m),S=d.observer(({field:e,editedValue:o,setEditedValue:a})=>{var c,i;const l=p.useMemo(()=>{var r;return y.getFetcherFunction({fetcherName:(r=e.fetchAsyncFilterOptions)==null?void 0:r.fetcher})},[(c=e.fetchAsyncFilterOptions)==null?void 0:c.fetcher]),{isLoading:u,isValidating:h,data:g,error:b}=A.default((i=e.fetchAsyncFilterOptions)==null?void 0:i.URL,l,F.SWR_HOOK_OPTIONS),n=u||h,f=x.getAsyncOptions({data:g,config:e.fetchAsyncFilterOptions});return s.jsxs(t.Stack,{spacing:"xs",alignX:"stretch",children:[s.jsx(t.ChoiceList,{allowMultiple:!0,title:e.label,options:f,selected:o,onChange:r=>a(r)}),n&&s.jsx(t.Skeleton,{width:"200px",height:t.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!n&&b&&s.jsxs(t.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.ActiveAsyncCheckboxFilter=S;
@@ -0,0 +1,49 @@
1
+ import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
+ import { useMemo as u } from "react";
3
+ import { observer as O } from "mobx-react";
4
+ import { Stack as b, ChoiceList as F, Skeleton as x, theme as y, Text as A } from "@veeqo/ui";
5
+ import S from "swr/immutable";
6
+ import { getAsyncOptions as d } from "./index77.js";
7
+ import { getFetcherFunction as L } from "./index78.js";
8
+ import { SWR_HOOK_OPTIONS as k } from "./index50.js";
9
+ const T = O(
10
+ ({ field: t, editedValue: c, setEditedValue: a }) => {
11
+ var o, i;
12
+ const l = u(() => {
13
+ var e;
14
+ return L({ fetcherName: (e = t.fetchAsyncFilterOptions) == null ? void 0 : e.fetcher });
15
+ }, [(o = t.fetchAsyncFilterOptions) == null ? void 0 : o.fetcher]), { isLoading: m, isValidating: h, data: p, error: f } = S(
16
+ (i = t.fetchAsyncFilterOptions) == null ? void 0 : i.URL,
17
+ l,
18
+ k
19
+ ), r = m || h, g = d({ data: p, config: t.fetchAsyncFilterOptions });
20
+ return /* @__PURE__ */ s(b, { spacing: "xs", alignX: "stretch", children: [
21
+ /* @__PURE__ */ n(
22
+ F,
23
+ {
24
+ allowMultiple: !0,
25
+ title: t.label,
26
+ options: g,
27
+ selected: c,
28
+ onChange: (e) => a(e)
29
+ }
30
+ ),
31
+ r && /* @__PURE__ */ n(
32
+ x,
33
+ {
34
+ width: "200px",
35
+ height: y.sizes[5],
36
+ "aria-busy": !0,
37
+ "aria-label": `Loading ${t.label} filters`
38
+ }
39
+ ),
40
+ !r && f && /* @__PURE__ */ s(A, { variant: "errorSmall", children: [
41
+ "Error: failed to load filter for ",
42
+ t.label
43
+ ] })
44
+ ] });
45
+ }
46
+ );
47
+ export {
48
+ T as ActiveAsyncCheckboxFilter
49
+ };
package/dist/index17.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),l=require("mobx-react"),s=require("@veeqo/ui"),c=require("./index50.cjs"),u=require("./index122.cjs"),h=l.observer(({data:e,editedValue:r,setEditedValue:t})=>{var i;switch(e.filterType){case c.FilterChoiceValue.CHECKBOX:return e.fetchAsyncFilterOptions?o.jsx(u.ActiveAsyncCheckboxFilter,{field:e,setEditedValue:t,editedValue:r}):o.jsx(s.ChoiceList,{allowMultiple:!0,title:e.label,options:(i=e.options)!=null&&i.length?e.options:[],selected:r,onChange:n=>t(n)});default:return null}});exports.FilterArrayField=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),l=require("mobx-react"),s=require("@veeqo/ui"),c=require("./index50.cjs"),u=require("./index124.cjs"),h=l.observer(({data:e,editedValue:r,setEditedValue:t})=>{var i;switch(e.filterType){case c.FilterChoiceValue.CHECKBOX:return e.fetchAsyncFilterOptions?o.jsx(u.ActiveAsyncCheckboxFilter,{field:e,setEditedValue:t,editedValue:r}):o.jsx(s.ChoiceList,{allowMultiple:!0,title:e.label,options:(i=e.options)!=null&&i.length?e.options:[],selected:r,onChange:n=>t(n)});default:return null}});exports.FilterArrayField=h;
package/dist/index17.js CHANGED
@@ -2,7 +2,7 @@ import { jsx as t } from "react/jsx-runtime";
2
2
  import { observer as n } from "mobx-react";
3
3
  import { ChoiceList as p } from "@veeqo/ui";
4
4
  import { FilterChoiceValue as s } from "./index50.js";
5
- import { ActiveAsyncCheckboxFilter as c } from "./index122.js";
5
+ import { ActiveAsyncCheckboxFilter as c } from "./index124.js";
6
6
  const F = n(
7
7
  ({ data: r, editedValue: e, setEditedValue: o }) => {
8
8
  var i;
package/dist/index19.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("react"),v=require("mobx-react"),x=require("@veeqo/ui"),T=require("./index89.cjs"),l=require("./index50.cjs"),V=require("./index119.cjs"),g=require("./index63.cjs"),j=require("./index61.cjs"),R=require("./index24.cjs"),y=require("./index18.cjs"),C=require("./index25.cjs"),f=v.observer(({filterData:e})=>{const{Filters:{filters:o,clearFilter:F,setFilter:a}}=g.useStores(),r=o.get(e.id),{filterLabel:q}=j.useFilterLabel({filterData:e}),[i,c]=s.useState(r||""),[n,b]=s.useState("");s.useEffect(()=>{i!==r&&c(r||"")},[e.id,r,o]);const A=()=>{F(e.id)},E=()=>{n||a(e.id,i)},S=u=>{let d="";(e.filterType===l.FilterChoiceValue.TEXT||e.filterType===l.FilterChoiceValue.NUMBER)&&(d=T.isTextFilterValid(String(u))?"":l.MIN_SEARCH_ERROR_MESSAGE),c(u),b(d)};return t.jsx(x.FilterTag,{shouldCloseOnClickAway:!0,header:t.jsx(C.ActiveFilterHeader,{filterLabel:e.label,icon:e.icon}),label:e.label,text:q||"Loading...",content:t.jsx("div",{className:V.default.fieldContainer,children:t.jsx(y.FilterField,{data:e,editedValue:i,setEditedValue:S,error:n})}),footer:t.jsx(R.ActiveFilterFooter,{clearActiveFilter:A,applyActiveFilter:E})})});exports.ActiveFilterTag=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("react"),v=require("mobx-react"),x=require("@veeqo/ui"),T=require("./index89.cjs"),l=require("./index50.cjs"),V=require("./index121.cjs"),g=require("./index63.cjs"),j=require("./index61.cjs"),R=require("./index24.cjs"),y=require("./index18.cjs"),C=require("./index25.cjs"),f=v.observer(({filterData:e})=>{const{Filters:{filters:o,clearFilter:F,setFilter:a}}=g.useStores(),r=o.get(e.id),{filterLabel:q}=j.useFilterLabel({filterData:e}),[i,c]=s.useState(r||""),[n,b]=s.useState("");s.useEffect(()=>{i!==r&&c(r||"")},[e.id,r,o]);const A=()=>{F(e.id)},E=()=>{n||a(e.id,i)},S=u=>{let d="";(e.filterType===l.FilterChoiceValue.TEXT||e.filterType===l.FilterChoiceValue.NUMBER)&&(d=T.isTextFilterValid(String(u))?"":l.MIN_SEARCH_ERROR_MESSAGE),c(u),b(d)};return t.jsx(x.FilterTag,{shouldCloseOnClickAway:!0,header:t.jsx(C.ActiveFilterHeader,{filterLabel:e.label,icon:e.icon}),label:e.label,text:q||"Loading...",content:t.jsx("div",{className:V.default.fieldContainer,children:t.jsx(y.FilterField,{data:e,editedValue:i,setEditedValue:S,error:n})}),footer:t.jsx(R.ActiveFilterFooter,{clearActiveFilter:A,applyActiveFilter:E})})});exports.ActiveFilterTag=f;
package/dist/index19.js CHANGED
@@ -4,7 +4,7 @@ import { observer as S } from "mobx-react";
4
4
  import { FilterTag as T } from "@veeqo/ui";
5
5
  import { isTextFilterValid as V } from "./index89.js";
6
6
  import { FilterChoiceValue as d, MIN_SEARCH_ERROR_MESSAGE as v } from "./index50.js";
7
- import g from "./index119.js";
7
+ import g from "./index121.js";
8
8
  import { useStores as y } from "./index63.js";
9
9
  import { useFilterLabel as C } from "./index61.js";
10
10
  import { ActiveFilterFooter as R } from "./index24.js";
package/dist/index20.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("react"),A=require("mobx-react"),y=require("@veeqo/ui"),b=require("./index60.cjs"),v=require("./index17.cjs"),q=require("./index119.cjs"),x=require("./index63.cjs"),j=require("./index24.cjs"),g=require("./index25.cjs"),V=A.observer(({filterData:e})=>{const{Filters:{arrayFilters:s,clearArrayFilter:o,setArrayFilter:u}}=x.useStores(),t=s.get(e.id),[i,l]=c.useState(t||[]);c.useEffect(()=>{i!==t&&l(t||[])},[e.id,t,s]);const n=()=>{o(e.id)},a=()=>{u(e.id,i)},{filterLabel:d}=b.useFilterArrayLabel({filterData:e});return r.jsx(y.FilterTag,{shouldCloseOnClickAway:!0,header:r.jsx(g.ActiveFilterHeader,{filterLabel:e.label,icon:e.icon}),label:e.label,text:d||"",content:r.jsx("div",{className:q.default.fieldContainer,children:r.jsx(v.FilterArrayField,{data:e,editedValue:i||[],setEditedValue:F=>l(F)})}),footer:r.jsx(j.ActiveFilterFooter,{clearActiveFilter:n,applyActiveFilter:a})})});exports.ActiveFilterArrayTag=V;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("react"),A=require("mobx-react"),y=require("@veeqo/ui"),b=require("./index60.cjs"),v=require("./index17.cjs"),q=require("./index121.cjs"),x=require("./index63.cjs"),j=require("./index24.cjs"),g=require("./index25.cjs"),V=A.observer(({filterData:e})=>{const{Filters:{arrayFilters:s,clearArrayFilter:o,setArrayFilter:u}}=x.useStores(),t=s.get(e.id),[i,l]=c.useState(t||[]);c.useEffect(()=>{i!==t&&l(t||[])},[e.id,t,s]);const n=()=>{o(e.id)},a=()=>{u(e.id,i)},{filterLabel:d}=b.useFilterArrayLabel({filterData:e});return r.jsx(y.FilterTag,{shouldCloseOnClickAway:!0,header:r.jsx(g.ActiveFilterHeader,{filterLabel:e.label,icon:e.icon}),label:e.label,text:d||"",content:r.jsx("div",{className:q.default.fieldContainer,children:r.jsx(v.FilterArrayField,{data:e,editedValue:i||[],setEditedValue:F=>l(F)})}),footer:r.jsx(j.ActiveFilterFooter,{clearActiveFilter:n,applyActiveFilter:a})})});exports.ActiveFilterArrayTag=V;
package/dist/index20.js CHANGED
@@ -4,7 +4,7 @@ import { observer as u } from "mobx-react";
4
4
  import { FilterTag as A } from "@veeqo/ui";
5
5
  import { useFilterArrayLabel as f } from "./index60.js";
6
6
  import { FilterArrayField as y } from "./index17.js";
7
- import b from "./index119.js";
7
+ import b from "./index121.js";
8
8
  import { useStores as v } from "./index63.js";
9
9
  import { ActiveFilterFooter as V } from "./index24.js";
10
10
  import { ActiveFilterHeader as g } from "./index25.js";
package/dist/index22.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),s=require("react"),d=require("mobx-react"),l=require("@veeqo/ui"),m=require("./index71.cjs"),R=require("./index121.cjs"),v=require("./index63.cjs"),N=require("./index24.cjs"),q=require("./index25.cjs"),A=d.observer(({filterData:t})=>{const{Filters:{numberRangeFilters:u,clearNumberRangeFilter:a,setNumberRangeFilter:F}}=v.useStores(),e=u.get(t.id),[n,c]=s.useState(e),o=s.useCallback(()=>{const r=new m.NumberRangeFilter({filterId:t.id});return e&&(e.gte&&r.setGte(e.gte),e.lte&&r.setLte(e.lte)),r},[t.id,e]);s.useEffect(()=>{const r=o();c(r)},[o,e]);const g=()=>{a(t.id)},b=()=>{!e||!n||F({numberRange:e,lte:n.lte,gte:n.gte})};return i.jsx(l.FilterTag,{shouldCloseOnClickAway:!0,header:i.jsx(q.ActiveFilterHeader,{filterLabel:t.label,icon:t.icon}),label:t.label,text:(e==null?void 0:e.filterLabel)||"Loading...",content:i.jsx(l.BaseContainer,{style:{padding:l.theme.sizes.md},children:i.jsx(R.FilterNumberRangeFilter,{data:t,editedValue:n,setEditedValue:c})}),footer:i.jsx(N.ActiveFilterFooter,{clearActiveFilter:g,applyActiveFilter:b})})});exports.ActiveFilterNumberRangeTag=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),s=require("react"),d=require("mobx-react"),l=require("@veeqo/ui"),m=require("./index71.cjs"),R=require("./index123.cjs"),v=require("./index63.cjs"),N=require("./index24.cjs"),q=require("./index25.cjs"),A=d.observer(({filterData:t})=>{const{Filters:{numberRangeFilters:u,clearNumberRangeFilter:a,setNumberRangeFilter:F}}=v.useStores(),e=u.get(t.id),[n,c]=s.useState(e),o=s.useCallback(()=>{const r=new m.NumberRangeFilter({filterId:t.id});return e&&(e.gte&&r.setGte(e.gte),e.lte&&r.setLte(e.lte)),r},[t.id,e]);s.useEffect(()=>{const r=o();c(r)},[o,e]);const g=()=>{a(t.id)},b=()=>{!e||!n||F({numberRange:e,lte:n.lte,gte:n.gte})};return i.jsx(l.FilterTag,{shouldCloseOnClickAway:!0,header:i.jsx(q.ActiveFilterHeader,{filterLabel:t.label,icon:t.icon}),label:t.label,text:(e==null?void 0:e.filterLabel)||"Loading...",content:i.jsx(l.BaseContainer,{style:{padding:l.theme.sizes.md},children:i.jsx(R.FilterNumberRangeFilter,{data:t,editedValue:n,setEditedValue:c})}),footer:i.jsx(N.ActiveFilterFooter,{clearActiveFilter:g,applyActiveFilter:b})})});exports.ActiveFilterNumberRangeTag=A;
package/dist/index22.js CHANGED
@@ -3,7 +3,7 @@ import { useState as d, useCallback as g, useEffect as F } from "react";
3
3
  import { observer as b } from "mobx-react";
4
4
  import { FilterTag as p, BaseContainer as f, theme as R } from "@veeqo/ui";
5
5
  import { NumberRangeFilter as N } from "./index71.js";
6
- import { FilterNumberRangeFilter as v } from "./index121.js";
6
+ import { FilterNumberRangeFilter as v } from "./index123.js";
7
7
  import { useStores as A } from "./index63.js";
8
8
  import { ActiveFilterFooter as w } from "./index24.js";
9
9
  import { ActiveFilterHeader as h } from "./index25.js";
package/dist/index34.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("./index8.cjs"),u=require("./index109.cjs"),c=require("./index35.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("./index8.cjs"),u=require("./index101.cjs"),c=require("./index35.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/index34.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 "./index8.js";
5
- import { AdaptiveHeightContainer as p } from "./index109.js";
5
+ import { AdaptiveHeightContainer as p } from "./index101.js";
6
6
  import { FilterGroup as n } from "./index35.js";
7
7
  const u = e(() => {
8
8
  const { GROUP_MAP: t } = s();
package/dist/index36.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("react"),l=require("@veeqo/ui"),U=require("mobx-react"),z=require("./index67.cjs"),G=require("./index64.cjs"),J=require("./index40.cjs"),K=require("./index43.cjs"),Q=require("./index57.cjs"),X=require("./index103.cjs"),Z=require("./index8.cjs"),$=require("./index63.cjs"),b=require("./index104.cjs"),ee=U.observer(({view:e})=>{const{VIEW_TYPE:L,IS_VIEWS_READONLY:r,SEARCH_FILTER_ID:d}=Z.useBusinessLogic(),{Filters:{activeViewId:w,initFiltersFromView:f,discardChanges:m,initFromUrl:V,filters:T,setFilter:y},Views:{draftViewsMap:h},Notifications:{notify:E}}=$.useStores(),{viewsMap:g,defaultCustomViewId:F,isLoading:N}=G.useViews(),{isLoading:j}=z.useCustomViews({type:L}),{viewCounts:M,isLoadingViewCounts:R}=X.useViewCounts(e.id),[t,P]=c.useState(null),k=s=>{const x=T.get(d);if(g.has(s)){const n=g.get(s);n&&(f(n),m(!0),V())}else{const n=h.get(s);n?(f(n),m(!0),V()):E({type:"error",text:"Failed to load view"})}x&&y(d,x)},u=(e==null?void 0:e.id)===w,o=h.has(e.id),p=!o,A=M,a=(e==null?void 0:e.label)||"",I=N||j,C=c.useRef(!1);!I&&!C.current&&u&&e.id===F&&t&&(C.current=!0,t&&w===e.id&&window.requestAnimationFrame(()=>{var s;(s=t.parentElement)==null||s.scrollBy({behavior:"smooth",left:t.offsetLeft})}));const D=c.useMemo(()=>o?"draft":e.editable?"saved":"fixed",[o,e.editable]),{actions:{create:{handleSaveDraft:_},menu:{toggleDropdown:v},delete:{closeDeleteConfirmation:B,handleDelete:O,handleDeleteDraftView:S}},state:{shouldShowDeleteConfirmation:H},actions:W,state:q}=Q.useDropdownManager(e),Y=c.useMemo(()=>{if(!r){if(p)return v;if(o)return S}},[S,o,p,v,r]);return i.jsxs(i.Fragment,{children:[i.jsx(l.ViewTab,{customTextColour:e.customTextColour,colourPalette:e.colourPalette,className:"act-react-listing-custom-view",active:u,id:e==null?void 0:e.id,name:a,type:r?void 0:D,count:R?i.jsx(l.Loader,{type:"ThreeDots",width:12,height:12,color:u?"#fff":l.theme.colors.neutral.ink.dark}):A,onClick:k,subAction:Y,ariaContext:"orders",ref:P,"aria-controls":"options-dropdown","aria-expanded":q.shouldShowDropdown,"aria-haspopup":"dialog"},e==null?void 0:e.id),i.jsx(b.Confirmation,{shouldShow:H,viewName:a,onCancel:B,onDelete:O}),i.jsx(J.PillNotifications,{tabType:D,isActive:u,initialViewName:a,shouldShowCreateViewNotification:o,handleSaveDraft:_}),!r&&i.jsx(K.ViewDropdowns,{referenceElement:t,tab:e,...W,...q})]})});exports.ViewTab=ee;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("react"),l=require("@veeqo/ui"),U=require("mobx-react"),z=require("./index67.cjs"),G=require("./index64.cjs"),J=require("./index40.cjs"),K=require("./index43.cjs"),Q=require("./index57.cjs"),X=require("./index102.cjs"),Z=require("./index8.cjs"),$=require("./index63.cjs"),b=require("./index103.cjs"),ee=U.observer(({view:e})=>{const{VIEW_TYPE:L,IS_VIEWS_READONLY:r,SEARCH_FILTER_ID:d}=Z.useBusinessLogic(),{Filters:{activeViewId:w,initFiltersFromView:f,discardChanges:m,initFromUrl:V,filters:T,setFilter:y},Views:{draftViewsMap:h},Notifications:{notify:E}}=$.useStores(),{viewsMap:g,defaultCustomViewId:F,isLoading:N}=G.useViews(),{isLoading:j}=z.useCustomViews({type:L}),{viewCounts:M,isLoadingViewCounts:R}=X.useViewCounts(e.id),[t,P]=c.useState(null),k=s=>{const x=T.get(d);if(g.has(s)){const n=g.get(s);n&&(f(n),m(!0),V())}else{const n=h.get(s);n?(f(n),m(!0),V()):E({type:"error",text:"Failed to load view"})}x&&y(d,x)},u=(e==null?void 0:e.id)===w,o=h.has(e.id),p=!o,A=M,a=(e==null?void 0:e.label)||"",I=N||j,C=c.useRef(!1);!I&&!C.current&&u&&e.id===F&&t&&(C.current=!0,t&&w===e.id&&window.requestAnimationFrame(()=>{var s;(s=t.parentElement)==null||s.scrollBy({behavior:"smooth",left:t.offsetLeft})}));const D=c.useMemo(()=>o?"draft":e.editable?"saved":"fixed",[o,e.editable]),{actions:{create:{handleSaveDraft:_},menu:{toggleDropdown:v},delete:{closeDeleteConfirmation:B,handleDelete:O,handleDeleteDraftView:S}},state:{shouldShowDeleteConfirmation:H},actions:W,state:q}=Q.useDropdownManager(e),Y=c.useMemo(()=>{if(!r){if(p)return v;if(o)return S}},[S,o,p,v,r]);return i.jsxs(i.Fragment,{children:[i.jsx(l.ViewTab,{customTextColour:e.customTextColour,colourPalette:e.colourPalette,className:"act-react-listing-custom-view",active:u,id:e==null?void 0:e.id,name:a,type:r?void 0:D,count:R?i.jsx(l.Loader,{type:"ThreeDots",width:12,height:12,color:u?"#fff":l.theme.colors.neutral.ink.dark}):A,onClick:k,subAction:Y,ariaContext:"orders",ref:P,"aria-controls":"options-dropdown","aria-expanded":q.shouldShowDropdown,"aria-haspopup":"dialog"},e==null?void 0:e.id),i.jsx(b.Confirmation,{shouldShow:H,viewName:a,onCancel:B,onDelete:O}),i.jsx(J.PillNotifications,{tabType:D,isActive:u,initialViewName:a,shouldShowCreateViewNotification:o,handleSaveDraft:_}),!r&&i.jsx(K.ViewDropdowns,{referenceElement:t,tab:e,...W,...q})]})});exports.ViewTab=ee;
package/dist/index36.js CHANGED
@@ -7,10 +7,10 @@ import { useViews as Z } from "./index64.js";
7
7
  import { PillNotifications as b } from "./index40.js";
8
8
  import { ViewDropdowns as ee } from "./index43.js";
9
9
  import { useDropdownManager as oe } from "./index57.js";
10
- import { useViewCounts as ie } from "./index103.js";
10
+ import { useViewCounts as ie } from "./index102.js";
11
11
  import { useBusinessLogic as te } from "./index8.js";
12
12
  import { useStores as re } from "./index63.js";
13
- import { Confirmation as se } from "./index104.js";
13
+ import { Confirmation as se } from "./index103.js";
14
14
  const Ce = Q(({ view: e }) => {
15
15
  const { VIEW_TYPE: T, IS_VIEWS_READONLY: n, SEARCH_FILTER_ID: c } = te(), {
16
16
  Filters: { activeViewId: d, initFiltersFromView: f, discardChanges: m, initFromUrl: u, filters: x, setFilter: E },
package/dist/index38.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("@veeqo/ui"),o=require("react-hook-form"),I=require("./index67.cjs"),D=require("./index45.cjs"),_=require("./index8.cjs"),q=require("./index63.cjs"),u=60,E=({tab:n,viewName:w,shouldShowDropdown:p,onCloseDropdown:v,onDelete:g,onSave:x,headerText:S,e2ePrefix:a,activeOption:j})=>{const{VIEW_TYPE:C}=_.useBusinessLogic(),{Views:{draftViewsMap:b}}=q.useStores(),{canDeleteCustomViews:d,canUpdateCustomViews:r,canShareCustomViews:l,defaultCustomViewId:m}=I.useCustomViews({type:C}),y=n.id===m,{handleSubmit:V,control:c,formState:h}=o.useForm({mode:"onChange",defaultValues:{viewName:w,isDefault:n.id===m,shareOption:j.key}}),k=Object.values(D.SHARING_OPTIONS).map(s=>({key:s.key,value:s.key,label:s.text}));if(!p)return null;const T=!b.has(n.id);return e.jsx("form",{onSubmit:V(x),children:e.jsxs(t.Card,{style:{width:"400px"},title:S,subtitle:"Any filters you've applied and your chosen sort direction will be stored in this view",onClose:v,renderFooter:()=>d||r||l?e.jsxs(t.Stack,{direction:"horizontal",alignX:"end",children:[d&&e.jsx(t.Button,{variant:"destructive",onClick:g,className:`act-react-listing-custom-view-${a}-delete`,children:"Delete"}),(r||l)&&e.jsx(t.Button,{variant:"primary",type:"submit",className:`act-react-listing-custom-view-${a}-save`,disabled:!h.isDirty&&T||h.isSubmitting,children:"Save"})]}):null,className:`act-react-listing-custom-view-${a}`,children:[!r&&e.jsx(t.Alert,{variant:"warning",title:"You need permission to edit this view",message:"This is a company shared view"}),e.jsxs(t.Stack,{alignX:"stretch",children:[e.jsx(o.Controller,{name:"viewName",control:c,render:({onChange:s,value:i})=>e.jsx(t.TextField,{id:"view-name",className:`act-react-listing-custom-view-${a}-field`,label:"View name",placeholder:"View name",value:i,onChange:s,disabled:!n.editable,maxLength:u,hint:`${i.length} / ${u} characters`,required:!0})}),e.jsxs(t.Stack,{children:[e.jsx(t.Text,{variant:"inputLabel",children:"Sharing options"}),e.jsx(o.Controller,{name:"shareOption",control:c,render:({onChange:s,value:i})=>e.jsx(t.SegmentedControl,{onChange:f=>l&&s(f),options:k,selected:i})})]}),e.jsx(o.Controller,{name:"isDefault",control:c,render:({onChange:s,value:i})=>e.jsx(t.Checkbox,{disabled:y,name:"makeViewDefault",label:"Make default view",checked:i,onChange:s,hint:"This will be the view this page will always open on"})})]})]})})};exports.EditDropdown=E;exports.VIEWS_TITLE_MAX_CHAR_LIMIT=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("@veeqo/ui"),a=require("react-hook-form"),f=require("./index67.cjs"),D=require("./index45.cjs"),_=require("./index8.cjs"),q=require("./index63.cjs"),E=require("./index104.cjs"),d=60,L=({tab:n,viewName:w,shouldShowDropdown:p,onCloseDropdown:v,onDelete:g,onSave:x,headerText:j,e2ePrefix:r,activeOption:S})=>{const{VIEW_TYPE:C}=_.useBusinessLogic(),{Views:{draftViewsMap:b}}=q.useStores(),{canDeleteCustomViews:u,canUpdateCustomViews:o,canShareCustomViews:l,defaultCustomViewId:m}=f.useCustomViews({type:C}),y=n.id===m,{handleSubmit:V,control:c,formState:h}=a.useForm({mode:"onChange",defaultValues:{viewName:w,isDefault:n.id===m,shareOption:S.key}}),I=Object.values(D.SHARING_OPTIONS).map(s=>({key:s.key,value:s.key,label:s.text}));if(!p)return null;const k=!b.has(n.id);return e.jsx("form",{onSubmit:V(x),children:e.jsxs(t.Card,{style:{width:"400px"},title:j,subtitle:"Any filters you've applied and your chosen sort direction will be stored in this view",onClose:v,renderFooter:()=>u||o||l?e.jsxs(t.Stack,{direction:"horizontal",alignX:"end",children:[u&&e.jsx(t.Button,{variant:"destructive",onClick:g,className:`act-react-listing-custom-view-${r}-delete`,children:"Delete"}),(o||l)&&e.jsx(t.Button,{variant:"primary",type:"submit",className:`act-react-listing-custom-view-${r}-save`,disabled:!h.isDirty&&k||h.isSubmitting,children:"Save"})]}):null,className:`act-react-listing-custom-view-${r}`,children:[!o&&e.jsx(t.Alert,{variant:"warning",title:"You need permission to edit this view",message:"This is a company shared view"}),e.jsxs(t.Stack,{alignX:"stretch",children:[e.jsx(a.Controller,{name:"viewName",control:c,render:({onChange:s,value:i})=>e.jsx(t.TextField,{id:"view-name",className:`act-react-listing-custom-view-${r}-field`,label:"View name",placeholder:"View name",value:i,onChange:s,disabled:!n.editable,maxLength:d,hint:`${i.length} / ${d} characters`,required:!0})}),e.jsx(E.IncludedFilters,{}),e.jsxs(t.Stack,{children:[e.jsx(t.Text,{variant:"inputLabel",children:"Sharing options"}),e.jsx(a.Controller,{name:"shareOption",control:c,render:({onChange:s,value:i})=>e.jsx(t.SegmentedControl,{onChange:T=>l&&s(T),options:I,selected:i})})]}),e.jsx(a.Controller,{name:"isDefault",control:c,render:({onChange:s,value:i})=>e.jsx(t.Checkbox,{disabled:y,name:"makeViewDefault",label:"Make default view",checked:i,onChange:s,hint:"This will be the view this page will always open on"})})]})]})})};exports.EditDropdown=L;exports.VIEWS_TITLE_MAX_CHAR_LIMIT=d;