@veeqo/transfigure 1.2.9 → 1.2.11

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 (105) hide show
  1. package/dist/hooks/useColumns/useColumns.d.ts +1 -0
  2. package/dist/hooks/useUrlParams/useUrlParams.d.ts +1 -0
  3. package/dist/hooks/useViewCountsHook/useViewCountsHook.test.d.ts +1 -0
  4. package/dist/index100.cjs +1 -1
  5. package/dist/index100.js +17 -10
  6. package/dist/index101.cjs +1 -1
  7. package/dist/index101.js +1 -1
  8. package/dist/index102.cjs +1 -19
  9. package/dist/index102.js +50 -24
  10. package/dist/index103.cjs +1 -12
  11. package/dist/index103.js +29 -16
  12. package/dist/index104.cjs +19 -1
  13. package/dist/index104.js +23 -14
  14. package/dist/index105.cjs +1 -1
  15. package/dist/index105.js +14 -20
  16. package/dist/index106.cjs +1 -1
  17. package/dist/index106.js +19 -48
  18. package/dist/index107.cjs +12 -1
  19. package/dist/index107.js +16 -29
  20. package/dist/index109.cjs +1 -1
  21. package/dist/index109.js +19 -2
  22. package/dist/index11.cjs +1 -1
  23. package/dist/index11.js +1 -1
  24. package/dist/index110.cjs +1 -1
  25. package/dist/index110.js +7 -18
  26. package/dist/index111.cjs +1 -1
  27. package/dist/index111.js +63 -7
  28. package/dist/index112.cjs +1 -1
  29. package/dist/index112.js +26 -60
  30. package/dist/index113.cjs +1 -1
  31. package/dist/index113.js +2 -30
  32. package/dist/index117.cjs +1 -1
  33. package/dist/index117.js +42 -58
  34. package/dist/index119.cjs +1 -7
  35. package/dist/index119.js +63 -10
  36. package/dist/index120.cjs +7 -1
  37. package/dist/index120.js +10 -47
  38. package/dist/index13.cjs +1 -1
  39. package/dist/index13.js +1 -1
  40. package/dist/index17.cjs +1 -1
  41. package/dist/index17.js +1 -1
  42. package/dist/index19.cjs +1 -1
  43. package/dist/index19.js +1 -1
  44. package/dist/index22.cjs +1 -1
  45. package/dist/index22.js +1 -1
  46. package/dist/index30.cjs +1 -1
  47. package/dist/index30.js +1 -1
  48. package/dist/index36.cjs +1 -1
  49. package/dist/index36.js +2 -2
  50. package/dist/index39.cjs +1 -1
  51. package/dist/index39.js +1 -1
  52. package/dist/index40.cjs +1 -1
  53. package/dist/index40.js +1 -1
  54. package/dist/index41.cjs +1 -1
  55. package/dist/index41.js +1 -1
  56. package/dist/index44.cjs +1 -1
  57. package/dist/index44.js +1 -1
  58. package/dist/index46.cjs +1 -1
  59. package/dist/index46.js +2 -2
  60. package/dist/index47.cjs +1 -1
  61. package/dist/index47.js +2 -2
  62. package/dist/index66.cjs +1 -1
  63. package/dist/index66.js +15 -12
  64. package/dist/index67.cjs +1 -1
  65. package/dist/index67.js +25 -24
  66. package/dist/index74.cjs +1 -1
  67. package/dist/index74.js +4 -13
  68. package/dist/index78.cjs +1 -1
  69. package/dist/index78.js +1 -1
  70. package/dist/index80.cjs +1 -1
  71. package/dist/index80.js +1 -1
  72. package/dist/index84.cjs +1 -1
  73. package/dist/index84.js +1 -1
  74. package/dist/index85.cjs +1 -1
  75. package/dist/index85.js +1 -1
  76. package/dist/index86.cjs +1 -1
  77. package/dist/index86.js +5 -2
  78. package/dist/index87.cjs +1 -1
  79. package/dist/index87.js +117 -4
  80. package/dist/index88.cjs +1 -1
  81. package/dist/index88.js +18 -40
  82. package/dist/index89.cjs +1 -1
  83. package/dist/index89.js +41 -9
  84. package/dist/index90.cjs +1 -1
  85. package/dist/index90.js +8 -117
  86. package/dist/index91.cjs +1 -1
  87. package/dist/index91.js +2 -19
  88. package/dist/index92.cjs +1 -1
  89. package/dist/index92.js +13 -18
  90. package/dist/index93.cjs +104 -1
  91. package/dist/index93.js +120 -7
  92. package/dist/index94.cjs +1 -1
  93. package/dist/index94.js +68 -13
  94. package/dist/index95.cjs +1 -104
  95. package/dist/index95.js +28 -119
  96. package/dist/index96.cjs +1 -1
  97. package/dist/index96.js +2 -68
  98. package/dist/index97.cjs +1 -1
  99. package/dist/index97.js +39 -27
  100. package/dist/index98.cjs +1 -1
  101. package/dist/index98.js +11 -2
  102. package/dist/index99.cjs +1 -1
  103. package/dist/index99.js +6 -40
  104. package/dist/mobx/MobXProvider/MobXProvider.d.ts +1 -1
  105. package/package.json +1 -1
package/dist/index111.js CHANGED
@@ -1,10 +1,66 @@
1
- import { createElement as p } from "react";
2
- import { useDroppable as a } from "@dnd-kit/core";
3
- import { DroppableAreaStack as m } from "./index95.js";
4
- const n = ({ id: e, children: r, ...o }) => {
5
- const { setNodeRef: t } = a({ id: e });
6
- return /* @__PURE__ */ p(m, { ...o, key: e, ref: t }, r);
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);
61
+ }
62
+ };
7
63
  };
8
64
  export {
9
- n as DroppableArea
65
+ M as useDragHandlers
10
66
  };
package/dist/index112.cjs CHANGED
@@ -1 +1 @@
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;
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/index112.js CHANGED
@@ -1,66 +1,32 @@
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;
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);
26
22
  }
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
- }));
23
+ return i.current = t, [{ id: t }];
56
24
  }
57
- i(null);
25
+ return i.current ? [{ id: i.current }] : [];
58
26
  },
59
- handleDragCancel: () => {
60
- h && g(h), i(null), v(null);
61
- }
62
- };
27
+ [n]
28
+ ) };
63
29
  };
64
30
  export {
65
- M as useDragHandlers
31
+ h as useCollisionDetectionStrategy
66
32
  };
package/dist/index113.cjs CHANGED
@@ -1 +1 @@
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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=r=>r instanceof Error;exports.isError=e;
package/dist/index113.js CHANGED
@@ -1,32 +1,4 @@
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
- };
1
+ const o = (r) => r instanceof Error;
30
2
  export {
31
- h as useCollisionDetectionStrategy
3
+ o as isError
32
4
  };
package/dist/index117.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("./index114.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.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("./index75.cjs"),y=require("./index76.cjs"),F=require("./index49.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;
package/dist/index117.js CHANGED
@@ -1,65 +1,49 @@
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 "./index114.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,
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 "./index75.js";
7
+ import { getFetcherFunction as L } from "./index76.js";
8
+ import { SWR_HOOK_OPTIONS as k } from "./index49.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,
52
23
  {
53
- value: C,
54
- onChange: p,
55
- min: s,
56
- max: c,
57
- valueLabelDisplay: "auto"
24
+ allowMultiple: !0,
25
+ title: t.label,
26
+ options: g,
27
+ selected: c,
28
+ onChange: (e) => a(e)
58
29
  }
59
- )
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
+ ] })
60
44
  ] });
61
45
  }
62
46
  );
63
47
  export {
64
- j as FilterNumberRangeFilter
48
+ T as ActiveAsyncCheckboxFilter
65
49
  };
package/dist/index119.cjs CHANGED
@@ -1,7 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("styled-components"),e=require("@veeqo/ui"),a=t=>t&&t.__esModule?t:{default:t},i=a(o),s=i.default(e.BaseContainer)`
2
- padding: ${e.theme.sizes.sm};
3
- // This calculation limits the height to a max of 100% of the viewport and uses offset as the position of the CTA button
4
- // with an additional sizes.base offset at the bottom.
5
- max-height: calc(100vh ${({offset:t})=>t&&`- ${t}px`} - ${e.theme.sizes.base});
6
- overflow-y: auto;
7
- `;exports.AdaptiveStyledContainer=s;
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("./index114.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;
package/dist/index119.js CHANGED
@@ -1,12 +1,65 @@
1
- import o from "styled-components";
2
- import { theme as e, BaseContainer as i } from "@veeqo/ui";
3
- const h = o(i)`
4
- padding: ${e.sizes.sm};
5
- // This calculation limits the height to a max of 100% of the viewport and uses offset as the position of the CTA button
6
- // with an additional sizes.base offset at the bottom.
7
- max-height: calc(100vh ${({ offset: t }) => t && `- ${t}px`} - ${e.sizes.base});
8
- overflow-y: auto;
9
- `;
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 "./index114.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
+ );
10
63
  export {
11
- h as AdaptiveStyledContainer
64
+ j as FilterNumberRangeFilter
12
65
  };
package/dist/index120.cjs CHANGED
@@ -1 +1,7 @@
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("./index75.cjs"),y=require("./index76.cjs"),F=require("./index49.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.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("styled-components"),e=require("@veeqo/ui"),a=t=>t&&t.__esModule?t:{default:t},i=a(o),s=i.default(e.BaseContainer)`
2
+ padding: ${e.theme.sizes.sm};
3
+ // This calculation limits the height to a max of 100% of the viewport and uses offset as the position of the CTA button
4
+ // with an additional sizes.base offset at the bottom.
5
+ max-height: calc(100vh ${({offset:t})=>t&&`- ${t}px`} - ${e.theme.sizes.base});
6
+ overflow-y: auto;
7
+ `;exports.AdaptiveStyledContainer=s;
package/dist/index120.js CHANGED
@@ -1,49 +1,12 @@
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 "./index75.js";
7
- import { getFetcherFunction as L } from "./index76.js";
8
- import { SWR_HOOK_OPTIONS as k } from "./index49.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
+ import o from "styled-components";
2
+ import { theme as e, BaseContainer as i } from "@veeqo/ui";
3
+ const h = o(i)`
4
+ padding: ${e.sizes.sm};
5
+ // This calculation limits the height to a max of 100% of the viewport and uses offset as the position of the CTA button
6
+ // with an additional sizes.base offset at the bottom.
7
+ max-height: calc(100vh ${({ offset: t }) => t && `- ${t}px`} - ${e.sizes.base});
8
+ overflow-y: auto;
9
+ `;
47
10
  export {
48
- T as ActiveAsyncCheckboxFilter
11
+ h as AdaptiveStyledContainer
49
12
  };
package/dist/index13.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),_=require("mobx-react"),f=require("@veeqo/ui"),b=require("lodash/debounce"),o=require("react"),q=require("./index86.cjs"),x=require("./index8.cjs"),g=require("./index61.cjs"),h=e=>e&&e.__esModule?e:{default:e},E=h(b),F=_.observer(({onChange:e,capture:R,...c})=>{const{SEARCH_FILTER_ID:s,FILTERS_DEBOUNCE_INTERVAL_MS:i}=x.useBusinessLogic(),{Filters:{setFilter:r,filters:n}}=g.useStores(),[a,l]=o.useState(n.get(s)||""),d=o.useCallback(E.default(t=>{r(s,t)},i),[r,s]),S=t=>{l(t),q.isTextFilterValid(t)&&d(t),e&&e(t)};return u.jsx("div",{style:{flexGrow:1},children:u.jsx(f.Search,{value:a,onChange:S,...c})})});exports.SearchBar=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),_=require("mobx-react"),f=require("@veeqo/ui"),b=require("lodash/debounce"),o=require("react"),q=require("./index91.cjs"),x=require("./index8.cjs"),g=require("./index61.cjs"),h=e=>e&&e.__esModule?e:{default:e},E=h(b),F=_.observer(({onChange:e,capture:R,...c})=>{const{SEARCH_FILTER_ID:s,FILTERS_DEBOUNCE_INTERVAL_MS:i}=x.useBusinessLogic(),{Filters:{setFilter:r,filters:n}}=g.useStores(),[a,l]=o.useState(n.get(s)||""),d=o.useCallback(E.default(t=>{r(s,t)},i),[r,s]),S=t=>{l(t),q.isTextFilterValid(t)&&d(t),e&&e(t)};return u.jsx("div",{style:{flexGrow:1},children:u.jsx(f.Search,{value:a,onChange:S,...c})})});exports.SearchBar=F;
package/dist/index13.js CHANGED
@@ -3,7 +3,7 @@ import { observer as f } from "mobx-react";
3
3
  import { Search as u } from "@veeqo/ui";
4
4
  import p from "lodash/debounce";
5
5
  import { useState as S, useCallback as d } from "react";
6
- import { isTextFilterValid as h } from "./index86.js";
6
+ import { isTextFilterValid as h } from "./index91.js";
7
7
  import { useBusinessLogic as E } from "./index8.js";
8
8
  import { useStores as C } from "./index61.js";
9
9
  const v = f(({ onChange: o, capture: F, ...s }) => {
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("./index49.cjs"),u=require("./index120.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("./index49.cjs"),u=require("./index117.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 "./index49.js";
5
- import { ActiveAsyncCheckboxFilter as c } from "./index120.js";
5
+ import { ActiveAsyncCheckboxFilter as c } from "./index117.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"),g=require("mobx-react"),v=require("@veeqo/ui"),x=require("./index86.cjs"),l=require("./index49.cjs"),T=require("./index118.cjs"),V=require("./index61.cjs"),y=require("./index59.cjs"),h=require("./index24.cjs"),j=require("./index18.cjs"),p=require("./index25.cjs"),R=g.observer(({filterData:e})=>{const{Filters:{filters:o,clearFilter:F,setFilter:a}}=V.useStores(),r=o.get(e.id),{filterLabel:q}=y.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=x.isTextFilterValid(String(u))?"":l.MIN_SEARCH_ERROR_MESSAGE),c(u),b(d)};return t.jsx(v.FilterTag,{shouldCloseOnClickAway:!0,header:t.jsx(p.ActiveFilterHeader,{filterLabel:e.label,glyph:e.glyph}),label:e.label,text:q||"Loading...",content:t.jsx("div",{className:T.default.fieldContainer,children:t.jsx(j.FilterField,{data:e,editedValue:i,setEditedValue:S,error:n})}),footer:t.jsx(h.ActiveFilterFooter,{clearActiveFilter:A,applyActiveFilter:E})})});exports.ActiveFilterTag=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("react"),g=require("mobx-react"),v=require("@veeqo/ui"),x=require("./index91.cjs"),l=require("./index49.cjs"),T=require("./index118.cjs"),V=require("./index61.cjs"),y=require("./index59.cjs"),h=require("./index24.cjs"),j=require("./index18.cjs"),p=require("./index25.cjs"),R=g.observer(({filterData:e})=>{const{Filters:{filters:o,clearFilter:F,setFilter:a}}=V.useStores(),r=o.get(e.id),{filterLabel:q}=y.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=x.isTextFilterValid(String(u))?"":l.MIN_SEARCH_ERROR_MESSAGE),c(u),b(d)};return t.jsx(v.FilterTag,{shouldCloseOnClickAway:!0,header:t.jsx(p.ActiveFilterHeader,{filterLabel:e.label,glyph:e.glyph}),label:e.label,text:q||"Loading...",content:t.jsx("div",{className:T.default.fieldContainer,children:t.jsx(j.FilterField,{data:e,editedValue:i,setEditedValue:S,error:n})}),footer:t.jsx(h.ActiveFilterFooter,{clearActiveFilter:A,applyActiveFilter:E})})});exports.ActiveFilterTag=R;
package/dist/index19.js CHANGED
@@ -2,7 +2,7 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import { useState as d, useEffect as b } from "react";
3
3
  import { observer as g } from "mobx-react";
4
4
  import { FilterTag as y } from "@veeqo/ui";
5
- import { isTextFilterValid as S } from "./index86.js";
5
+ import { isTextFilterValid as S } from "./index91.js";
6
6
  import { FilterChoiceValue as n, MIN_SEARCH_ERROR_MESSAGE as T } from "./index49.js";
7
7
  import V from "./index118.js";
8
8
  import { useStores as h } from "./index61.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("./index69.cjs"),R=require("./index117.cjs"),v=require("./index61.cjs"),N=require("./index24.cjs"),q=require("./index25.cjs"),A=d.observer(({filterData:t})=>{const{Filters:{numberRangeFilters:u,clearNumberRangeFilter:a,setNumberRangeFilter:g}}=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 F=()=>{a(t.id)},b=()=>{!e||!n||g({numberRange:e,lte:n.lte,gte:n.gte})};return i.jsx(l.FilterTag,{shouldCloseOnClickAway:!0,header:i.jsx(q.ActiveFilterHeader,{filterLabel:t.label,glyph:t.glyph}),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:F,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("./index69.cjs"),R=require("./index119.cjs"),v=require("./index61.cjs"),N=require("./index24.cjs"),q=require("./index25.cjs"),A=d.observer(({filterData:t})=>{const{Filters:{numberRangeFilters:u,clearNumberRangeFilter:a,setNumberRangeFilter:g}}=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 F=()=>{a(t.id)},b=()=>{!e||!n||g({numberRange:e,lte:n.lte,gte:n.gte})};return i.jsx(l.FilterTag,{shouldCloseOnClickAway:!0,header:i.jsx(q.ActiveFilterHeader,{filterLabel:t.label,glyph:t.glyph}),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:F,applyActiveFilter:b})})});exports.ActiveFilterNumberRangeTag=A;
package/dist/index22.js CHANGED
@@ -3,7 +3,7 @@ import { useState as a, useCallback as d, 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 "./index69.js";
6
- import { FilterNumberRangeFilter as h } from "./index117.js";
6
+ import { FilterNumberRangeFilter as h } from "./index119.js";
7
7
  import { useStores as v } from "./index61.js";
8
8
  import { ActiveFilterFooter as A } from "./index24.js";
9
9
  import { ActiveFilterHeader as w } from "./index25.js";
package/dist/index30.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),o=require("react"),g=require("mobx-react"),u=require("@veeqo/ui"),h=require("lodash/debounce"),n=require("./index49.cjs"),j=require("./index86.cjs"),m=require("./index8.cjs"),y=require("./index61.cjs"),k=r=>r&&r.__esModule?r:{default:r},B=k(h),v=g.observer(({fields:r,groupId:c})=>{const{FILTERS_DEBOUNCE_INTERVAL_MS:S}=m.useBusinessLogic(),{Filters:{getFiltersForGroup:p,setFilter:a,clearFiltersForGroup:V}}=y.useStores(),_=p(c),[d,F]=o.useState(_),[E,x]=o.useState({}),C=o.useCallback(B.default((e,t)=>{a(e,t)},S),[a]),q=(e,t)=>{const s={...d,[e]:t},i={...E},T=Object.entries(s).every(([b,M])=>j.isTextFilterValid(String(M))?(i[b]="",!0):(i[b]=n.MIN_SEARCH_ERROR_MESSAGE,!1));F(s),x(i),T&&C(e,t)},R=()=>{const e=r.reduce((t,s)=>({...t,[s.id]:""}),{});F(e),V(c)};return l.jsxs(u.FlexCol,{children:[l.jsx(u.Button,{variant:"link",onClick:R,children:"Clear"}),r.map(e=>{let t;switch(e.filterType){case n.FilterChoiceValue.NUMBER:t="number";break;case n.FilterChoiceValue.TEXT:t="text";break}return l.jsx(u.TextField,{type:t,value:d[e.id],error:E[e.id],label:e.label,onChange:s=>q(e.id,s)},e.id)})]})});exports.MultipleFieldFilter=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),o=require("react"),g=require("mobx-react"),u=require("@veeqo/ui"),h=require("lodash/debounce"),n=require("./index49.cjs"),j=require("./index91.cjs"),m=require("./index8.cjs"),y=require("./index61.cjs"),k=r=>r&&r.__esModule?r:{default:r},B=k(h),v=g.observer(({fields:r,groupId:c})=>{const{FILTERS_DEBOUNCE_INTERVAL_MS:S}=m.useBusinessLogic(),{Filters:{getFiltersForGroup:p,setFilter:a,clearFiltersForGroup:V}}=y.useStores(),_=p(c),[d,F]=o.useState(_),[E,x]=o.useState({}),C=o.useCallback(B.default((e,t)=>{a(e,t)},S),[a]),q=(e,t)=>{const s={...d,[e]:t},i={...E},T=Object.entries(s).every(([b,M])=>j.isTextFilterValid(String(M))?(i[b]="",!0):(i[b]=n.MIN_SEARCH_ERROR_MESSAGE,!1));F(s),x(i),T&&C(e,t)},R=()=>{const e=r.reduce((t,s)=>({...t,[s.id]:""}),{});F(e),V(c)};return l.jsxs(u.FlexCol,{children:[l.jsx(u.Button,{variant:"link",onClick:R,children:"Clear"}),r.map(e=>{let t;switch(e.filterType){case n.FilterChoiceValue.NUMBER:t="number";break;case n.FilterChoiceValue.TEXT:t="text";break}return l.jsx(u.TextField,{type:t,value:d[e.id],error:E[e.id],label:e.label,onChange:s=>q(e.id,s)},e.id)})]})});exports.MultipleFieldFilter=v;
package/dist/index30.js CHANGED
@@ -4,7 +4,7 @@ import { observer as _ } from "mobx-react";
4
4
  import { FlexCol as k, Button as M, TextField as g } from "@veeqo/ui";
5
5
  import y from "lodash/debounce";
6
6
  import { FilterChoiceValue as F, MIN_SEARCH_ERROR_MESSAGE as B } from "./index49.js";
7
- import { isTextFilterValid as G } from "./index86.js";
7
+ import { isTextFilterValid as G } from "./index91.js";
8
8
  import { useBusinessLogic as N } from "./index8.js";
9
9
  import { useStores as j } from "./index61.js";
10
10
  const q = _(({ fields: s, groupId: i }) => {
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("./index65.cjs"),G=require("./index62.cjs"),J=require("./index40.cjs"),K=require("./index43.cjs"),Q=require("./index56.cjs"),X=require("./index106.cjs"),Z=require("./index8.cjs"),$=require("./index61.cjs"),b=require("./index107.cjs"),ee=U.observer(({view:e})=>{const{VIEW_TYPE:x,IS_VIEWS_READONLY:r,SEARCH_FILTER_ID:d}=Z.useBusinessLogic(),{Filters:{activeViewId:w,initFiltersFromView:f,discardChanges:m,initFromUrl:V,filters:L,setFilter:T},Views:{draftViewsMap:y},Notifications:{notify:E}}=$.useStores(),{viewsMap:h,defaultCustomViewId:F,isLoading:N}=G.useViews(),{isLoading:j}=z.useCustomViews({type:x}),{viewCounts:M,isLoadingViewCounts:R}=X.useViewCounts(e.id),[s,P]=c.useState(null),k=o=>{const q=L.get(d);if(h.has(o)){const n=h.get(o);n&&(f(n),m(!0),V())}else{const n=y.get(o);n?(f(n),m(!0),V()):E({type:"error",text:"Failed to load view"})}q&&T(d,q)},u=(e==null?void 0:e.id)===w,t=e.originalView!==void 0,g=e.originalView===void 0,A=M,a=(e==null?void 0:e.label)||"",I=N||j,p=c.useRef(!1);!I&&!p.current&&u&&e.id===F&&s&&(p.current=!0,s&&w===e.id&&window.requestAnimationFrame(()=>{var o;(o=s.parentElement)==null||o.scrollBy({behavior:"smooth",left:s.offsetLeft})}));const C=c.useMemo(()=>t?"draft":e.editable?"saved":"fixed",[t,e.editable]),{actions:{create:{handleSaveDraft:_},menu:{toggleDropdown:D},delete:{closeDeleteConfirmation:B,handleDelete:O,handleDeleteDraftView:v}},state:{shouldShowDeleteConfirmation:H},actions:W,state:S}=Q.useDropdownManager(e),Y=c.useMemo(()=>{if(!r){if(g)return D;if(t)return v}},[v,t,g,D,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:C,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":S.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:C,isActive:u,initialViewName:a,shouldShowCreateViewNotification:t,handleSaveDraft:_}),!r&&i.jsx(K.ViewDropdowns,{referenceElement:s,tab:e,...W,...S})]})});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("./index65.cjs"),G=require("./index62.cjs"),J=require("./index40.cjs"),K=require("./index43.cjs"),Q=require("./index56.cjs"),X=require("./index102.cjs"),Z=require("./index8.cjs"),$=require("./index61.cjs"),b=require("./index103.cjs"),ee=U.observer(({view:e})=>{const{VIEW_TYPE:x,IS_VIEWS_READONLY:r,SEARCH_FILTER_ID:d}=Z.useBusinessLogic(),{Filters:{activeViewId:w,initFiltersFromView:f,discardChanges:m,initFromUrl:V,filters:L,setFilter:T},Views:{draftViewsMap:y},Notifications:{notify:E}}=$.useStores(),{viewsMap:h,defaultCustomViewId:F,isLoading:N}=G.useViews(),{isLoading:j}=z.useCustomViews({type:x}),{viewCounts:M,isLoadingViewCounts:R}=X.useViewCounts(e.id),[s,P]=c.useState(null),k=o=>{const q=L.get(d);if(h.has(o)){const n=h.get(o);n&&(f(n),m(!0),V())}else{const n=y.get(o);n?(f(n),m(!0),V()):E({type:"error",text:"Failed to load view"})}q&&T(d,q)},u=(e==null?void 0:e.id)===w,t=e.originalView!==void 0,g=e.originalView===void 0,A=M,a=(e==null?void 0:e.label)||"",I=N||j,p=c.useRef(!1);!I&&!p.current&&u&&e.id===F&&s&&(p.current=!0,s&&w===e.id&&window.requestAnimationFrame(()=>{var o;(o=s.parentElement)==null||o.scrollBy({behavior:"smooth",left:s.offsetLeft})}));const C=c.useMemo(()=>t?"draft":e.editable?"saved":"fixed",[t,e.editable]),{actions:{create:{handleSaveDraft:_},menu:{toggleDropdown:D},delete:{closeDeleteConfirmation:B,handleDelete:O,handleDeleteDraftView:v}},state:{shouldShowDeleteConfirmation:H},actions:W,state:S}=Q.useDropdownManager(e),Y=c.useMemo(()=>{if(!r){if(g)return D;if(t)return v}},[v,t,g,D,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:C,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":S.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:C,isActive:u,initialViewName:a,shouldShowCreateViewNotification:t,handleSaveDraft:_}),!r&&i.jsx(K.ViewDropdowns,{referenceElement:s,tab:e,...W,...S})]})});exports.ViewTab=ee;
package/dist/index36.js CHANGED
@@ -7,10 +7,10 @@ import { useViews as Z } from "./index62.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 "./index56.js";
10
- import { useViewCounts as ie } from "./index106.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 "./index61.js";
13
- import { Confirmation as se } from "./index107.js";
13
+ import { Confirmation as se } from "./index103.js";
14
14
  const ve = Q(({ view: e }) => {
15
15
  const { VIEW_TYPE: L, IS_VIEWS_READONLY: n, SEARCH_FILTER_ID: c } = te(), {
16
16
  Filters: { activeViewId: d, initFiltersFromView: f, discardChanges: m, initFromUrl: u, filters: T, setFilter: x },