@veeqo/transfigure 2.1.2 → 2.1.3

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 (217) hide show
  1. package/dist/constants/helpGuideUrls.d.ts +3 -0
  2. package/dist/constants/index.d.ts +1 -0
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.js +81 -79
  5. package/dist/index100.cjs +1 -1
  6. package/dist/index100.js +10 -14
  7. package/dist/index101.cjs +1 -1
  8. package/dist/index101.js +24 -21
  9. package/dist/index102.cjs +18 -11
  10. package/dist/index102.js +20 -12
  11. package/dist/index103.cjs +1 -1
  12. package/dist/index103.js +49 -6
  13. package/dist/index104.cjs +1 -1
  14. package/dist/index104.js +29 -50
  15. package/dist/index105.cjs +1 -1
  16. package/dist/index105.js +12 -26
  17. package/dist/index106.cjs +10 -78
  18. package/dist/index106.js +13 -95
  19. package/dist/index107.cjs +1 -1
  20. package/dist/index107.js +21 -24
  21. package/dist/index108.cjs +80 -1
  22. package/dist/index108.js +98 -2
  23. package/dist/index109.cjs +1 -1
  24. package/dist/index109.js +2 -19
  25. package/dist/index110.cjs +1 -1
  26. package/dist/index110.js +18 -7
  27. package/dist/index111.cjs +1 -1
  28. package/dist/index111.js +7 -63
  29. package/dist/index112.cjs +1 -1
  30. package/dist/index112.js +57 -26
  31. package/dist/index113.cjs +1 -13
  32. package/dist/index113.js +30 -17
  33. package/dist/index114.cjs +1 -1
  34. package/dist/index114.js +32 -22
  35. package/dist/index115.cjs +13 -1
  36. package/dist/index115.js +14 -33
  37. package/dist/index116.cjs +1 -7
  38. package/dist/index116.js +26 -10
  39. package/dist/index118.cjs +1 -1
  40. package/dist/index118.js +1 -1
  41. package/dist/index119.cjs +7 -1
  42. package/dist/index119.js +10 -47
  43. package/dist/index120.cjs +1 -0
  44. package/dist/index120.js +49 -0
  45. package/dist/index13.cjs +1 -1
  46. package/dist/index13.js +2 -2
  47. package/dist/index14.cjs +1 -1
  48. package/dist/index14.js +1 -1
  49. package/dist/index15.cjs +1 -1
  50. package/dist/index15.js +1 -1
  51. package/dist/index16.cjs +1 -1
  52. package/dist/index16.js +2 -2
  53. package/dist/index17.cjs +1 -1
  54. package/dist/index17.js +2 -2
  55. package/dist/index18.cjs +1 -1
  56. package/dist/index18.js +1 -1
  57. package/dist/index19.cjs +1 -1
  58. package/dist/index19.js +4 -4
  59. package/dist/index20.cjs +1 -1
  60. package/dist/index20.js +2 -2
  61. package/dist/index21.cjs +1 -1
  62. package/dist/index21.js +2 -2
  63. package/dist/index22.cjs +1 -1
  64. package/dist/index22.js +2 -2
  65. package/dist/index23.cjs +1 -1
  66. package/dist/index23.js +3 -3
  67. package/dist/index26.cjs +1 -1
  68. package/dist/index26.js +4 -4
  69. package/dist/index27.cjs +1 -1
  70. package/dist/index27.js +4 -4
  71. package/dist/index28.cjs +1 -1
  72. package/dist/index28.js +1 -1
  73. package/dist/index29.cjs +1 -1
  74. package/dist/index29.js +2 -2
  75. package/dist/index3.cjs +1 -1
  76. package/dist/index3.js +2 -2
  77. package/dist/index30.cjs +1 -1
  78. package/dist/index30.js +3 -3
  79. package/dist/index31.cjs +1 -1
  80. package/dist/index31.js +3 -3
  81. package/dist/index32.cjs +1 -1
  82. package/dist/index32.js +1 -1
  83. package/dist/index33.cjs +1 -1
  84. package/dist/index33.js +1 -1
  85. package/dist/index34.cjs +1 -1
  86. package/dist/index34.js +1 -1
  87. package/dist/index35.cjs +1 -1
  88. package/dist/index35.js +1 -1
  89. package/dist/index36.cjs +1 -1
  90. package/dist/index36.js +6 -6
  91. package/dist/index37.cjs +1 -1
  92. package/dist/index37.js +1 -1
  93. package/dist/index38.cjs +1 -1
  94. package/dist/index38.js +1 -1
  95. package/dist/index39.cjs +1 -1
  96. package/dist/index39.js +3 -3
  97. package/dist/index4.cjs +1 -1
  98. package/dist/index4.js +2 -2
  99. package/dist/index40.cjs +1 -1
  100. package/dist/index40.js +3 -3
  101. package/dist/index41.cjs +1 -1
  102. package/dist/index41.js +4 -4
  103. package/dist/index42.cjs +1 -1
  104. package/dist/index42.js +2 -2
  105. package/dist/index44.cjs +1 -1
  106. package/dist/index44.js +4 -4
  107. package/dist/index46.cjs +1 -1
  108. package/dist/index46.js +4 -4
  109. package/dist/index47.cjs +1 -1
  110. package/dist/index47.js +3 -3
  111. package/dist/index49.cjs +1 -1
  112. package/dist/index49.js +4 -9
  113. package/dist/index5.cjs +1 -1
  114. package/dist/index5.js +2 -2
  115. package/dist/index50.cjs +1 -1
  116. package/dist/index50.js +9 -23
  117. package/dist/index51.cjs +1 -1
  118. package/dist/index51.js +23 -2
  119. package/dist/index52.cjs +1 -1
  120. package/dist/index52.js +2 -4
  121. package/dist/index53.cjs +1 -1
  122. package/dist/index53.js +4 -11
  123. package/dist/index54.cjs +1 -1
  124. package/dist/index54.js +10 -12
  125. package/dist/index55.cjs +1 -1
  126. package/dist/index55.js +12 -11
  127. package/dist/index56.cjs +1 -1
  128. package/dist/index56.js +11 -184
  129. package/dist/index57.cjs +1 -1
  130. package/dist/index57.js +183 -25
  131. package/dist/index58.cjs +1 -1
  132. package/dist/index58.js +26 -24
  133. package/dist/index59.cjs +1 -1
  134. package/dist/index59.js +19 -22
  135. package/dist/index6.cjs +1 -1
  136. package/dist/index6.js +2 -2
  137. package/dist/index60.cjs +1 -1
  138. package/dist/index60.js +25 -97
  139. package/dist/index61.cjs +1 -1
  140. package/dist/index61.js +99 -8
  141. package/dist/index62.cjs +1 -1
  142. package/dist/index62.js +8 -33
  143. package/dist/index63.cjs +1 -1
  144. package/dist/index63.js +33 -63
  145. package/dist/index64.cjs +1 -1
  146. package/dist/index64.js +59 -19
  147. package/dist/index65.cjs +1 -1
  148. package/dist/index65.js +23 -18
  149. package/dist/index66.cjs +1 -1
  150. package/dist/index66.js +16 -29
  151. package/dist/index67.cjs +1 -1
  152. package/dist/index67.js +30 -59
  153. package/dist/index68.cjs +1 -1
  154. package/dist/index68.js +60 -349
  155. package/dist/index69.cjs +1 -1
  156. package/dist/index69.js +345 -53
  157. package/dist/index7.cjs +1 -1
  158. package/dist/index7.js +4 -4
  159. package/dist/index70.cjs +1 -1
  160. package/dist/index70.js +48 -47
  161. package/dist/index71.cjs +1 -1
  162. package/dist/index71.js +51 -32
  163. package/dist/index72.cjs +1 -1
  164. package/dist/index72.js +30 -24
  165. package/dist/index73.cjs +1 -1
  166. package/dist/index73.js +26 -32
  167. package/dist/index74.cjs +1 -1
  168. package/dist/index74.js +38 -4
  169. package/dist/index75.cjs +1 -1
  170. package/dist/index75.js +4 -13
  171. package/dist/index76.cjs +1 -1
  172. package/dist/index76.js +12 -16
  173. package/dist/index77.cjs +1 -1
  174. package/dist/index77.js +14 -16
  175. package/dist/index78.cjs +1 -1
  176. package/dist/index78.js +18 -65
  177. package/dist/index79.cjs +1 -1
  178. package/dist/index79.js +66 -24
  179. package/dist/index80.cjs +1 -1
  180. package/dist/index80.js +24 -21
  181. package/dist/index81.cjs +1 -1
  182. package/dist/index81.js +20 -6
  183. package/dist/index82.cjs +1 -1
  184. package/dist/index82.js +7 -2
  185. package/dist/index83.cjs +1 -1
  186. package/dist/index83.js +2 -9
  187. package/dist/index84.cjs +1 -3
  188. package/dist/index84.js +8 -13
  189. package/dist/index85.cjs +3 -1
  190. package/dist/index85.js +13 -8
  191. package/dist/index86.cjs +1 -1
  192. package/dist/index86.js +9 -2
  193. package/dist/index88.cjs +1 -1
  194. package/dist/index88.js +40 -39
  195. package/dist/index89.cjs +1 -1
  196. package/dist/index89.js +2 -41
  197. package/dist/index90.cjs +1 -1
  198. package/dist/index90.js +41 -9
  199. package/dist/index91.cjs +1 -1
  200. package/dist/index91.js +8 -17
  201. package/dist/index92.cjs +1 -1
  202. package/dist/index92.js +18 -13
  203. package/dist/index93.cjs +1 -104
  204. package/dist/index93.js +7 -119
  205. package/dist/index94.cjs +1 -1
  206. package/dist/index94.js +13 -68
  207. package/dist/index95.cjs +104 -1
  208. package/dist/index95.js +118 -27
  209. package/dist/index96.cjs +1 -1
  210. package/dist/index96.js +68 -2
  211. package/dist/index97.cjs +1 -1
  212. package/dist/index97.js +26 -39
  213. package/dist/index98.cjs +1 -1
  214. package/dist/index98.js +2 -11
  215. package/dist/index99.cjs +1 -19
  216. package/dist/index99.js +41 -24
  217. package/package.json +1 -1
package/dist/index19.js CHANGED
@@ -2,11 +2,11 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import { useState as n, useEffect as b } from "react";
3
3
  import { observer as S } from "mobx-react";
4
4
  import { FilterTag as T } from "@veeqo/ui";
5
- import { isTextFilterValid as V } from "./index86.js";
6
- import { FilterChoiceValue as d, MIN_SEARCH_ERROR_MESSAGE as v } from "./index49.js";
5
+ import { isTextFilterValid as V } from "./index89.js";
6
+ import { FilterChoiceValue as d, MIN_SEARCH_ERROR_MESSAGE as v } from "./index50.js";
7
7
  import g from "./index117.js";
8
- import { useStores as y } from "./index61.js";
9
- import { useFilterLabel as C } from "./index59.js";
8
+ import { useStores as y } from "./index62.js";
9
+ import { useFilterLabel as C } from "./index60.js";
10
10
  import { ActiveFilterFooter as R } from "./index24.js";
11
11
  import { FilterField as h } from "./index18.js";
12
12
  import { ActiveFilterHeader as x } from "./index25.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("./index58.cjs"),v=require("./index17.cjs"),q=require("./index117.cjs"),x=require("./index61.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("./index59.cjs"),v=require("./index17.cjs"),q=require("./index117.cjs"),x=require("./index62.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
@@ -2,10 +2,10 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import { useState as F, useEffect as p } from "react";
3
3
  import { observer as u } from "mobx-react";
4
4
  import { FilterTag as A } from "@veeqo/ui";
5
- import { useFilterArrayLabel as f } from "./index58.js";
5
+ import { useFilterArrayLabel as f } from "./index59.js";
6
6
  import { FilterArrayField as y } from "./index17.js";
7
7
  import b from "./index117.js";
8
- import { useStores as v } from "./index61.js";
8
+ import { useStores as v } from "./index62.js";
9
9
  import { ActiveFilterFooter as V } from "./index24.js";
10
10
  import { ActiveFilterHeader as g } from "./index25.js";
11
11
  const H = u(({ filterData: e }) => {
package/dist/index21.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),f=require("mobx-react"),i=require("@veeqo/ui"),a=require("./index70.cjs"),q=require("./index8.cjs"),E=require("./index61.cjs"),S=require("./index24.cjs"),h=require("./index25.cjs"),x=f.observer(({filterData:s})=>{const{DEFAULT_DATE_PRESET:g,DEFAULT_DATE_RANGE:F}=q.useBusinessLogic(),{Filters:{dateRangeFilters:c,clearRangeFilter:u,setRangeFilter:R}}=E.useStores(),t=c.get(s.id),[e,l]=o.useState(c.get(s.id)),T=()=>{const r=new a.RangeFilter;return r.setFilterType(t==null?void 0:t.filterType),l(r),r};o.useEffect(()=>{if(!t)return;const r=new a.RangeFilter;r.setFilterType(t.filterType),t.gte&&t.lte&&r.setDates(t.gte,t.lte),l(r)},[t]);const d=()=>{u(s.id)},A=()=>{t&&(e!=null&&e.filterType)&&R({dates:{start:e.gte,end:e.lte},key:e.filterType,range:t})},y=(e==null?void 0:e.filterSelection)||g,b=r=>{r&&(e||T(),e==null||e.setFilterType(r.value))},p=r=>{!r||!e||e.setDates(r.start,r.end)},v=e?e.selectedRange:F;return n.jsx(i.FilterTag,{shouldCloseOnClickAway:!0,header:n.jsx(h.ActiveFilterHeader,{filterLabel:s.label,icon:s.icon}),label:s.label,text:(t==null?void 0:t.filterLabel)||"",content:n.jsx(i.BaseContainer,{style:{padding:i.theme.sizes.md},children:n.jsx(i.DateRangePicker,{"aria-label":`date range for ${s.label}`,selectedPreset:y,setSelectedPreset:b,selectedRange:v,setSelectedRange:p})}),footer:n.jsx(S.ActiveFilterFooter,{clearActiveFilter:d,applyActiveFilter:A})})});exports.ActiveFilterDateRangeTag=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),f=require("mobx-react"),i=require("@veeqo/ui"),a=require("./index71.cjs"),q=require("./index8.cjs"),E=require("./index62.cjs"),S=require("./index24.cjs"),h=require("./index25.cjs"),x=f.observer(({filterData:s})=>{const{DEFAULT_DATE_PRESET:g,DEFAULT_DATE_RANGE:F}=q.useBusinessLogic(),{Filters:{dateRangeFilters:c,clearRangeFilter:u,setRangeFilter:R}}=E.useStores(),t=c.get(s.id),[e,l]=o.useState(c.get(s.id)),T=()=>{const r=new a.RangeFilter;return r.setFilterType(t==null?void 0:t.filterType),l(r),r};o.useEffect(()=>{if(!t)return;const r=new a.RangeFilter;r.setFilterType(t.filterType),t.gte&&t.lte&&r.setDates(t.gte,t.lte),l(r)},[t]);const d=()=>{u(s.id)},A=()=>{t&&(e!=null&&e.filterType)&&R({dates:{start:e.gte,end:e.lte},key:e.filterType,range:t})},y=(e==null?void 0:e.filterSelection)||g,b=r=>{r&&(e||T(),e==null||e.setFilterType(r.value))},p=r=>{!r||!e||e.setDates(r.start,r.end)},v=e?e.selectedRange:F;return n.jsx(i.FilterTag,{shouldCloseOnClickAway:!0,header:n.jsx(h.ActiveFilterHeader,{filterLabel:s.label,icon:s.icon}),label:s.label,text:(t==null?void 0:t.filterLabel)||"",content:n.jsx(i.BaseContainer,{style:{padding:i.theme.sizes.md},children:n.jsx(i.DateRangePicker,{"aria-label":`date range for ${s.label}`,selectedPreset:y,setSelectedPreset:b,selectedRange:v,setSelectedRange:p})}),footer:n.jsx(S.ActiveFilterFooter,{clearActiveFilter:d,applyActiveFilter:A})})});exports.ActiveFilterDateRangeTag=x;
package/dist/index21.js CHANGED
@@ -2,9 +2,9 @@ import { jsx as i } from "react/jsx-runtime";
2
2
  import { useState as A, useEffect as E } from "react";
3
3
  import { observer as b } from "mobx-react";
4
4
  import { FilterTag as h, BaseContainer as u, theme as v, DateRangePicker as P } from "@veeqo/ui";
5
- import { RangeFilter as l } from "./index70.js";
5
+ import { RangeFilter as l } from "./index71.js";
6
6
  import { useBusinessLogic as S } from "./index8.js";
7
- import { useStores as C } from "./index61.js";
7
+ import { useStores as C } from "./index62.js";
8
8
  import { ActiveFilterFooter as L } from "./index24.js";
9
9
  import { ActiveFilterHeader as w } from "./index25.js";
10
10
  const H = b(
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("./index118.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: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("./index70.cjs"),R=require("./index118.cjs"),v=require("./index62.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
@@ -2,9 +2,9 @@ import { jsx as i } from "react/jsx-runtime";
2
2
  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
- import { NumberRangeFilter as N } from "./index69.js";
5
+ import { NumberRangeFilter as N } from "./index70.js";
6
6
  import { FilterNumberRangeFilter as v } from "./index118.js";
7
- import { useStores as A } from "./index61.js";
7
+ import { useStores as A } from "./index62.js";
8
8
  import { ActiveFilterFooter as w } from "./index24.js";
9
9
  import { ActiveFilterHeader as h } from "./index25.js";
10
10
  const z = b(
package/dist/index23.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),b=require("react"),m=require("mobx-react"),t=require("@veeqo/ui"),p=require("swr/immutable"),y=require("./index75.cjs"),F=require("./index76.cjs"),O=require("./index49.cjs"),A=e=>e&&e.__esModule?e:{default:e},x=A(p),S=m.observer(({field:e,editedValue:o,setEditedValue:a})=>{var i,c;const l=b.useMemo(()=>{var r;return F.getFetcherFunction({fetcherName:(r=e.fetchAsyncFilterOptions)==null?void 0:r.fetcher})},[(i=e.fetchAsyncFilterOptions)==null?void 0:i.fetcher]),{isLoading:u,isValidating:h,data:g,error:d}=x.default((c=e.fetchAsyncFilterOptions)==null?void 0:c.URL,l,O.SWR_HOOK_OPTIONS),n=u||h,f=y.getAsyncOptions({data:g,config:e.fetchAsyncFilterOptions});return s.jsxs(t.Stack,{spacing:"xs",alignX:"stretch",children:[s.jsx(t.ChoiceList,{title:e.label,options:f,selected:[o],onChange:r=>a(`${r[0]}`)}),n&&s.jsx(t.Skeleton,{width:"200px",height:t.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!n&&d&&s.jsxs(t.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.ActiveAsyncRadioFilter=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),b=require("react"),m=require("mobx-react"),t=require("@veeqo/ui"),p=require("swr/immutable"),y=require("./index76.cjs"),F=require("./index77.cjs"),O=require("./index50.cjs"),A=e=>e&&e.__esModule?e:{default:e},x=A(p),S=m.observer(({field:e,editedValue:o,setEditedValue:a})=>{var i,c;const l=b.useMemo(()=>{var r;return F.getFetcherFunction({fetcherName:(r=e.fetchAsyncFilterOptions)==null?void 0:r.fetcher})},[(i=e.fetchAsyncFilterOptions)==null?void 0:i.fetcher]),{isLoading:u,isValidating:h,data:g,error:d}=x.default((c=e.fetchAsyncFilterOptions)==null?void 0:c.URL,l,O.SWR_HOOK_OPTIONS),n=u||h,f=y.getAsyncOptions({data:g,config:e.fetchAsyncFilterOptions});return s.jsxs(t.Stack,{spacing:"xs",alignX:"stretch",children:[s.jsx(t.ChoiceList,{title:e.label,options:f,selected:[o],onChange:r=>a(`${r[0]}`)}),n&&s.jsx(t.Skeleton,{width:"200px",height:t.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!n&&d&&s.jsxs(t.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.ActiveAsyncRadioFilter=S;
package/dist/index23.js CHANGED
@@ -3,9 +3,9 @@ import { useMemo as O } from "react";
3
3
  import { observer as u } from "mobx-react";
4
4
  import { Stack as F, ChoiceList as b, Skeleton as y, theme as A, Text as d } from "@veeqo/ui";
5
5
  import x from "swr/immutable";
6
- import { getAsyncOptions as S } from "./index75.js";
7
- import { getFetcherFunction as L } from "./index76.js";
8
- import { SWR_HOOK_OPTIONS as R } from "./index49.js";
6
+ import { getAsyncOptions as S } from "./index76.js";
7
+ import { getFetcherFunction as L } from "./index77.js";
8
+ import { SWR_HOOK_OPTIONS as R } from "./index50.js";
9
9
  const _ = u(
10
10
  ({ field: t, editedValue: c, setEditedValue: a }) => {
11
11
  var o, i;
package/dist/index26.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),i=require("react"),j=require("mobx-react"),C=require("lodash/debounce"),s=require("@veeqo/ui"),L=require("swr/immutable"),k=require("./index75.cjs"),R=require("./index76.cjs"),v=require("./index49.cjs"),T=require("./index8.cjs"),V=require("./index61.cjs"),b=e=>e&&e.__esModule?e:{default:e},E=b(C),I=b(L),M=j.observer(({field:e})=>{var d,g;const{FILTERS_DEBOUNCE_INTERVAL_MS:S}=T.useBusinessLogic(),F=i.useMemo(()=>{var t;return R.getFetcherFunction({fetcherName:(t=e.fetchAsyncFilterOptions)==null?void 0:t.fetcher})},[(d=e.fetchAsyncFilterOptions)==null?void 0:d.fetcher]),{isLoading:a,isValidating:x,data:p,error:l}=I.default((g=e.fetchAsyncFilterOptions)==null?void 0:g.URL,F,v.SWR_HOOK_OPTIONS),u=a||x,{Filters:{setArrayFilter:c,arrayFilters:y}}=V.useStores(),m=y.get(e.id)||[],[O,h]=i.useState(m),f=i.useCallback(E.default((t,n)=>{c(t,n)},S),[c]),_=t=>{const n=t.map(A=>`${A}`);h(n),f(e.id,n)},q=()=>{h([]),c(e.id,[])},o=k.getAsyncOptions({data:p,config:e.fetchAsyncFilterOptions});return o&&o.length===0&&!a&&!l?r.jsx(s.Stack,{spacing:"xs",alignX:"stretch",children:r.jsxs(s.Text,{variant:"bodySmall",children:["No options available for ",e.label]})}):r.jsxs(s.Stack,{spacing:"xs",alignX:"stretch",children:[r.jsx(s.Button,{variant:"link",onClick:q,children:"Clear"}),r.jsx(s.ChoiceList,{allowMultiple:!0,title:e.label,options:o,selected:O,onChange:t=>_(t)}),u&&r.jsx(s.Skeleton,{width:"200px",height:s.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!u&&l&&r.jsxs(s.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.AsyncCheckboxFilter=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),i=require("react"),j=require("mobx-react"),C=require("lodash/debounce"),s=require("@veeqo/ui"),L=require("swr/immutable"),k=require("./index76.cjs"),R=require("./index77.cjs"),v=require("./index50.cjs"),T=require("./index8.cjs"),V=require("./index62.cjs"),b=e=>e&&e.__esModule?e:{default:e},E=b(C),I=b(L),M=j.observer(({field:e})=>{var d,g;const{FILTERS_DEBOUNCE_INTERVAL_MS:S}=T.useBusinessLogic(),F=i.useMemo(()=>{var t;return R.getFetcherFunction({fetcherName:(t=e.fetchAsyncFilterOptions)==null?void 0:t.fetcher})},[(d=e.fetchAsyncFilterOptions)==null?void 0:d.fetcher]),{isLoading:a,isValidating:x,data:p,error:l}=I.default((g=e.fetchAsyncFilterOptions)==null?void 0:g.URL,F,v.SWR_HOOK_OPTIONS),u=a||x,{Filters:{setArrayFilter:c,arrayFilters:y}}=V.useStores(),m=y.get(e.id)||[],[O,h]=i.useState(m),f=i.useCallback(E.default((t,n)=>{c(t,n)},S),[c]),_=t=>{const n=t.map(A=>`${A}`);h(n),f(e.id,n)},q=()=>{h([]),c(e.id,[])},o=k.getAsyncOptions({data:p,config:e.fetchAsyncFilterOptions});return o&&o.length===0&&!a&&!l?r.jsx(s.Stack,{spacing:"xs",alignX:"stretch",children:r.jsxs(s.Text,{variant:"bodySmall",children:["No options available for ",e.label]})}):r.jsxs(s.Stack,{spacing:"xs",alignX:"stretch",children:[r.jsx(s.Button,{variant:"link",onClick:q,children:"Clear"}),r.jsx(s.ChoiceList,{allowMultiple:!0,title:e.label,options:o,selected:O,onChange:t=>_(t)}),u&&r.jsx(s.Skeleton,{width:"200px",height:s.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!u&&l&&r.jsxs(s.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.AsyncCheckboxFilter=M;
package/dist/index26.js CHANGED
@@ -4,11 +4,11 @@ import { observer as E } from "mobx-react";
4
4
  import N from "lodash/debounce";
5
5
  import { Stack as u, Text as g, Button as R, ChoiceList as _, Skeleton as I, theme as T } from "@veeqo/ui";
6
6
  import w from "swr/immutable";
7
- import { getAsyncOptions as B } from "./index75.js";
8
- import { getFetcherFunction as M } from "./index76.js";
9
- import { SWR_HOOK_OPTIONS as j } from "./index49.js";
7
+ import { getAsyncOptions as B } from "./index76.js";
8
+ import { getFetcherFunction as M } from "./index77.js";
9
+ import { SWR_HOOK_OPTIONS as j } from "./index50.js";
10
10
  import { useBusinessLogic as U } from "./index8.js";
11
- import { useStores as W } from "./index61.js";
11
+ import { useStores as W } from "./index62.js";
12
12
  const Y = E(({ field: t }) => {
13
13
  var h, p;
14
14
  const { FILTERS_DEBOUNCE_INTERVAL_MS: f } = U(), b = k(() => {
package/dist/index27.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),i=require("react"),R=require("mobx-react"),j=require("lodash/debounce"),s=require("@veeqo/ui"),A=require("swr/immutable"),L=require("./index75.cjs"),C=require("./index76.cjs"),k=require("./index49.cjs"),v=require("./index8.cjs"),T=require("./index61.cjs"),b=e=>e&&e.__esModule?e:{default:e},V=b(j),E=b(A),I=R.observer(({field:e})=>{var d,g;const{FILTERS_DEBOUNCE_INTERVAL_MS:S}=v.useBusinessLogic(),F=i.useMemo(()=>{var t;return C.getFetcherFunction({fetcherName:(t=e.fetchAsyncFilterOptions)==null?void 0:t.fetcher})},[(d=e.fetchAsyncFilterOptions)==null?void 0:d.fetcher]),{isLoading:a,isValidating:x,data:f,error:l}=E.default((g=e.fetchAsyncFilterOptions)==null?void 0:g.URL,F,k.SWR_HOOK_OPTIONS),u=a||x,{Filters:{setFilter:c,filters:p}}=T.useStores(),O=p.get(e.id),[m,h]=i.useState(O),y=i.useCallback(V.default((t,r)=>{c(t,r)},S),[c]),_=t=>{const r=`${t[0]}`;h(r),y(e.id,r)},q=()=>{h(""),c(e.id,"")},o=L.getAsyncOptions({data:f,config:e.fetchAsyncFilterOptions});return o&&o.length===0&&!a&&!l?n.jsx(s.Stack,{spacing:"xs",alignX:"stretch",children:n.jsxs(s.Text,{variant:"bodySmall",children:["No options available for ",e.label]})}):n.jsxs(s.Stack,{spacing:"xs",alignX:"stretch",children:[n.jsx(s.Button,{variant:"link",onClick:q,children:"Clear"}),n.jsx(s.ChoiceList,{title:e.label,options:o,selected:[m],onChange:t=>_(t)}),u&&n.jsx(s.Skeleton,{width:"200px",height:s.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!u&&l&&n.jsxs(s.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.AsyncRadioFilter=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),i=require("react"),R=require("mobx-react"),j=require("lodash/debounce"),s=require("@veeqo/ui"),A=require("swr/immutable"),L=require("./index76.cjs"),C=require("./index77.cjs"),k=require("./index50.cjs"),v=require("./index8.cjs"),T=require("./index62.cjs"),b=e=>e&&e.__esModule?e:{default:e},V=b(j),E=b(A),I=R.observer(({field:e})=>{var d,g;const{FILTERS_DEBOUNCE_INTERVAL_MS:S}=v.useBusinessLogic(),F=i.useMemo(()=>{var t;return C.getFetcherFunction({fetcherName:(t=e.fetchAsyncFilterOptions)==null?void 0:t.fetcher})},[(d=e.fetchAsyncFilterOptions)==null?void 0:d.fetcher]),{isLoading:a,isValidating:x,data:f,error:l}=E.default((g=e.fetchAsyncFilterOptions)==null?void 0:g.URL,F,k.SWR_HOOK_OPTIONS),u=a||x,{Filters:{setFilter:c,filters:p}}=T.useStores(),O=p.get(e.id),[m,h]=i.useState(O),y=i.useCallback(V.default((t,r)=>{c(t,r)},S),[c]),_=t=>{const r=`${t[0]}`;h(r),y(e.id,r)},q=()=>{h(""),c(e.id,"")},o=L.getAsyncOptions({data:f,config:e.fetchAsyncFilterOptions});return o&&o.length===0&&!a&&!l?n.jsx(s.Stack,{spacing:"xs",alignX:"stretch",children:n.jsxs(s.Text,{variant:"bodySmall",children:["No options available for ",e.label]})}):n.jsxs(s.Stack,{spacing:"xs",alignX:"stretch",children:[n.jsx(s.Button,{variant:"link",onClick:q,children:"Clear"}),n.jsx(s.ChoiceList,{title:e.label,options:o,selected:[m],onChange:t=>_(t)}),u&&n.jsx(s.Skeleton,{width:"200px",height:s.theme.sizes[5],"aria-busy":!0,"aria-label":`Loading ${e.label} filters`}),!u&&l&&n.jsxs(s.Text,{variant:"errorSmall",children:["Error: failed to load filter for ",e.label]})]})});exports.AsyncRadioFilter=I;
package/dist/index27.js CHANGED
@@ -4,11 +4,11 @@ import { observer as k } from "mobx-react";
4
4
  import v from "lodash/debounce";
5
5
  import { Stack as u, Text as f, Button as E, ChoiceList as N, Skeleton as _, theme as I } from "@veeqo/ui";
6
6
  import T from "swr/immutable";
7
- import { getAsyncOptions as B } from "./index75.js";
8
- import { getFetcherFunction as j } from "./index76.js";
9
- import { SWR_HOOK_OPTIONS as w } from "./index49.js";
7
+ import { getAsyncOptions as B } from "./index76.js";
8
+ import { getFetcherFunction as j } from "./index77.js";
9
+ import { SWR_HOOK_OPTIONS as w } from "./index50.js";
10
10
  import { useBusinessLogic as M } from "./index8.js";
11
- import { useStores as U } from "./index61.js";
11
+ import { useStores as U } from "./index62.js";
12
12
  const Q = k(({ field: t }) => {
13
13
  var h, p;
14
14
  const { FILTERS_DEBOUNCE_INTERVAL_MS: g } = M(), d = C(() => {
package/dist/index28.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),p=require("mobx-react"),l=require("react"),C=require("lodash/debounce"),r=require("@veeqo/ui"),F=require("./index8.cjs"),_=require("./index61.cjs"),j=e=>e&&e.__esModule?e:{default:e},k=j(C),q=p.observer(({field:e})=>{var i;const{FILTERS_DEBOUNCE_INTERVAL_MS:a}=F.useBusinessLogic(),{Filters:{setArrayFilter:o,arrayFilters:u}}=_.useStores(),d=u.get(e.id)||[],[b,c]=l.useState(d),h=l.useCallback(k.default((t,n)=>{o(t,n)},a),[o]),x=t=>{const n=t.map(g=>`${g}`);c(n),h(e.id,n)},S=()=>{c([]),o(e.id,[])};return(i=e.options)!=null&&i.length?s.jsxs(r.Stack,{spacing:"xs",children:[s.jsx(r.Button,{variant:"link",onClick:S,children:"Clear"}),s.jsx(r.ChoiceList,{allowMultiple:!0,title:e.label,options:e.options,selected:b,onChange:t=>x(t)})]}):s.jsx(r.Stack,{spacing:"xs",alignX:"stretch",children:s.jsxs(r.Text,{variant:"bodySmall",children:["No options available for ",e.label]})})});exports.CheckboxFilter=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),p=require("mobx-react"),l=require("react"),C=require("lodash/debounce"),r=require("@veeqo/ui"),F=require("./index8.cjs"),_=require("./index62.cjs"),j=e=>e&&e.__esModule?e:{default:e},k=j(C),q=p.observer(({field:e})=>{var i;const{FILTERS_DEBOUNCE_INTERVAL_MS:a}=F.useBusinessLogic(),{Filters:{setArrayFilter:o,arrayFilters:u}}=_.useStores(),d=u.get(e.id)||[],[b,c]=l.useState(d),h=l.useCallback(k.default((t,n)=>{o(t,n)},a),[o]),x=t=>{const n=t.map(g=>`${g}`);c(n),h(e.id,n)},S=()=>{c([]),o(e.id,[])};return(i=e.options)!=null&&i.length?s.jsxs(r.Stack,{spacing:"xs",children:[s.jsx(r.Button,{variant:"link",onClick:S,children:"Clear"}),s.jsx(r.ChoiceList,{allowMultiple:!0,title:e.label,options:e.options,selected:b,onChange:t=>x(t)})]}):s.jsx(r.Stack,{spacing:"xs",alignX:"stretch",children:s.jsxs(r.Text,{variant:"bodySmall",children:["No options available for ",e.label]})})});exports.CheckboxFilter=q;
package/dist/index28.js CHANGED
@@ -4,7 +4,7 @@ import { useState as S, useCallback as x } from "react";
4
4
  import F from "lodash/debounce";
5
5
  import { Stack as a, Text as k, Button as V, ChoiceList as v } from "@veeqo/ui";
6
6
  import { useBusinessLogic as y } from "./index8.js";
7
- import { useStores as E } from "./index61.js";
7
+ import { useStores as E } from "./index62.js";
8
8
  const j = C(({ field: e }) => {
9
9
  var i;
10
10
  const { FILTERS_DEBOUNCE_INTERVAL_MS: c } = y(), {
package/dist/index29.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),P=require("react"),q=require("mobx-react"),n=require("@veeqo/ui"),E=require("./index70.cjs"),b=require("./index8.cjs"),k=require("./index61.cjs"),v=q.observer(({field:s})=>{const{DEFAULT_DATE_PRESET:c,DEFAULT_DATE_RANGE:l}=b.useBusinessLogic(),{Filters:{dateRangeFilters:i,setRangeFilter:o,clearRangeFilter:g}}=k.useStores(),e=i.get(s.id),[u,R]=P.useState(!1),d=(e==null?void 0:e.filterSelection)||c,a=()=>{const t=new E.RangeFilter;i.set(s.id,t)},F=t=>{const T=t.value===n.DateRanges.TODAY&&e&&(e==null?void 0:e.filterType)===void 0;if(!t||T)return;if(!u){R(!0);return}if(!e){a();return}if(!e)return;const f=t.value;o({dates:{start:e.gte,end:e.lte},key:f,range:e})},S=t=>{if(t){if(!e){a();return}e.setDates(t.start,t.end)}},D=()=>{g(s.id)},h=e?e.selectedRange:l;return r.jsxs(n.Stack,{spacing:"xs",children:[r.jsx(n.Button,{variant:"link",onClick:D,children:"Clear"}),r.jsx(n.DateRangePicker,{"aria-label":`date range for ${s.label}`,selectedPreset:d,setSelectedPreset:F,selectedRange:h,setSelectedRange:S})]})});exports.DateRangeFilter=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),P=require("react"),q=require("mobx-react"),n=require("@veeqo/ui"),E=require("./index71.cjs"),b=require("./index8.cjs"),k=require("./index62.cjs"),v=q.observer(({field:s})=>{const{DEFAULT_DATE_PRESET:c,DEFAULT_DATE_RANGE:l}=b.useBusinessLogic(),{Filters:{dateRangeFilters:i,setRangeFilter:o,clearRangeFilter:g}}=k.useStores(),e=i.get(s.id),[u,R]=P.useState(!1),d=(e==null?void 0:e.filterSelection)||c,a=()=>{const t=new E.RangeFilter;i.set(s.id,t)},F=t=>{const T=t.value===n.DateRanges.TODAY&&e&&(e==null?void 0:e.filterType)===void 0;if(!t||T)return;if(!u){R(!0);return}if(!e){a();return}if(!e)return;const f=t.value;o({dates:{start:e.gte,end:e.lte},key:f,range:e})},S=t=>{if(t){if(!e){a();return}e.setDates(t.start,t.end)}},D=()=>{g(s.id)},h=e?e.selectedRange:l;return r.jsxs(n.Stack,{spacing:"xs",children:[r.jsx(n.Button,{variant:"link",onClick:D,children:"Clear"}),r.jsx(n.DateRangePicker,{"aria-label":`date range for ${s.label}`,selectedPreset:d,setSelectedPreset:F,selectedRange:h,setSelectedRange:S})]})});exports.DateRangeFilter=v;
package/dist/index29.js CHANGED
@@ -2,9 +2,9 @@ import { jsxs as D, jsx as i } from "react/jsx-runtime";
2
2
  import { useState as S } from "react";
3
3
  import { observer as T } from "mobx-react";
4
4
  import { Stack as E, Button as P, DateRangePicker as k, DateRanges as A } from "@veeqo/ui";
5
- import { RangeFilter as v } from "./index70.js";
5
+ import { RangeFilter as v } from "./index71.js";
6
6
  import { useBusinessLogic as C } from "./index8.js";
7
- import { useStores as x } from "./index61.js";
7
+ import { useStores as x } from "./index62.js";
8
8
  const U = T(({ field: r }) => {
9
9
  const { DEFAULT_DATE_PRESET: a, DEFAULT_DATE_RANGE: o } = C(), {
10
10
  Filters: { dateRangeFilters: n, setRangeFilter: l, clearRangeFilter: c }
package/dist/index3.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index7.cjs"),s=require("./index53.cjs"),i=require("./index54.cjs"),o=e=>t.axios.delete(`/api/v2/custom_views/${e}`,s.withCSRF(i.vndAPI));exports.deleteCustomView=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index7.cjs"),s=require("./index54.cjs"),i=require("./index55.cjs"),o=e=>t.axios.delete(`/api/v2/custom_views/${e}`,s.withCSRF(i.vndAPI));exports.deleteCustomView=o;
package/dist/index3.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { axios as t } from "./index7.js";
2
- import { withCSRF as e } from "./index53.js";
3
- import { vndAPI as i } from "./index54.js";
2
+ import { withCSRF as e } from "./index54.js";
3
+ import { vndAPI as i } from "./index55.js";
4
4
  const s = (o) => t.delete(`/api/v2/custom_views/${o}`, e(i));
5
5
  export {
6
6
  s as deleteCustomView
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("./index50.cjs"),j=require("./index89.cjs"),m=require("./index8.cjs"),y=require("./index62.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
@@ -3,10 +3,10 @@ import { useState as m, useCallback as h } from "react";
3
3
  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
- import { FilterChoiceValue as F, MIN_SEARCH_ERROR_MESSAGE as B } from "./index49.js";
7
- import { isTextFilterValid as G } from "./index86.js";
6
+ import { FilterChoiceValue as F, MIN_SEARCH_ERROR_MESSAGE as B } from "./index50.js";
7
+ import { isTextFilterValid as G } from "./index89.js";
8
8
  import { useBusinessLogic as N } from "./index8.js";
9
- import { useStores as j } from "./index61.js";
9
+ import { useStores as j } from "./index62.js";
10
10
  const q = _(({ fields: s, groupId: i }) => {
11
11
  const { FILTERS_DEBOUNCE_INTERVAL_MS: p } = N(), {
12
12
  Filters: { getFiltersForGroup: E, setFilter: l, clearFiltersForGroup: b }
package/dist/index31.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react"),q=require("mobx-react"),_=require("lodash/debounce"),u=require("@veeqo/ui"),j=require("./index115.cjs"),L=require("./index69.cjs"),p=require("./index8.cjs"),y=require("./index61.cjs"),v=i=>i&&i.__esModule?i:{default:i},k=v(_),T=q.observer(({field:i})=>{var x;const{FILTERS_DEBOUNCE_INTERVAL_MS:R}=p.useBusinessLogic(),{Filters:{numberRangeFilters:m,setNumberRangeFilter:M,clearNumberRangeFilter:f}}=y.useStores(),e=m.get(i.id);if(!((x=i.options)!=null&&x.length))return null;const t=e??new L.NumberRangeFilter({filterId:i.id}),[o,c]=d.useState({gte:t.gte??t.gteMin,lte:t.lte??t.lteMax}),g=()=>(m.set(i.id,t),t),b=d.useCallback(k.default(({numberRange:a,lte:n,gte:r})=>{M({numberRange:a,lte:n,gte:r})},R),[M]),F=()=>{c({gte:t.gteMin,lte:t.lteMax}),f(i.id)},h=(a,n)=>{if(e||g(),!Array.isArray(n)||n.length!==2)return;const[r,l]=n;c({gte:r,lte:l}),b({numberRange:t,lte:l,gte:r})},S=a=>{if(e||g(),!e)return;const n=Number(a);if(n>e.lteMax)return;let{lte:r}=e,{gte:l}=e;n>=e.gteMin&&n<=e.lteMax&&(l=n),(!e.lte||n>=e.lte)&&(r=e.lteMax),c({gte:l,lte:r}),b({numberRange:e,lte:r,gte:l})},N=a=>{if(e||g(),!e)return;const n=Number(a);if(n<e.gteMin)return;let{lte:r}=e,{gte:l}=e;n>=e.gteMin&&n<=e.lteMax&&(r=n),(!e.gte||n<=e.gte)&&(l=e.gteMin),c({gte:l,lte:r}),b({numberRange:e,lte:r,gte:l})},C=[o.gte,o.lte];return s.jsxs(u.Stack,{spacing:"xs",alignX:"stretch",children:[s.jsx(u.Button,{variant:"link",onClick:F,children:"Clear"}),s.jsxs(u.Stack,{direction:"horizontal",children:[s.jsx(u.TextField,{label:t.gteMinLabel,type:"number",min:t.gteMin,max:t.lteMax,value:o.gte.toString(),onChange:S}),s.jsx(u.TextField,{label:t.lteMaxLabel,type:"number",min:t.gteMin,max:t.lteMax,value:o.lte.toString(),onChange:N})]}),s.jsx(j.MUISlider,{value:C,onChange:h,min:t.gteMin,max:t.lteMax,valueLabelDisplay:"auto"})]})});exports.NumberRangeFilter=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react"),q=require("mobx-react"),_=require("lodash/debounce"),u=require("@veeqo/ui"),j=require("./index114.cjs"),L=require("./index70.cjs"),p=require("./index8.cjs"),y=require("./index62.cjs"),v=i=>i&&i.__esModule?i:{default:i},k=v(_),T=q.observer(({field:i})=>{var x;const{FILTERS_DEBOUNCE_INTERVAL_MS:R}=p.useBusinessLogic(),{Filters:{numberRangeFilters:m,setNumberRangeFilter:M,clearNumberRangeFilter:f}}=y.useStores(),e=m.get(i.id);if(!((x=i.options)!=null&&x.length))return null;const t=e??new L.NumberRangeFilter({filterId:i.id}),[o,c]=d.useState({gte:t.gte??t.gteMin,lte:t.lte??t.lteMax}),g=()=>(m.set(i.id,t),t),b=d.useCallback(k.default(({numberRange:a,lte:n,gte:r})=>{M({numberRange:a,lte:n,gte:r})},R),[M]),F=()=>{c({gte:t.gteMin,lte:t.lteMax}),f(i.id)},h=(a,n)=>{if(e||g(),!Array.isArray(n)||n.length!==2)return;const[r,l]=n;c({gte:r,lte:l}),b({numberRange:t,lte:l,gte:r})},S=a=>{if(e||g(),!e)return;const n=Number(a);if(n>e.lteMax)return;let{lte:r}=e,{gte:l}=e;n>=e.gteMin&&n<=e.lteMax&&(l=n),(!e.lte||n>=e.lte)&&(r=e.lteMax),c({gte:l,lte:r}),b({numberRange:e,lte:r,gte:l})},N=a=>{if(e||g(),!e)return;const n=Number(a);if(n<e.gteMin)return;let{lte:r}=e,{gte:l}=e;n>=e.gteMin&&n<=e.lteMax&&(r=n),(!e.gte||n<=e.gte)&&(l=e.gteMin),c({gte:l,lte:r}),b({numberRange:e,lte:r,gte:l})},C=[o.gte,o.lte];return s.jsxs(u.Stack,{spacing:"xs",alignX:"stretch",children:[s.jsx(u.Button,{variant:"link",onClick:F,children:"Clear"}),s.jsxs(u.Stack,{direction:"horizontal",children:[s.jsx(u.TextField,{label:t.gteMinLabel,type:"number",min:t.gteMin,max:t.lteMax,value:o.gte.toString(),onChange:S}),s.jsx(u.TextField,{label:t.lteMaxLabel,type:"number",min:t.gteMin,max:t.lteMax,value:o.lte.toString(),onChange:N})]}),s.jsx(j.MUISlider,{value:C,onChange:h,min:t.gteMin,max:t.lteMax,valueLabelDisplay:"auto"})]})});exports.NumberRangeFilter=T;
package/dist/index31.js CHANGED
@@ -3,10 +3,10 @@ import { useState as L, useCallback as v } from "react";
3
3
  import { observer as y } from "mobx-react";
4
4
  import V from "lodash/debounce";
5
5
  import { Stack as x, Button as k, TextField as R } from "@veeqo/ui";
6
- import { MUISlider as E } from "./index115.js";
7
- import { NumberRangeFilter as I } from "./index69.js";
6
+ import { MUISlider as E } from "./index114.js";
7
+ import { NumberRangeFilter as I } from "./index70.js";
8
8
  import { useBusinessLogic as _ } from "./index8.js";
9
- import { useStores as A } from "./index61.js";
9
+ import { useStores as A } from "./index62.js";
10
10
  const $ = y(({ field: a }) => {
11
11
  var b;
12
12
  const { FILTERS_DEBOUNCE_INTERVAL_MS: p } = _(), {
package/dist/index32.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),x=require("mobx-react"),l=require("react"),p=require("lodash/debounce"),n=require("@veeqo/ui"),_=require("./index8.cjs"),j=require("./index61.cjs"),q=e=>e&&e.__esModule?e:{default:e},C=q(p),F=x.observer(({field:e})=>{var i;const{FILTERS_DEBOUNCE_INTERVAL_MS:a}=_.useBusinessLogic(),{Filters:{setFilter:r,filters:u}}=j.useStores(),d=u.get(e.id),[b,c]=l.useState(d),S=l.useCallback(C.default((t,o)=>{r(t,o)},a),[r]),g=t=>{const o=`${t[0]}`;c(o),S(e.id,o)},h=()=>{c(""),r(e.id,"")};return(i=e.options)!=null&&i.length?s.jsxs(n.Stack,{spacing:"xs",children:[s.jsx(n.Button,{variant:"link",onClick:h,children:"Clear"}),s.jsx(n.ChoiceList,{title:e.label,options:e.options,selected:[b],onChange:t=>g(t)})]}):s.jsx(n.Stack,{spacing:"xs",alignX:"stretch",children:s.jsxs(n.Text,{variant:"bodySmall",children:["No options available for ",e.label]})})});exports.RadioFilter=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),x=require("mobx-react"),l=require("react"),p=require("lodash/debounce"),n=require("@veeqo/ui"),_=require("./index8.cjs"),j=require("./index62.cjs"),q=e=>e&&e.__esModule?e:{default:e},C=q(p),F=x.observer(({field:e})=>{var i;const{FILTERS_DEBOUNCE_INTERVAL_MS:a}=_.useBusinessLogic(),{Filters:{setFilter:r,filters:u}}=j.useStores(),d=u.get(e.id),[b,c]=l.useState(d),S=l.useCallback(C.default((t,o)=>{r(t,o)},a),[r]),g=t=>{const o=`${t[0]}`;c(o),S(e.id,o)},h=()=>{c(""),r(e.id,"")};return(i=e.options)!=null&&i.length?s.jsxs(n.Stack,{spacing:"xs",children:[s.jsx(n.Button,{variant:"link",onClick:h,children:"Clear"}),s.jsx(n.ChoiceList,{title:e.label,options:e.options,selected:[b],onChange:t=>g(t)})]}):s.jsx(n.Stack,{spacing:"xs",alignX:"stretch",children:s.jsxs(n.Text,{variant:"bodySmall",children:["No options available for ",e.label]})})});exports.RadioFilter=F;
package/dist/index32.js CHANGED
@@ -4,7 +4,7 @@ import { useState as S, useCallback as C } from "react";
4
4
  import x from "lodash/debounce";
5
5
  import { Stack as c, Text as F, Button as V, ChoiceList as f } from "@veeqo/ui";
6
6
  import { useBusinessLogic as k } from "./index8.js";
7
- import { useStores as v } from "./index61.js";
7
+ import { useStores as v } from "./index62.js";
8
8
  const j = g(({ field: e }) => {
9
9
  var i;
10
10
  const { FILTERS_DEBOUNCE_INTERVAL_MS: a } = k(), {
package/dist/index33.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("mobx-react"),s=require("@veeqo/ui"),i=require("./index61.cjs"),l=require("./index34.cjs"),n=o.observer(()=>{const{Filters:{isFiltersDropdownVisible:r,toggleFiltersDropdownVisible:t}}=i.useStores();return e.jsx(s.Dropdown,{id:"filters-dropdown",ctaProps:{iconSlot:e.jsx(s.FilterIcon,{}),children:"Filters",loading:!1,disabled:!1,className:"act-toggle-filter",style:{borderRadius:s.theme.radius.base}},style:{padding:0},shouldShow:r,setShouldShow:t,children:e.jsx(l.FiltersList,{})})});exports.FiltersDropdown=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("mobx-react"),s=require("@veeqo/ui"),i=require("./index62.cjs"),l=require("./index34.cjs"),n=o.observer(()=>{const{Filters:{isFiltersDropdownVisible:r,toggleFiltersDropdownVisible:t}}=i.useStores();return e.jsx(s.Dropdown,{id:"filters-dropdown",ctaProps:{iconSlot:e.jsx(s.FilterIcon,{}),children:"Filters",loading:!1,disabled:!1,className:"act-toggle-filter",style:{borderRadius:s.theme.radius.base}},style:{padding:0},shouldShow:r,setShouldShow:t,children:e.jsx(l.FiltersList,{})})});exports.FiltersDropdown=n;
package/dist/index33.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { observer as s } from "mobx-react";
3
3
  import { Dropdown as i, theme as t, FilterIcon as l } from "@veeqo/ui";
4
- import { useStores as d } from "./index61.js";
4
+ import { useStores as d } from "./index62.js";
5
5
  import { FiltersList as n } from "./index34.js";
6
6
  const h = s(() => {
7
7
  const {
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("./index107.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 "./index107.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/index35.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("mobx-react"),n=require("@veeqo/ui"),t=require("./index49.cjs"),o=require("./index30.cjs"),u=require("./index31.cjs"),F=require("./index29.cjs"),a=require("./index27.cjs"),h=require("./index32.cjs"),x=require("./index26.cjs"),p=require("./index28.cjs"),R=c.observer(({data:i})=>{const l=i.fields.filter(e=>e.filterType===t.FilterChoiceValue.TEXT||e.filterType===t.FilterChoiceValue.NUMBER),s=i.fields.filter(e=>e.filterType!==t.FilterChoiceValue.TEXT&&e.filterType!==t.FilterChoiceValue.NUMBER);return r.jsx(n.Accordion,{iconSlot:i.icon,label:i.label,children:r.jsxs(n.FlexCol,{children:[l.length>0?r.jsx(o.MultipleFieldFilter,{fields:l,groupId:i.id}):null,s.map(e=>{switch(e.filterType){case t.FilterChoiceValue.CHECKBOX:return e.fetchAsyncFilterOptions?r.jsx(x.AsyncCheckboxFilter,{field:e}):r.jsx(p.CheckboxFilter,{field:e});case t.FilterChoiceValue.RADIO:return e.fetchAsyncFilterOptions?r.jsx(a.AsyncRadioFilter,{field:e}):r.jsx(h.RadioFilter,{field:e});case t.FilterChoiceValue.DATE_RANGE:return r.jsx(F.DateRangeFilter,{field:e});case t.FilterChoiceValue.NUMBER_RANGE:return r.jsx(u.NumberRangeFilter,{field:e});default:return r.jsxs("div",{children:[e.id,": Unknown filter type: ",e.filterType]},e.id)}})]})})});exports.FilterGroup=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("mobx-react"),n=require("@veeqo/ui"),t=require("./index50.cjs"),o=require("./index30.cjs"),u=require("./index31.cjs"),F=require("./index29.cjs"),a=require("./index27.cjs"),h=require("./index32.cjs"),x=require("./index26.cjs"),p=require("./index28.cjs"),R=c.observer(({data:i})=>{const l=i.fields.filter(e=>e.filterType===t.FilterChoiceValue.TEXT||e.filterType===t.FilterChoiceValue.NUMBER),s=i.fields.filter(e=>e.filterType!==t.FilterChoiceValue.TEXT&&e.filterType!==t.FilterChoiceValue.NUMBER);return r.jsx(n.Accordion,{iconSlot:i.icon,label:i.label,children:r.jsxs(n.FlexCol,{children:[l.length>0?r.jsx(o.MultipleFieldFilter,{fields:l,groupId:i.id}):null,s.map(e=>{switch(e.filterType){case t.FilterChoiceValue.CHECKBOX:return e.fetchAsyncFilterOptions?r.jsx(x.AsyncCheckboxFilter,{field:e}):r.jsx(p.CheckboxFilter,{field:e});case t.FilterChoiceValue.RADIO:return e.fetchAsyncFilterOptions?r.jsx(a.AsyncRadioFilter,{field:e}):r.jsx(h.RadioFilter,{field:e});case t.FilterChoiceValue.DATE_RANGE:return r.jsx(F.DateRangeFilter,{field:e});case t.FilterChoiceValue.NUMBER_RANGE:return r.jsx(u.NumberRangeFilter,{field:e});default:return r.jsxs("div",{children:[e.id,": Unknown filter type: ",e.filterType]},e.id)}})]})})});exports.FilterGroup=R;
package/dist/index35.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
2
  import { observer as p } from "mobx-react";
3
3
  import { Accordion as s, FlexCol as c } from "@veeqo/ui";
4
- import { FilterChoiceValue as t } from "./index49.js";
4
+ import { FilterChoiceValue as t } from "./index50.js";
5
5
  import { MultipleFieldFilter as m } from "./index30.js";
6
6
  import { NumberRangeFilter as f } from "./index31.js";
7
7
  import { DateRangeFilter as u } from "./index29.js";
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("./index104.cjs"),Z=require("./index8.cjs"),$=require("./index61.cjs"),b=require("./index105.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("./index66.cjs"),G=require("./index63.cjs"),J=require("./index40.cjs"),K=require("./index43.cjs"),Q=require("./index57.cjs"),X=require("./index103.cjs"),Z=require("./index8.cjs"),$=require("./index62.cjs"),b=require("./index104.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
@@ -2,15 +2,15 @@ import { jsxs as H, Fragment as U, jsx as s } from "react/jsx-runtime";
2
2
  import { useState as $, useRef as z, useMemo as S } from "react";
3
3
  import { ViewTab as G, Loader as J, theme as K } from "@veeqo/ui";
4
4
  import { observer as Q } from "mobx-react";
5
- import { useCustomViews as X } from "./index65.js";
6
- import { useViews as Z } from "./index62.js";
5
+ import { useCustomViews as X } from "./index66.js";
6
+ import { useViews as Z } from "./index63.js";
7
7
  import { PillNotifications as b } from "./index40.js";
8
8
  import { ViewDropdowns as ee } from "./index43.js";
9
- import { useDropdownManager as oe } from "./index56.js";
10
- import { useViewCounts as ie } from "./index104.js";
9
+ import { useDropdownManager as oe } from "./index57.js";
10
+ import { useViewCounts as ie } from "./index103.js";
11
11
  import { useBusinessLogic as te } from "./index8.js";
12
- import { useStores as re } from "./index61.js";
13
- import { Confirmation as se } from "./index105.js";
12
+ import { useStores as re } from "./index62.js";
13
+ import { Confirmation as se } from "./index104.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 },
package/dist/index37.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),e=require("@veeqo/ui"),r=require("./index57.cjs"),n=({hideActionsPopover:i})=>{const{duplicateView:s}=r.useDuplicateActiveView(),c=()=>{s(),i()};return t.jsx(e.Button,{style:{width:"100%"},iconSlot:t.jsx(e.AddIcon,{width:e.theme.sizes.sm,height:e.theme.sizes.sm,color:e.theme.colors.neutral.ink.base}),variant:"flat",onClick:c,children:"Create View"})};exports.CreateView=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),e=require("@veeqo/ui"),r=require("./index58.cjs"),n=({hideActionsPopover:i})=>{const{duplicateView:s}=r.useDuplicateActiveView(),c=()=>{s(),i()};return t.jsx(e.Button,{style:{width:"100%"},iconSlot:t.jsx(e.AddIcon,{width:e.theme.sizes.sm,height:e.theme.sizes.sm,color:e.theme.colors.neutral.ink.base}),variant:"flat",onClick:c,children:"Create View"})};exports.CreateView=n;
package/dist/index37.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { Button as s, AddIcon as c, theme as e } from "@veeqo/ui";
3
- import { useDuplicateActiveView as n } from "./index57.js";
3
+ import { useDuplicateActiveView as n } from "./index58.js";
4
4
  const d = ({ hideActionsPopover: i }) => {
5
5
  const { duplicateView: o } = n(), r = () => {
6
6
  o(), i();
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("./index65.cjs"),f=require("./index45.cjs"),D=require("./index8.cjs"),d=60,_=({tab:n,viewName:w,shouldShowDropdown:p,onCloseDropdown:v,onDelete:g,onSave:x,headerText:j,e2ePrefix:a,activeOption:C})=>{const{VIEW_TYPE:S}=D.useBusinessLogic(),{canDeleteCustomViews:u,canUpdateCustomViews:r,canShareCustomViews:l,defaultCustomViewId:m}=I.useCustomViews({type:S}),b=n.id===m,{handleSubmit:y,control:c,formState:h}=o.useForm({mode:"onChange",defaultValues:{viewName:w,isDefault:n.id===m,shareOption:C.key}}),V=Object.values(f.SHARING_OPTIONS).map(s=>({key:s.key,value:s.key,label:s.text}));if(!p)return null;const k=n.originalView===void 0;return e.jsx("form",{onSubmit:y(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||r||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-${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&&k||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:d,hint:`${i.length} / ${d} 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:T=>l&&s(T),options:V,selected:i})})]}),e.jsx(o.Controller,{name:"isDefault",control:c,render:({onChange:s,value:i})=>e.jsx(t.Checkbox,{disabled:b,name:"makeViewDefault",label:"Make default view",checked:i,onChange:s,hint:"This will be the view this page will always open on"})})]})]})})};exports.EditDropdown=_;exports.VIEWS_TITLE_MAX_CHAR_LIMIT=d;
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("./index66.cjs"),f=require("./index45.cjs"),D=require("./index8.cjs"),d=60,_=({tab:n,viewName:w,shouldShowDropdown:p,onCloseDropdown:v,onDelete:g,onSave:x,headerText:j,e2ePrefix:a,activeOption:C})=>{const{VIEW_TYPE:S}=D.useBusinessLogic(),{canDeleteCustomViews:u,canUpdateCustomViews:r,canShareCustomViews:l,defaultCustomViewId:m}=I.useCustomViews({type:S}),b=n.id===m,{handleSubmit:y,control:c,formState:h}=o.useForm({mode:"onChange",defaultValues:{viewName:w,isDefault:n.id===m,shareOption:C.key}}),V=Object.values(f.SHARING_OPTIONS).map(s=>({key:s.key,value:s.key,label:s.text}));if(!p)return null;const k=n.originalView===void 0;return e.jsx("form",{onSubmit:y(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||r||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-${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&&k||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:d,hint:`${i.length} / ${d} 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:T=>l&&s(T),options:V,selected:i})})]}),e.jsx(o.Controller,{name:"isDefault",control:c,render:({onChange:s,value:i})=>e.jsx(t.Checkbox,{disabled:b,name:"makeViewDefault",label:"Make default view",checked:i,onChange:s,hint:"This will be the view this page will always open on"})})]})]})})};exports.EditDropdown=_;exports.VIEWS_TITLE_MAX_CHAR_LIMIT=d;
package/dist/index38.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
2
  import { Card as x, Alert as O, Stack as c, TextField as _, Text as $, SegmentedControl as A, Checkbox as E, Button as p } from "@veeqo/ui";
3
3
  import { useForm as L, Controller as d } from "react-hook-form";
4
- import { useCustomViews as j } from "./index65.js";
4
+ import { useCustomViews as j } from "./index66.js";
5
5
  import { SHARING_OPTIONS as F } from "./index45.js";
6
6
  import { useBusinessLogic as M } from "./index8.js";
7
7
  const w = 60, z = ({
package/dist/index39.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./index99.cjs"),g=require("./index52.cjs"),j=require("./index51.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("./index102.cjs"),g=require("./index53.cjs"),j=require("./index52.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/index39.js CHANGED
@@ -1,7 +1,7 @@
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 "./index99.js";
3
- import { useModal as k } from "./index52.js";
4
- import { ModalId as T } from "./index51.js";
2
+ import { MenuItems as M, Item as l, Divider as h } from "./index102.js";
3
+ import { useModal as k } from "./index53.js";
4
+ import { ModalId as T } from "./index52.js";
5
5
  const N = ({
6
6
  tab: e,
7
7
  onMakeDefault: n,
package/dist/index4.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index7.cjs"),t=require("./index53.cjs"),s=require("./index54.cjs"),n=(r={})=>e.axios.patch("/current_user",{user:r},t.withCSRF(s.vndAPI));exports.patchCurrentUser=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index7.cjs"),t=require("./index54.cjs"),s=require("./index55.cjs"),n=(r={})=>e.axios.patch("/current_user",{user:r},t.withCSRF(s.vndAPI));exports.patchCurrentUser=n;
package/dist/index4.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { axios as t } from "./index7.js";
2
- import { withCSRF as o } from "./index53.js";
3
- import { vndAPI as e } from "./index54.js";
2
+ import { withCSRF as o } from "./index54.js";
3
+ import { vndAPI as e } from "./index55.js";
4
4
  const s = (r = {}) => t.patch("/current_user", { user: r }, o(e));
5
5
  export {
6
6
  s as patchCurrentUser
package/dist/index40.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),P=require("mobx-react"),g=require("./index62.cjs"),o=require("framer-motion"),m=require("./index61.cjs"),v=require("./index101.cjs"),f=require("./index42.cjs"),h=P.observer(({tabType:s,isActive:r,shouldShowCreateViewNotification:a,handleSaveDraft:i})=>{var t;const{Filters:{hasUnsavedChanges:c,discardChanges:l,activeViewId:n}}=m.useStores(),{viewsMap:u}=g.useViews(),d=n&&((t=u.get(n))==null?void 0:t.label);return e.jsxs(e.Fragment,{children:[e.jsx(o.AnimatePresence,{children:s==="draft"&&r&&a&&e.jsx(v.DraftPill,{onClick:i})}),e.jsx(o.AnimatePresence,{children:c&&r&&s==="saved"&&e.jsx(f.UnsavedChangesPill,{viewName:d,onDiscard:()=>l(),onSaveDraft:i})})]})});exports.PillNotifications=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),P=require("mobx-react"),g=require("./index63.cjs"),o=require("framer-motion"),m=require("./index62.cjs"),v=require("./index107.cjs"),f=require("./index42.cjs"),h=P.observer(({tabType:s,isActive:r,shouldShowCreateViewNotification:a,handleSaveDraft:i})=>{var t;const{Filters:{hasUnsavedChanges:c,discardChanges:l,activeViewId:n}}=m.useStores(),{viewsMap:u}=g.useViews(),d=n&&((t=u.get(n))==null?void 0:t.label);return e.jsxs(e.Fragment,{children:[e.jsx(o.AnimatePresence,{children:s==="draft"&&r&&a&&e.jsx(v.DraftPill,{onClick:i})}),e.jsx(o.AnimatePresence,{children:c&&r&&s==="saved"&&e.jsx(f.UnsavedChangesPill,{viewName:d,onDiscard:()=>l(),onSaveDraft:i})})]})});exports.PillNotifications=h;
package/dist/index40.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { jsxs as f, Fragment as p, jsx as r } from "react/jsx-runtime";
2
2
  import { observer as h } from "mobx-react";
3
- import { useViews as v } from "./index62.js";
3
+ import { useViews as v } from "./index63.js";
4
4
  import { AnimatePresence as n } from "framer-motion";
5
- import { useStores as g } from "./index61.js";
6
- import { DraftPill as w } from "./index101.js";
5
+ import { useStores as g } from "./index62.js";
6
+ import { DraftPill as w } from "./index107.js";
7
7
  import { UnsavedChangesPill as C } from "./index42.js";
8
8
  const U = h(
9
9
  ({
package/dist/index41.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),n=require("react"),m=require("./index100.cjs"),g=require("./index65.cjs"),S=require("./index62.cjs"),b=require("./index4.cjs"),y=require("./index8.cjs"),V=require("./index61.cjs"),p=require("./index12.cjs"),q=()=>{const{VIEW_TYPE:u}=y.useBusinessLogic(),{sortedCustomViews:s,isLoading:a}=S.useViews(),{mutate:c}=g.useCustomViews({type:u}),[l,t]=n.useState(s);n.useEffect(()=>{t(s)},[s]);const{Notifications:{notify:w}}=V.useStores(),d=async o=>{t(o);const r=o.map(e=>e.id);try{await b.patchCurrentUser({user_setting_attributes:{custom_view_positions:{order:r}}}),await c(e=>({...e,settings:{...e.settings,custom_view_positions:{...e.settings.custom_view_positions,order:r}}}),{revalidate:!1})}catch{t(s),w({type:"error",text:"Failed to update order of views"})}};return a||!s.length?null:i.jsx(p.ErrorBoundary,{children:i.jsx(m.LegacySortableViews,{views:l,onChange:d,className:"act-sortable-views"})})};exports.SortableViews=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),n=require("react"),m=require("./index105.cjs"),g=require("./index66.cjs"),S=require("./index63.cjs"),b=require("./index4.cjs"),y=require("./index8.cjs"),V=require("./index62.cjs"),p=require("./index12.cjs"),q=()=>{const{VIEW_TYPE:u}=y.useBusinessLogic(),{sortedCustomViews:s,isLoading:a}=S.useViews(),{mutate:c}=g.useCustomViews({type:u}),[l,t]=n.useState(s);n.useEffect(()=>{t(s)},[s]);const{Notifications:{notify:w}}=V.useStores(),d=async o=>{t(o);const r=o.map(e=>e.id);try{await b.patchCurrentUser({user_setting_attributes:{custom_view_positions:{order:r}}}),await c(e=>({...e,settings:{...e.settings,custom_view_positions:{...e.settings.custom_view_positions,order:r}}}),{revalidate:!1})}catch{t(s),w({type:"error",text:"Failed to update order of views"})}};return a||!s.length?null:i.jsx(p.ErrorBoundary,{children:i.jsx(m.LegacySortableViews,{views:l,onChange:d,className:"act-sortable-views"})})};exports.SortableViews=q;
package/dist/index41.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { useState as f, useEffect as l } from "react";
3
- import { LegacySortableViews as w } from "./index100.js";
4
- import { useCustomViews as d } from "./index65.js";
5
- import { useViews as g } from "./index62.js";
3
+ import { LegacySortableViews as w } from "./index105.js";
4
+ import { useCustomViews as d } from "./index66.js";
5
+ import { useViews as g } from "./index63.js";
6
6
  import { patchCurrentUser as _ } from "./index4.js";
7
7
  import { useBusinessLogic as S } from "./index8.js";
8
- import { useStores as b } from "./index61.js";
8
+ import { useStores as b } from "./index62.js";
9
9
  import { ErrorBoundary as v } from "./index12.js";
10
10
  const T = () => {
11
11
  const { VIEW_TYPE: m } = S(), { sortedCustomViews: s, isLoading: a } = g(), { mutate: n } = d({ type: m }), [u, e] = f(s);
package/dist/index42.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("@veeqo/ui"),c=require("mobx-react"),l=require("./index60.cjs"),n=require("./index106.cjs"),d=i.theme.colors.secondary.blue.base,h=c.observer(({onDiscard:r,viewName:s,onSaveDraft:a})=>{const{saveChanges:o,isSubmitting:t}=l.usePersistUnsavedChanges();return e.jsx(n.Notification,{children:e.jsx(n.Container,{children:e.jsxs(i.Stack,{direction:"horizontal",alignY:"center",children:[e.jsx(i.AttentionIcon,{role:"img","aria-label":"attention",color:d}),e.jsxs(n.Wrap,{children:[e.jsx(n.Text,{variant:"body",margin:"0 4px 0 0",children:"You have unsaved changes to"}),s&&e.jsxs(n.Bold,{variant:"bodyBoldDark",children:["'",s,"'"]})]}),e.jsx(i.Button,{onClick:r,size:"sm",children:"Discard changes"}),e.jsxs(i.ActionMenu,{ctaProps:{children:"Save changes",variant:"primary"},children:[e.jsx(i.ActionMenu.Item,{onAction:a,isDisabled:t,children:e.jsx(n.Text,{variant:"body",children:"Create new view"})}),e.jsx(i.ActionMenu.Item,{onAction:o,isDisabled:t,children:e.jsxs(i.Stack,{direction:"horizontal",spacing:1,alignY:"center",children:[e.jsx(n.Text,{variant:"body",children:"Save changes to"}),e.jsx(n.Text,{variant:"bodyBold",children:s})]})})]})]})})})});exports.UnsavedChangesPill=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("@veeqo/ui"),c=require("mobx-react"),l=require("./index61.cjs"),n=require("./index108.cjs"),d=i.theme.colors.secondary.blue.base,h=c.observer(({onDiscard:r,viewName:s,onSaveDraft:a})=>{const{saveChanges:o,isSubmitting:t}=l.usePersistUnsavedChanges();return e.jsx(n.Notification,{children:e.jsx(n.Container,{children:e.jsxs(i.Stack,{direction:"horizontal",alignY:"center",children:[e.jsx(i.AttentionIcon,{role:"img","aria-label":"attention",color:d}),e.jsxs(n.Wrap,{children:[e.jsx(n.Text,{variant:"body",margin:"0 4px 0 0",children:"You have unsaved changes to"}),s&&e.jsxs(n.Bold,{variant:"bodyBoldDark",children:["'",s,"'"]})]}),e.jsx(i.Button,{onClick:r,size:"sm",children:"Discard changes"}),e.jsxs(i.ActionMenu,{ctaProps:{children:"Save changes",variant:"primary"},children:[e.jsx(i.ActionMenu.Item,{onAction:a,isDisabled:t,children:e.jsx(n.Text,{variant:"body",children:"Create new view"})}),e.jsx(i.ActionMenu.Item,{onAction:o,isDisabled:t,children:e.jsxs(i.Stack,{direction:"horizontal",spacing:1,alignY:"center",children:[e.jsx(n.Text,{variant:"body",children:"Save changes to"}),e.jsx(n.Text,{variant:"bodyBold",children:s})]})})]})]})})})});exports.UnsavedChangesPill=h;
package/dist/index42.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx as n, jsxs as e } from "react/jsx-runtime";
2
2
  import { Stack as a, AttentionIcon as d, theme as h, Button as m, ActionMenu as o } from "@veeqo/ui";
3
3
  import { observer as g } from "mobx-react";
4
- import { usePersistUnsavedChanges as v } from "./index60.js";
5
- import { Notification as b, Container as p, Wrap as u, Text as i, Bold as y } from "./index106.js";
4
+ import { usePersistUnsavedChanges as v } from "./index61.js";
5
+ import { Notification as b, Container as p, Wrap as u, Text as i, Bold as y } from "./index108.js";
6
6
  const C = h.colors.secondary.blue.base, S = g(({ onDiscard: c, viewName: r, onSaveDraft: l }) => {
7
7
  const { saveChanges: s, isSubmitting: t } = v();
8
8
  return /* @__PURE__ */ n(b, { children: /* @__PURE__ */ n(p, { children: /* @__PURE__ */ e(a, { direction: "horizontal", alignY: "center", children: [
package/dist/index44.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),m=require("mobx-react"),i=require("@veeqo/ui"),u=require("./index102.cjs"),q=require("./index41.cjs"),f=require("./index62.cjs"),p=require("./index63.cjs"),v=require("./index37.cjs"),c=require("./index36.cjs"),b=require("./index8.cjs"),C=require("./index61.cjs"),a=require("./index12.cjs"),L=m.observer(({className:l,appearance:d})=>{const{IS_VIEWS_READONLY:r}=b.useBusinessLogic(),{Views:{draftViewsList:w}}=C.useStores(),{viewsArray:x,fixedViews:V}=f.useViews(),[n,o]=t.useState(!1),[h,j]=t.useState(null),S=()=>o(!1);return p.useViewUrlChange(),e.jsxs(e.Fragment,{children:[e.jsxs(i.ViewsContainer,{onClickMenu:r?void 0:()=>o(!0),ariaMenuControls:r?void 0:"views-menu",ariaMenuExpanded:r?!1:n,ref:j,className:l,appearance:d,children:[x.map(s=>e.jsx(a.ErrorBoundary,{children:e.jsx(c.ViewTab,{view:s})},s.id)),w.map(s=>e.jsx(a.ErrorBoundary,{children:e.jsx(c.ViewTab,{view:s})},s.id))]}),!r&&n&&e.jsx(i.Popover,{id:"views-menu",anchorElement:h,placement:"bottom",onShouldClose:()=>o(!1),children:e.jsxs(i.Card.Surface,{children:[e.jsx(u.FixedViews,{children:V.map(s=>e.jsx(i.Text,{variant:"placeholder",children:s.label},s.id||s.label))}),e.jsx(q.SortableViews,{}),e.jsx(u.Divider,{}),e.jsx(v.CreateView,{hideActionsPopover:S})]})})]})});exports.ViewsList=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),m=require("mobx-react"),i=require("@veeqo/ui"),u=require("./index106.cjs"),q=require("./index41.cjs"),f=require("./index63.cjs"),p=require("./index64.cjs"),v=require("./index37.cjs"),c=require("./index36.cjs"),b=require("./index8.cjs"),C=require("./index62.cjs"),a=require("./index12.cjs"),L=m.observer(({className:l,appearance:d})=>{const{IS_VIEWS_READONLY:r}=b.useBusinessLogic(),{Views:{draftViewsList:w}}=C.useStores(),{viewsArray:x,fixedViews:V}=f.useViews(),[n,o]=t.useState(!1),[h,j]=t.useState(null),S=()=>o(!1);return p.useViewUrlChange(),e.jsxs(e.Fragment,{children:[e.jsxs(i.ViewsContainer,{onClickMenu:r?void 0:()=>o(!0),ariaMenuControls:r?void 0:"views-menu",ariaMenuExpanded:r?!1:n,ref:j,className:l,appearance:d,children:[x.map(s=>e.jsx(a.ErrorBoundary,{children:e.jsx(c.ViewTab,{view:s})},s.id)),w.map(s=>e.jsx(a.ErrorBoundary,{children:e.jsx(c.ViewTab,{view:s})},s.id))]}),!r&&n&&e.jsx(i.Popover,{id:"views-menu",anchorElement:h,placement:"bottom",onShouldClose:()=>o(!1),children:e.jsxs(i.Card.Surface,{children:[e.jsx(u.FixedViews,{children:V.map(s=>e.jsx(i.Text,{variant:"placeholder",children:s.label},s.id||s.label))}),e.jsx(q.SortableViews,{}),e.jsx(u.Divider,{}),e.jsx(v.CreateView,{hideActionsPopover:S})]})})]})});exports.ViewsList=L;
package/dist/index44.js CHANGED
@@ -2,14 +2,14 @@ import { jsxs as s, Fragment as V, jsx as e } from "react/jsx-runtime";
2
2
  import { useState as n } from "react";
3
3
  import { observer as v } from "mobx-react";
4
4
  import { ViewsContainer as S, Popover as x, Card as C, Text as L } from "@veeqo/ui";
5
- import { FixedViews as A, Divider as E } from "./index102.js";
5
+ import { FixedViews as A, Divider as E } from "./index106.js";
6
6
  import { SortableViews as b } from "./index41.js";
7
- import { useViews as M } from "./index62.js";
8
- import { useViewUrlChange as T } from "./index63.js";
7
+ import { useViews as M } from "./index63.js";
8
+ import { useViewUrlChange as T } from "./index64.js";
9
9
  import { CreateView as g } from "./index37.js";
10
10
  import { ViewTab as m } from "./index36.js";
11
11
  import { useBusinessLogic as R } from "./index8.js";
12
- import { useStores as j } from "./index61.js";
12
+ import { useStores as j } from "./index62.js";
13
13
  import { ErrorBoundary as l } from "./index12.js";
14
14
  const q = v(({ className: a, appearance: d }) => {
15
15
  const { IS_VIEWS_READONLY: r } = R(), {