@star-insure/sdk 6.4.0 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/sdk.es101.js +1 -1
  3. package/dist/sdk.es102.js +1 -1
  4. package/dist/sdk.es103.js +1 -1
  5. package/dist/sdk.es104.js +2 -2
  6. package/dist/sdk.es105.js +3 -3
  7. package/dist/sdk.es106.js +3 -3
  8. package/dist/sdk.es107.js +2 -2
  9. package/dist/sdk.es108.js +2 -2
  10. package/dist/sdk.es109.js +2 -2
  11. package/dist/sdk.es110.js +3 -3
  12. package/dist/sdk.es111.js +3 -3
  13. package/dist/sdk.es112.js +5 -5
  14. package/dist/sdk.es113.js +5 -5
  15. package/dist/sdk.es114.js +3 -3
  16. package/dist/sdk.es115.js +3 -3
  17. package/dist/sdk.es116.js +2 -2
  18. package/dist/sdk.es117.js +3 -3
  19. package/dist/sdk.es118.js +3 -3
  20. package/dist/sdk.es119.js +3 -3
  21. package/dist/sdk.es120.js +2 -2
  22. package/dist/sdk.es121.js +2 -2
  23. package/dist/sdk.es122.js +2 -2
  24. package/dist/sdk.es123.js +3 -3
  25. package/dist/sdk.es124.js +3 -3
  26. package/dist/sdk.es125.js +3 -3
  27. package/dist/sdk.es126.js +3 -3
  28. package/dist/sdk.es127.js +3 -3
  29. package/dist/sdk.es128.js +3 -3
  30. package/dist/sdk.es129.js +2 -2
  31. package/dist/sdk.es130.js +3 -3
  32. package/dist/sdk.es131.js +3 -3
  33. package/dist/sdk.es132.js +2 -2
  34. package/dist/sdk.es133.js +2 -2
  35. package/dist/sdk.es139.js +5 -7
  36. package/dist/sdk.es139.js.map +1 -1
  37. package/dist/sdk.es140.js +7 -10
  38. package/dist/sdk.es140.js.map +1 -1
  39. package/dist/sdk.es141.js +10 -13
  40. package/dist/sdk.es141.js.map +1 -1
  41. package/dist/sdk.es142.js +12 -12
  42. package/dist/sdk.es142.js.map +1 -1
  43. package/dist/sdk.es143.js +13 -5
  44. package/dist/sdk.es143.js.map +1 -1
  45. package/dist/sdk.es144.js +6 -25
  46. package/dist/sdk.es144.js.map +1 -1
  47. package/dist/sdk.es145.js +5 -99
  48. package/dist/sdk.es145.js.map +1 -1
  49. package/dist/sdk.es146.js +11 -47
  50. package/dist/sdk.es146.js.map +1 -1
  51. package/dist/sdk.es147.js +7 -9
  52. package/dist/sdk.es147.js.map +1 -1
  53. package/dist/sdk.es148.js +6 -9
  54. package/dist/sdk.es148.js.map +1 -1
  55. package/dist/sdk.es149.js +25 -14
  56. package/dist/sdk.es149.js.map +1 -1
  57. package/dist/sdk.es150.js +99 -10
  58. package/dist/sdk.es150.js.map +1 -1
  59. package/dist/sdk.es151.js +47 -6
  60. package/dist/sdk.es151.js.map +1 -1
  61. package/dist/sdk.es152.js +9 -5
  62. package/dist/sdk.es152.js.map +1 -1
  63. package/dist/sdk.es153.js +9 -10
  64. package/dist/sdk.es153.js.map +1 -1
  65. package/dist/sdk.es154.js +13 -7
  66. package/dist/sdk.es154.js.map +1 -1
  67. package/dist/sdk.es155.js +10 -6
  68. package/dist/sdk.es155.js.map +1 -1
  69. package/dist/sdk.es160.js +1 -1
  70. package/dist/sdk.es36.js +5 -5
  71. package/dist/sdk.es37.js +11 -11
  72. package/dist/sdk.es38.js +14 -14
  73. package/dist/sdk.es39.js +1 -1
  74. package/dist/sdk.es40.js +3 -3
  75. package/dist/sdk.es42.js +1 -1
  76. package/dist/sdk.es43.js +7 -21
  77. package/dist/sdk.es43.js.map +1 -1
  78. package/dist/sdk.es44.js +2 -80
  79. package/dist/sdk.es44.js.map +1 -1
  80. package/dist/sdk.es45.js +24 -75
  81. package/dist/sdk.es45.js.map +1 -1
  82. package/dist/sdk.es46.js +597 -227
  83. package/dist/sdk.es46.js.map +1 -1
  84. package/dist/sdk.es47.js +21 -25
  85. package/dist/sdk.es47.js.map +1 -1
  86. package/dist/sdk.es48.js +79 -7
  87. package/dist/sdk.es48.js.map +1 -1
  88. package/dist/sdk.es49.js +77 -2
  89. package/dist/sdk.es49.js.map +1 -1
  90. package/dist/sdk.es50.js +231 -25
  91. package/dist/sdk.es50.js.map +1 -1
  92. package/dist/sdk.es51.js +25 -601
  93. package/dist/sdk.es51.js.map +1 -1
  94. package/dist/sdk.es52.js +1 -1
  95. package/dist/sdk.es53.js +9 -2
  96. package/dist/sdk.es53.js.map +1 -1
  97. package/dist/sdk.es54.js +7 -2
  98. package/dist/sdk.es54.js.map +1 -1
  99. package/dist/sdk.es55.js +7 -8
  100. package/dist/sdk.es55.js.map +1 -1
  101. package/dist/sdk.es56.js +3 -5
  102. package/dist/sdk.es56.js.map +1 -1
  103. package/dist/sdk.es57.js +15 -7
  104. package/dist/sdk.es57.js.map +1 -1
  105. package/dist/sdk.es58.js +8 -4
  106. package/dist/sdk.es58.js.map +1 -1
  107. package/dist/sdk.es59.js +9 -15
  108. package/dist/sdk.es59.js.map +1 -1
  109. package/dist/sdk.es60.js +8 -8
  110. package/dist/sdk.es60.js.map +1 -1
  111. package/dist/sdk.es61.js +638 -9
  112. package/dist/sdk.es61.js.map +1 -1
  113. package/dist/sdk.es62.js +74 -9
  114. package/dist/sdk.es62.js.map +1 -1
  115. package/dist/sdk.es63.js +4 -638
  116. package/dist/sdk.es63.js.map +1 -1
  117. package/dist/sdk.es64.js +20 -74
  118. package/dist/sdk.es64.js.map +1 -1
  119. package/dist/sdk.es65.js +4 -4
  120. package/dist/sdk.es65.js.map +1 -1
  121. package/dist/sdk.es66.js +18 -20
  122. package/dist/sdk.es66.js.map +1 -1
  123. package/dist/sdk.es67.js +5 -4
  124. package/dist/sdk.es67.js.map +1 -1
  125. package/dist/sdk.es68.js +9 -18
  126. package/dist/sdk.es68.js.map +1 -1
  127. package/dist/sdk.es69.js +48 -5
  128. package/dist/sdk.es69.js.map +1 -1
  129. package/dist/sdk.es70.js +7 -8
  130. package/dist/sdk.es70.js.map +1 -1
  131. package/dist/sdk.es71.js +54 -46
  132. package/dist/sdk.es71.js.map +1 -1
  133. package/dist/sdk.es72.js +65 -8
  134. package/dist/sdk.es72.js.map +1 -1
  135. package/dist/sdk.es73.js +9 -57
  136. package/dist/sdk.es73.js.map +1 -1
  137. package/dist/sdk.es74.js +4 -65
  138. package/dist/sdk.es74.js.map +1 -1
  139. package/dist/sdk.es75.js +2 -9
  140. package/dist/sdk.es75.js.map +1 -1
  141. package/dist/sdk.es76.js +2 -4
  142. package/dist/sdk.es76.js.map +1 -1
  143. package/dist/sdk.es79.js +3 -53
  144. package/dist/sdk.es79.js.map +1 -1
  145. package/dist/sdk.es80.js +8 -10
  146. package/dist/sdk.es80.js.map +1 -1
  147. package/dist/sdk.es81.js +6 -20
  148. package/dist/sdk.es81.js.map +1 -1
  149. package/dist/sdk.es82.js +3675 -4
  150. package/dist/sdk.es82.js.map +1 -1
  151. package/dist/sdk.es83.js +5 -7
  152. package/dist/sdk.es83.js.map +1 -1
  153. package/dist/sdk.es84.js +2 -7
  154. package/dist/sdk.es84.js.map +1 -1
  155. package/dist/sdk.es85.js +52 -3673
  156. package/dist/sdk.es85.js.map +1 -1
  157. package/dist/sdk.es86.js +10 -6
  158. package/dist/sdk.es86.js.map +1 -1
  159. package/dist/sdk.es87.js +21 -2
  160. package/dist/sdk.es87.js.map +1 -1
  161. package/dist/sdk.es88.js +1 -1
  162. package/dist/sdk.es89.js +2 -2
  163. package/dist/sdk.es90.js +4 -4
  164. package/dist/sdk.es91.js +3 -3
  165. package/dist/sdk.es92.js +4 -4
  166. package/dist/sdk.es93.js +5 -5
  167. package/dist/sdk.es96.js +1 -1
  168. package/dist/sdk.es98.js +1 -1
  169. package/dist/sdk.es99.js +3 -3
  170. package/package.json +1 -1
  171. package/src/types/models/quotes/PromoCode.ts +1 -0
  172. package/src/types/models/quotes/QuoteRequestOptions.ts +2 -0
package/dist/sdk.es48.js CHANGED
@@ -1,11 +1,83 @@
1
- import { __module as e } from "./sdk.es49.js";
2
- import { __require as i } from "./sdk.es50.js";
3
- import { __require as t } from "./sdk.es51.js";
4
- var r;
5
- function m() {
6
- return r ? e.exports : (r = 1, process.env.NODE_ENV === "production" ? e.exports = i() : e.exports = t(), e.exports);
1
+ import { j as e } from "./sdk.es39.js";
2
+ import { router as w } from "@inertiajs/react";
3
+ import c from "react";
4
+ import { HiMagnifyingGlass as h, HiXMark as g } from "./sdk.es51.js";
5
+ import { useClickOutside as x } from "./sdk.es6.js";
6
+ import "./sdk.es9.js";
7
+ import "./sdk.es10.js";
8
+ import "./sdk.es11.js";
9
+ import "./sdk.es12.js";
10
+ function E({ search: u, active: l, onActive: s, placeholder: m, focusSearchShortcut: f = !1 }) {
11
+ const [a, o] = c.useState(""), d = c.useRef(null);
12
+ c.useEffect(() => {
13
+ if (typeof window < "u") {
14
+ const t = new URLSearchParams(window.location.search).get("search");
15
+ t && (o(t), s(!0));
16
+ }
17
+ const r = (n) => {
18
+ f && n.key === "/" && (n.preventDefault(), s(!0)), n.key === "Escape" && s(!1);
19
+ };
20
+ return window.addEventListener("keydown", r), () => {
21
+ window.removeEventListener("keydown", r);
22
+ };
23
+ }, [f]), x(d, () => {
24
+ a || s(!1);
25
+ });
26
+ function p(r, n) {
27
+ if (r?.preventDefault(), typeof u != "string") return;
28
+ let t = u;
29
+ t[0] !== "/" && (t = `/${t}`);
30
+ const i = new URLSearchParams(window?.location.search);
31
+ i.set("search", n ?? a), i.set("page", "1"), w.get(`${t}?${i.toString()}`);
32
+ }
33
+ return /* @__PURE__ */ e.jsxs("div", { ref: d, className: "", children: [
34
+ !l && /* @__PURE__ */ e.jsx(
35
+ "button",
36
+ {
37
+ title: "Open Search Bar",
38
+ type: "button",
39
+ onClick: () => s(!0),
40
+ className: "flex items-center justify-center rounded-full hover:text-accent p-1 hover:bg-gray-100",
41
+ children: /* @__PURE__ */ e.jsx(h, { className: "h-5 w-5 stroke-[1.25]" })
42
+ }
43
+ ),
44
+ l && /* @__PURE__ */ e.jsxs(
45
+ "form",
46
+ {
47
+ onSubmit: p,
48
+ className: "group flex items-center gap-2 rounded-full bg-white pr-4 pl-1 shadow transition-all focus-within:outline-none focus-within:ring-1 focus-within:ring-accent",
49
+ children: [
50
+ /* @__PURE__ */ e.jsx(
51
+ "input",
52
+ {
53
+ type: "text",
54
+ name: "search",
55
+ id: "search",
56
+ value: a,
57
+ onChange: (r) => o(r.currentTarget.value || ""),
58
+ className: "no-focus-shadow !focus:border-0 !border-0 !bg-transparent !shadow-none !ring-opacity-0 !transition-none placeholder:text-gray-400 !py-1.5 text-sm",
59
+ autoFocus: !0,
60
+ placeholder: m
61
+ }
62
+ ),
63
+ a && /* @__PURE__ */ e.jsx(
64
+ "button",
65
+ {
66
+ type: "button",
67
+ title: "Clear Search",
68
+ onClick: () => {
69
+ o(""), p(void 0, "");
70
+ },
71
+ children: /* @__PURE__ */ e.jsx(g, { className: "h-5 w-5" })
72
+ }
73
+ ),
74
+ /* @__PURE__ */ e.jsx("button", { type: "submit", children: /* @__PURE__ */ e.jsx(h, { className: "h-5 w-5" }) })
75
+ ]
76
+ }
77
+ )
78
+ ] });
7
79
  }
8
80
  export {
9
- m as __require
81
+ E as default
10
82
  };
11
83
  //# sourceMappingURL=sdk.es48.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es48.js","sources":["../node_modules/react/jsx-runtime.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],"names":["jsxRuntimeModule","require$$0","require$$1"],"mappings":";;;;;iCAEI,QAAQ,IAAI,aAAa,eAC3BA,EAAA,UAAiBC,EAAoD,IAErED,EAAA,UAAiBE,EAAiD;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"sdk.es48.js","sources":["../src/components/filter/SearchBar.tsx"],"sourcesContent":["import { router } from \"@inertiajs/react\";\nimport React from \"react\";\nimport { HiMagnifyingGlass, HiXMark } from \"react-icons/hi2\";\nimport { useClickOutside } from \"../../lib\";\n\ninterface Props {\n search?: string;\n active: boolean;\n onActive: Function;\n placeholder?: string;\n focusSearchShortcut?: boolean;\n}\n\nexport default function SearchBar({ search, active, onActive, placeholder, focusSearchShortcut = false }: Props) {\n const [query, setQuery] = React.useState<string>('');\n\n const searchRef = React.useRef<HTMLDivElement | null>(null);\n\n /**\n * Populate search input on load\n */\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n // Populate search\n const search = new URLSearchParams(window.location.search);\n\n const q = search.get('search') as string;\n\n if (q) {\n setQuery(q);\n onActive(true);\n }\n }\n\n const listener = (e: KeyboardEvent) => {\n if (focusSearchShortcut && e.key === '/') {\n e.preventDefault();\n onActive(true);\n }\n\n if (e.key === 'Escape') {\n onActive(false);\n }\n };\n\n window.addEventListener('keydown', listener);\n\n return () => {\n window.removeEventListener('keydown', listener);\n };\n }, [focusSearchShortcut]);\n\n /**\n * Minimise the search bar on click outside if there's no search query\n */\n useClickOutside(searchRef, () => {\n if (!query) {\n onActive(false);\n }\n });\n\n /**\n * Handle the search function\n */\n function handleSearch(e?: React.FormEvent, queryOverride?: string) {\n e?.preventDefault();\n\n if (typeof search !== 'string') return;\n\n let path: string = search;\n if (path[0] !== '/') {\n path = `/${path}`;\n }\n\n const params = new URLSearchParams(window?.location.search);\n params.set('search', queryOverride ?? query);\n params.set('page', '1');\n\n router.get(`${path}?${params.toString()}`);\n }\n\n return (\n <div ref={searchRef} className=\"\">\n {!active && (\n <button\n title=\"Open Search Bar\"\n type=\"button\"\n onClick={() => onActive(true)}\n className=\"flex items-center justify-center rounded-full hover:text-accent p-1 hover:bg-gray-100\"\n >\n <HiMagnifyingGlass className=\"h-5 w-5 stroke-[1.25]\" />\n </button>\n )}\n {active && (\n <form\n onSubmit={handleSearch}\n className=\"group flex items-center gap-2 rounded-full bg-white pr-4 pl-1 shadow transition-all focus-within:outline-none focus-within:ring-1 focus-within:ring-accent\"\n >\n <input\n type=\"text\"\n name=\"search\"\n id=\"search\"\n value={query}\n onChange={(e) => setQuery(e.currentTarget.value || '')}\n className=\"no-focus-shadow !focus:border-0 !border-0 !bg-transparent !shadow-none !ring-opacity-0 !transition-none placeholder:text-gray-400 !py-1.5 text-sm\"\n autoFocus\n placeholder={placeholder}\n />\n {query && (\n <button\n type=\"button\"\n title=\"Clear Search\"\n onClick={() => {\n setQuery('');\n handleSearch(undefined, '');\n }}\n >\n <HiXMark className=\"h-5 w-5\" />\n </button>\n )}\n <button type=\"submit\">\n <HiMagnifyingGlass className=\"h-5 w-5\" />\n </button>\n </form>\n )}\n </div>\n );\n}\n"],"names":["SearchBar","search","active","onActive","placeholder","focusSearchShortcut","query","setQuery","React","searchRef","q","listener","e","useClickOutside","handleSearch","queryOverride","path","params","router","jsxs","jsx","HiMagnifyingGlass","HiXMark"],"mappings":";;;;;;;;;AAawB,SAAAA,EAAU,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,UAAAC,GAAU,aAAAC,GAAa,qBAAAC,IAAsB,MAAgB;AAC7G,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAAiB,EAAE,GAE7CC,IAAYD,EAAM,OAA8B,IAAI;AAK1DA,EAAAA,EAAM,UAAU,MAAM;AACd,QAAA,OAAO,SAAW,KAAa;AAIzB,YAAAE,IAFS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAExC,IAAI,QAAQ;AAE7B,MAAIA,MACAH,EAASG,CAAC,GACVP,EAAS,EAAI;AAAA,IACjB;AAGE,UAAAQ,IAAW,CAACC,MAAqB;AAC/B,MAAAP,KAAuBO,EAAE,QAAQ,QACjCA,EAAE,eAAe,GACjBT,EAAS,EAAI,IAGbS,EAAE,QAAQ,YACVT,EAAS,EAAK;AAAA,IAEtB;AAEO,kBAAA,iBAAiB,WAAWQ,CAAQ,GAEpC,MAAM;AACF,aAAA,oBAAoB,WAAWA,CAAQ;AAAA,IAClD;AAAA,EAAA,GACD,CAACN,CAAmB,CAAC,GAKxBQ,EAAgBJ,GAAW,MAAM;AAC7B,IAAKH,KACDH,EAAS,EAAK;AAAA,EAClB,CACH;AAKQ,WAAAW,EAAaF,GAAqBG,GAAwB;AAG3D,QAFJH,GAAG,eAAe,GAEd,OAAOX,KAAW,SAAU;AAEhC,QAAIe,IAAef;AACf,IAAAe,EAAK,CAAC,MAAM,QACZA,IAAO,IAAIA,CAAI;AAGnB,UAAMC,IAAS,IAAI,gBAAgB,QAAQ,SAAS,MAAM;AACnD,IAAAA,EAAA,IAAI,UAAUF,KAAiBT,CAAK,GACpCW,EAAA,IAAI,QAAQ,GAAG,GAEtBC,EAAO,IAAI,GAAGF,CAAI,IAAIC,EAAO,SAAU,CAAA,EAAE;AAAA,EAAA;AAG7C,SACKE,gBAAAA,EAAAA,KAAA,OAAA,EAAI,KAAKV,GAAW,WAAU,IAC1B,UAAA;AAAA,IAAA,CAACP,KACEkB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,MAAMjB,EAAS,EAAI;AAAA,QAC5B,WAAU;AAAA,QAEV,UAAAiB,gBAAAA,EAAAA,IAACC,GAAkB,EAAA,WAAU,wBAAwB,CAAA;AAAA,MAAA;AAAA,IACzD;AAAA,IAEHnB,KACGiB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAUL;AAAA,QACV,WAAU;AAAA,QAEV,UAAA;AAAA,UAAAM,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,MAAK;AAAA,cACL,IAAG;AAAA,cACH,OAAOd;AAAA,cACP,UAAU,CAACM,MAAML,EAASK,EAAE,cAAc,SAAS,EAAE;AAAA,cACrD,WAAU;AAAA,cACV,WAAS;AAAA,cACT,aAAAR;AAAA,YAAA;AAAA,UACJ;AAAA,UACCE,KACGc,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAAS,MAAM;AACX,gBAAAb,EAAS,EAAE,GACXO,EAAa,QAAW,EAAE;AAAA,cAC9B;AAAA,cAEA,UAAAM,gBAAAA,EAAAA,IAACE,GAAQ,EAAA,WAAU,UAAU,CAAA;AAAA,YAAA;AAAA,UACjC;AAAA,UAEJF,gBAAAA,EAAAA,IAAC,YAAO,MAAK,UACT,gCAACC,GAAkB,EAAA,WAAU,UAAU,CAAA,EAC3C,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GAER;AAER;"}
package/dist/sdk.es49.js CHANGED
@@ -1,5 +1,80 @@
1
- var e = { exports: {} };
1
+ import { j as t } from "./sdk.es39.js";
2
+ import x from "react";
3
+ import { Tooltip as p } from "react-tooltip";
4
+ import { Link as z, router as F } from "@inertiajs/react";
5
+ import { useClickOutside as T } from "./sdk.es6.js";
6
+ import "./sdk.es9.js";
7
+ import "./sdk.es10.js";
8
+ import "./sdk.es11.js";
9
+ import "./sdk.es12.js";
10
+ import $ from "./sdk.es42.js";
11
+ function C({ title: r, href: i, as: l = "Link", target: h = "_self", type: v, onClick: d = () => {
12
+ }, shortcutKey: a, backgroundColor: f, hoverBackgroundColor: u, textColor: g, actions: c }) {
13
+ const m = $("rounded-full font-bold px-4 py-1.5 text-sm whitespace-nowrap hover:border-gray-400 transition-colors border border-gray-300", {
14
+ "bg-white": !f,
15
+ [`bg-${f}`]: !!f,
16
+ [`text-${g}`]: !!g,
17
+ "hover:bg-gray-100": !u,
18
+ [`hover:bg-${u}`]: !!u
19
+ }), o = `action-${r}`, s = a ? `Ctrl + ${a}` : void 0, j = x.useRef(null), L = c && c.length > 0, N = "relative cursor-pointer " + m, [w, b] = x.useState(!1), E = () => {
20
+ b(!w);
21
+ };
22
+ T(j, () => b(!1));
23
+ function I() {
24
+ if (l === "Link" && i)
25
+ return F.get(i);
26
+ if (l === "a" && i)
27
+ return window.location.href = i;
28
+ d();
29
+ }
30
+ return x.useEffect(() => {
31
+ if (typeof window > "u" || !a) return;
32
+ const n = (e) => {
33
+ const k = e.ctrlKey || e.metaKey, y = e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement, A = e.target instanceof Element && e.target.closest("form");
34
+ k && !y && !A && e.key === a && (e.preventDefault(), I());
35
+ };
36
+ return window.addEventListener("keydown", n), () => {
37
+ window.removeEventListener("keydown", n);
38
+ };
39
+ }, [a]), L ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
40
+ s && /* @__PURE__ */ t.jsx(p, { id: o, className: "z-10" }),
41
+ /* @__PURE__ */ t.jsxs(
42
+ "div",
43
+ {
44
+ ref: j,
45
+ "data-tooltip-id": o,
46
+ "data-tooltip-content": s,
47
+ className: N,
48
+ onClick: E,
49
+ children: [
50
+ r,
51
+ w && /* @__PURE__ */ t.jsx("div", { className: "absolute top-[120%] right-[-20%] z-10", children: /* @__PURE__ */ t.jsx("div", { className: "flex flex-col gap-2 bg-white rounded-lg shadow-xl p-3", children: c && c.map((n, e) => n.hidden ? null : /* @__PURE__ */ t.jsx(
52
+ C,
53
+ {
54
+ title: n.title,
55
+ as: n.as,
56
+ href: n.href,
57
+ target: n.target,
58
+ onClick: n.onClick,
59
+ type: "button"
60
+ },
61
+ e
62
+ )) }) })
63
+ ]
64
+ }
65
+ )
66
+ ] }) : l === "Link" && i ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
67
+ s && /* @__PURE__ */ t.jsx(p, { id: o, className: "z-10" }),
68
+ /* @__PURE__ */ t.jsx(z, { "data-tooltip-id": o, "data-tooltip-content": s, className: m, href: i, onClick: () => d(), children: r })
69
+ ] }) : l === "a" && i ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
70
+ s && /* @__PURE__ */ t.jsx(p, { id: o, className: "z-10" }),
71
+ /* @__PURE__ */ t.jsx("a", { "data-tooltip-id": o, "data-tooltip-content": s, className: m, target: h, href: i, onClick: () => d(), children: r })
72
+ ] }) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
73
+ s && /* @__PURE__ */ t.jsx(p, { id: o, className: "z-10" }),
74
+ /* @__PURE__ */ t.jsx("button", { "data-tooltip-id": o, "data-tooltip-content": s, className: m, type: v, onClick: () => d(), children: r })
75
+ ] });
76
+ }
2
77
  export {
3
- e as __module
78
+ C as default
4
79
  };
5
80
  //# sourceMappingURL=sdk.es49.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es49.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"sdk.es49.js","sources":["../src/components/filter/Action.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from 'react-tooltip';\nimport { Link, router } from \"@inertiajs/react\";\nimport { TPageHeaderAction } from \"../../types\";\nimport {useClickOutside} from \"../../lib\";\nimport { default as cn } from 'classnames';\n\nexport default function Action({ title, href, as = 'Link', target = '_self', type, onClick = () => {}, shortcutKey, backgroundColor, hoverBackgroundColor, textColor, actions }: TPageHeaderAction) {\n const className = cn('rounded-full font-bold px-4 py-1.5 text-sm whitespace-nowrap hover:border-gray-400 transition-colors border border-gray-300', {\n 'bg-white': !backgroundColor,\n [`bg-${backgroundColor}`]: !!backgroundColor,\n [`text-${textColor}`]: !!textColor,\n 'hover:bg-gray-100': !hoverBackgroundColor,\n [`hover:bg-${hoverBackgroundColor}`]: !!hoverBackgroundColor,\n });\n\n const tooltipId = `action-${title}`;\n const tooltipContent = shortcutKey ? `Ctrl + ${shortcutKey}` : undefined;\n\n const actionButtonRef = React.useRef(null);\n const isActionsButton = actions && actions.length > 0;\n const actionsButtonClassName = 'relative cursor-pointer ' + className;\n const [isInnerActionVisible, setIsInnerActionVisible] = React.useState(false);\n\n const toggleActionsMenu = () => {\n setIsInnerActionVisible(!isInnerActionVisible);\n };\n\n useClickOutside(actionButtonRef, () => setIsInnerActionVisible(false));\n\n function runAction() {\n if (as === 'Link' && href) {\n return router.get(href);\n }\n\n if (as === 'a' && href) {\n return window.location.href = href;\n }\n\n onClick();\n };\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n if (!shortcutKey) return;\n\n const listener = (e: KeyboardEvent) => {\n // Check if Ctrl (Windows) or Cmd (Mac) key is pressed\n const isCtrlOrCmdPressed = (e.ctrlKey || e.metaKey);\n\n // Check if the focus is on an input element or inside a form\n const isInInput = e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement;\n const isInForm = (e.target instanceof Element && e.target.closest('form'));\n\n if (isCtrlOrCmdPressed && !isInInput && !isInForm && e.key === shortcutKey) {\n e.preventDefault();\n runAction();\n }\n };\n\n window.addEventListener('keydown', listener);\n\n return () => {\n window.removeEventListener('keydown', listener);\n };\n }, [shortcutKey]);\n\n if (isActionsButton) {\n return (\n <>\n {tooltipContent && <Tooltip id={tooltipId} className=\"z-10\" />}\n <div\n ref={actionButtonRef}\n data-tooltip-id={tooltipId}\n data-tooltip-content={tooltipContent}\n className={actionsButtonClassName}\n onClick={toggleActionsMenu}>\n {title}\n {isInnerActionVisible && (\n <div className=\"absolute top-[120%] right-[-20%] z-10\">\n <div className=\"flex flex-col gap-2 bg-white rounded-lg shadow-xl p-3\">\n {actions && actions.map((action, index) => {\n if (action.hidden) return null;\n\n return (\n <Action\n key={index}\n title={action.title}\n as={action.as}\n href={action.href}\n target={action.target}\n onClick={action.onClick}\n type={'button'}\n />\n );\n })}\n </div>\n </div>\n )}\n </div>\n </>\n );\n }\n\n if (as === 'Link' && href) {\n return (\n <>\n {tooltipContent && <Tooltip id={tooltipId} className=\"z-10\" />}\n <Link data-tooltip-id={tooltipId} data-tooltip-content={tooltipContent} className={className} href={href} onClick={() => onClick()}>\n {title}\n </Link>\n </>\n );\n }\n\n if (as === 'a' && href) {\n return (\n <>\n {tooltipContent && <Tooltip id={tooltipId} className=\"z-10\" />}\n <a data-tooltip-id={tooltipId} data-tooltip-content={tooltipContent} className={className} target={target} href={href} onClick={() => onClick()}>\n {title}\n </a>\n </>\n );\n }\n\n return (\n <>\n {tooltipContent && <Tooltip id={tooltipId} className=\"z-10\" />}\n <button data-tooltip-id={tooltipId} data-tooltip-content={tooltipContent} className={className} type={type} onClick={() => onClick()}>\n {title}\n </button>\n </>\n );\n}\n"],"names":["Action","title","href","as","target","type","onClick","shortcutKey","backgroundColor","hoverBackgroundColor","textColor","actions","className","cn","tooltipId","tooltipContent","actionButtonRef","React","isActionsButton","actionsButtonClassName","isInnerActionVisible","setIsInnerActionVisible","toggleActionsMenu","useClickOutside","runAction","router","listener","isCtrlOrCmdPressed","isInInput","isInForm","jsxs","Fragment","jsx","Tooltip","action","index","Link"],"mappings":"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"}
package/dist/sdk.es50.js CHANGED
@@ -1,29 +1,235 @@
1
- import { __exports as t } from "./sdk.es53.js";
2
- import R from "react";
3
- /**
4
- * @license React
5
- * react-jsx-runtime.production.min.js
6
- *
7
- * Copyright (c) Facebook, Inc. and its affiliates.
8
- *
9
- * This source code is licensed under the MIT license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- */
12
- var p;
13
- function x() {
14
- if (p) return t;
15
- p = 1;
16
- var s = R, d = Symbol.for("react.element"), m = Symbol.for("react.fragment"), l = Object.prototype.hasOwnProperty, c = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, a = { key: !0, ref: !0, __self: !0, __source: !0 };
17
- function _(n, e, f) {
18
- var r, o = {}, u = null, i = null;
19
- f !== void 0 && (u = "" + f), e.key !== void 0 && (u = "" + e.key), e.ref !== void 0 && (i = e.ref);
20
- for (r in e) l.call(e, r) && !a.hasOwnProperty(r) && (o[r] = e[r]);
21
- if (n && n.defaultProps) for (r in e = n.defaultProps, e) o[r] === void 0 && (o[r] = e[r]);
22
- return { $$typeof: d, type: n, key: u, ref: i, props: o, _owner: c.current };
23
- }
24
- return t.Fragment = m, t.jsx = _, t.jsxs = _, t;
1
+ import { j as s } from "./sdk.es39.js";
2
+ import { router as g } from "@inertiajs/react";
3
+ import m from "react";
4
+ import T from "react-select";
5
+ import { HiChevronDown as k } from "./sdk.es51.js";
6
+ import D from "./sdk.es87.js";
7
+ import E from "./sdk.es42.js";
8
+ import y from "./sdk.es17.js";
9
+ import "@headlessui/react";
10
+ import "./sdk.es9.js";
11
+ import i from "./sdk.es37.js";
12
+ import F from "./sdk.es73.js";
13
+ function H({ filter: e }) {
14
+ const [d, u] = m.useState(!1), [c, l] = m.useState([]), [w, p] = m.useState([]), f = c.length > 0;
15
+ m.useEffect(() => {
16
+ if (typeof window < "u") {
17
+ const t = new URLSearchParams(window.location.search), a = [];
18
+ for (const [n, o] of t.entries()) {
19
+ const r = n.replaceAll(/\[\d+\]/g, "[]");
20
+ a.push([r, o]);
21
+ }
22
+ if (e.type === "date") {
23
+ const n = a.find(([r]) => r === `${e.name}[from]`)?.[1], o = a.find(([r]) => r === `${e.name}[to]`)?.[1];
24
+ n && o && l([n, o]);
25
+ } else if (e.type === "greaterThan") {
26
+ const n = a.filter(([o]) => o === `${e.name}-GTE`).map(([o, r]) => r);
27
+ n.length > 0 && l(n);
28
+ } else if (e.type === "scope") {
29
+ const n = a.filter(([o]) => o === `scope${e.name}`).map(([o, r]) => r);
30
+ n.length > 0 && l(n);
31
+ } else if (e.type === "select") {
32
+ const n = a.filter(([o]) => o === `${e.name}[]`).map(([o, r]) => r);
33
+ if (n.length > 0) {
34
+ l(n);
35
+ const o = e.options && e.options.filter(
36
+ (r) => n.includes(r.value.toString())
37
+ );
38
+ o && o.length > 0 && p(o);
39
+ }
40
+ } else {
41
+ const n = a.filter(([o]) => o === `${e.name}[]`).map(([o, r]) => r);
42
+ n.length > 0 && l(n);
43
+ }
44
+ }
45
+ }, [e]);
46
+ function b(t) {
47
+ const { value: a, checked: n } = t.currentTarget;
48
+ l(n ? (o) => [...o, a] : c.filter((o) => o !== a));
49
+ }
50
+ function h(t) {
51
+ const { name: a, value: n } = t.currentTarget;
52
+ return a.includes("from") ? l([n]) : a.includes("to") ? c.length === 0 ? l([i(F(/* @__PURE__ */ new Date(), 1), "yyyy-MM-dd"), n]) : l([c[0], n]) : l([]);
53
+ }
54
+ const v = (t) => {
55
+ p(t);
56
+ const a = t.map((n) => n.value.toString());
57
+ a.length > 0 ? l(a) : l([]);
58
+ };
59
+ function j() {
60
+ return null;
61
+ }
62
+ function x(t) {
63
+ const { value: a } = t.currentTarget;
64
+ l(a ? [a] : []);
65
+ }
66
+ function $(t) {
67
+ const { value: a } = t.currentTarget;
68
+ l(a ? [a] : []);
69
+ }
70
+ function N(t) {
71
+ t.preventDefault();
72
+ const a = new URLSearchParams(window.location.search);
73
+ if (a.set("page", "1"), e.type === "date") {
74
+ const [n, o] = c;
75
+ a.set(`${e.name}[from]`, n ?? i(/* @__PURE__ */ new Date(), "yyyy-MM-dd")), a.set(`${e.name}[to]`, o ?? i(/* @__PURE__ */ new Date(), "yyyy-MM-dd"));
76
+ } else e.type === "greaterThan" ? (a.delete(`${e.name}-GTE`), c.length > 0 && a.set(`${e.name}-GTE`, c[0])) : e.type === "scope" ? (a.delete(`${e.name}`), c.length > 0 && a.set(`scope${e.name}`, c[0])) : (Array.from({ length: e.options?.length || 50 }).forEach((n, o) => {
77
+ a.delete(`${e.name}[${o}]`);
78
+ }), c.forEach((n) => {
79
+ a.append(`${e.name}[]`, n);
80
+ }));
81
+ g.get(`${window.location.pathname}?${a.toString()}`);
82
+ }
83
+ function S() {
84
+ const t = new URLSearchParams(window.location.search);
85
+ t.set("page", "1"), e.type === "date" ? (t.delete(`${e.name}[from]`), t.delete(`${e.name}[to]`)) : e.type === "greaterThan" ? t.delete(`${e.name}-GTE`) : e.type === "scope" ? t.delete(`scope${e.name}`) : c.forEach((a, n) => {
86
+ t.delete(`${e.name}[${n}]`);
87
+ }), l([]), p([]), g.get(`${window.location.pathname}?${t.toString()}`);
88
+ }
89
+ function C(t) {
90
+ u(!d);
91
+ }
92
+ return /* @__PURE__ */ s.jsx(D, { onClose: () => u(!open), active: d, title: /* @__PURE__ */ s.jsxs(
93
+ "div",
94
+ {
95
+ onClick: () => C(),
96
+ className: E(
97
+ "flex rounded-2xl border hover:cursor-pointer hover:border-accent bg-gray-600 px-2 py-1 items-center justify-between shrink-0 gap-2 text-xs text-white hover:bg-accent transition-colors",
98
+ {
99
+ "!bg-accent border-accent": f
100
+ }
101
+ ),
102
+ children: [
103
+ /* @__PURE__ */ s.jsx("p", { className: "whitespace-nowrap", children: e.label }),
104
+ /* @__PURE__ */ s.jsx(k, {})
105
+ ]
106
+ }
107
+ ), children: /* @__PURE__ */ s.jsxs(
108
+ "form",
109
+ {
110
+ className: `mt-2 flex max-h-[350px] min-w-[200px] max-w-[260px] flex-col gap-2 rounded-md border border-gray-300 bg-white shadow-lg ${e.type && e.type === "select" ? "" : "overflow-y-scroll"}`,
111
+ onSubmit: N,
112
+ children: [
113
+ /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col items-start gap-1 p-4", children: [
114
+ (!e.type || e.type === "options") && e.options?.map((t, a) => /* @__PURE__ */ s.jsxs("div", { className: "checkbox text-sm ", children: [
115
+ /* @__PURE__ */ s.jsx(
116
+ "input",
117
+ {
118
+ type: "checkbox",
119
+ name: e.name,
120
+ id: t.label,
121
+ value: t.value.toString(),
122
+ checked: c.includes(t.value.toString()),
123
+ onChange: b
124
+ }
125
+ ),
126
+ /* @__PURE__ */ s.jsx("label", { className: "leading-tight", htmlFor: t.label, children: t.label })
127
+ ] }, `${t.label}-${a}`)),
128
+ e.type === "greaterThan" && e.options && /* @__PURE__ */ s.jsxs("label", { className: "mb-2 w-full", children: [
129
+ /* @__PURE__ */ s.jsx("div", { className: "text-sm", children: "Greater than or equal to" }),
130
+ /* @__PURE__ */ s.jsxs(
131
+ "select",
132
+ {
133
+ name: e.name,
134
+ id: e.label,
135
+ value: c[0],
136
+ onChange: x,
137
+ className: "!p-2 text-sm w-full",
138
+ children: [
139
+ /* @__PURE__ */ s.jsx("option", { value: "", children: "Select option" }),
140
+ e.options?.map((t) => /* @__PURE__ */ s.jsx("option", { value: t.value, children: t.label }, t.value))
141
+ ]
142
+ }
143
+ )
144
+ ] }),
145
+ e.type === "scope" && e.options && /* @__PURE__ */ s.jsx("label", { className: "mb-2 w-full", children: /* @__PURE__ */ s.jsxs(
146
+ "select",
147
+ {
148
+ name: e.name,
149
+ id: e.label,
150
+ value: c[0],
151
+ onChange: x,
152
+ className: "!p-2 text-sm w-full",
153
+ children: [
154
+ /* @__PURE__ */ s.jsx("option", { value: "", children: "Select option" }),
155
+ e.options?.map((t) => /* @__PURE__ */ s.jsx("option", { value: t.value, children: t.label }, t.value))
156
+ ]
157
+ }
158
+ ) }),
159
+ e.type === "date" && /* @__PURE__ */ s.jsxs("div", { className: "mb-2 flex flex-col gap-4 w-full", children: [
160
+ /* @__PURE__ */ s.jsxs("label", { className: "text-xs w-full", children: [
161
+ "From",
162
+ /* @__PURE__ */ s.jsx(
163
+ "input",
164
+ {
165
+ type: "date",
166
+ name: `${e.name}[from]`,
167
+ id: `${e.name}[from]`,
168
+ onChange: h,
169
+ value: c[0] ?? "",
170
+ className: "!p-2 text-sm w-full"
171
+ }
172
+ )
173
+ ] }),
174
+ /* @__PURE__ */ s.jsxs("label", { className: "text-xs w-full", children: [
175
+ "To",
176
+ /* @__PURE__ */ s.jsx(
177
+ "input",
178
+ {
179
+ type: "date",
180
+ name: `${e.name}[to]`,
181
+ id: `${e.name}[to]`,
182
+ onChange: h,
183
+ value: c[1] ?? "",
184
+ className: "!p-2 text-sm w-full"
185
+ }
186
+ )
187
+ ] })
188
+ ] }),
189
+ e.type === "select" && e.options && /* @__PURE__ */ s.jsx("div", { className: "w-full", children: /* @__PURE__ */ s.jsx(
190
+ T,
191
+ {
192
+ isMulti: !0,
193
+ options: e.options,
194
+ className: "basic-multi-select text-xs w-52 !transition-none",
195
+ classNamePrefix: "select",
196
+ onChange: v,
197
+ components: {
198
+ ClearIndicator: j
199
+ // Hide the ClearIndicator (X button) -> exits filter when clicked
200
+ },
201
+ value: w,
202
+ theme: (t) => ({
203
+ ...t,
204
+ colors: {
205
+ ...t.colors,
206
+ primary25: "rgb(111, 199, 182)",
207
+ primary: "rgb(111, 199, 182)"
208
+ }
209
+ })
210
+ }
211
+ ) }),
212
+ e.type === "text" && /* @__PURE__ */ s.jsx("div", { className: "w-full", children: /* @__PURE__ */ s.jsx(
213
+ "input",
214
+ {
215
+ type: "text",
216
+ name: e.name,
217
+ placeholder: e.label,
218
+ value: c[0] ?? "",
219
+ onChange: $,
220
+ className: "!p-2 text-sm w-full"
221
+ }
222
+ ) })
223
+ ] }),
224
+ /* @__PURE__ */ s.jsxs("div", { className: "bg-gray-100 border-t border-gray-200 flex items-center gap-2 p-4 bottom-0 sticky", children: [
225
+ /* @__PURE__ */ s.jsx(y, { type: "button", className: "!min-w-[0px] flex-grow !px-2 text-sm !transition-none", onClick: S, small: !0, children: "Clear" }),
226
+ /* @__PURE__ */ s.jsx(y, { type: "submit", status: "primary", className: "!min-w-[0px] flex-grow !px-2 text-sm !transition-none", small: !0, children: "Apply" })
227
+ ] })
228
+ ]
229
+ }
230
+ ) });
25
231
  }
26
232
  export {
27
- x as __require
233
+ H as FilterItem
28
234
  };
29
235
  //# sourceMappingURL=sdk.es50.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es50.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.min.js"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min"],"mappings":";;;;;;;;;;;;;;;AASa,MAAIA,IAAEC,GAAiBC,IAAE,OAAO,IAAI,eAAe,GAAEC,IAAE,OAAO,IAAI,gBAAgB,GAAEC,IAAE,OAAO,UAAU,gBAAeC,IAAEL,EAAE,mDAAmD,mBAAkBM,IAAE,EAAC,KAAI,IAAG,KAAI,IAAG,QAAO,IAAG,UAAS,GAAE;AAClP,WAASC,EAAEC,GAAEC,GAAEC,GAAE;AAAC,QAAIC,GAAEC,IAAE,CAAE,GAACC,IAAE,MAAKC,IAAE;AAAK,IAASJ,MAAT,WAAaG,IAAE,KAAGH,IAAYD,EAAE,QAAX,WAAiBI,IAAE,KAAGJ,EAAE,MAAcA,EAAE,QAAX,WAAiBK,IAAEL,EAAE;AAAK,SAAIE,KAAKF,EAAE,CAAAL,EAAE,KAAKK,GAAEE,CAAC,KAAG,CAACL,EAAE,eAAeK,CAAC,MAAIC,EAAED,CAAC,IAAEF,EAAEE,CAAC;AAAG,QAAGH,KAAGA,EAAE,aAAa,MAAIG,KAAKF,IAAED,EAAE,cAAaC,EAAE,CAASG,EAAED,CAAC,MAAZ,WAAgBC,EAAED,CAAC,IAAEF,EAAEE,CAAC;AAAG,WAAM,EAAC,UAAST,GAAE,MAAKM,GAAE,KAAIK,GAAE,KAAIC,GAAE,OAAMF,GAAE,QAAOP,EAAE,QAAO;AAAA,EAAC;AAAC,SAAAU,aAAiBZ,GAAEY,EAAW,MAACR,GAAEQ,EAAA,OAAaR;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"sdk.es50.js","sources":["../src/components/filter/FilterItem.tsx"],"sourcesContent":["import { router } from \"@inertiajs/react\";\nimport { format, subYears } from \"date-fns\";\nimport React from \"react\";\nimport { FilterOption, FilterValue } from \"../../types\";\nimport Select from 'react-select';\nimport { HiChevronDown } from \"react-icons/hi2\";\nimport Dropdown from \"./Dropdown\";\nimport cn from 'classnames';\nimport { Button } from \"../common\";\n\nexport function FilterItem({ filter }: { filter: FilterOption, path?: string }) {\n const [isOpen, setOpen] = React.useState<boolean>(false);\n const [selected, setSelected] = React.useState<string[]>([]);\n\n const [selectedOptions, setSelectedOptions] = React.useState<FilterValue[]>([]); // Filter type: select\n const hasFilters = selected.length > 0;\n\n // Populate values on load\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n const search = new URLSearchParams(window.location.search);\n\n // Strip all index keys from the square brackets\n const filtersFromUrl = [];\n for (const [key, value] of search.entries()) {\n const updatedKey = key.replaceAll(/\\[\\d+\\]/g, '[]');\n filtersFromUrl.push([updatedKey, value]);\n }\n\n // Conditional logic dependent on the filter type\n if (filter.type === 'date') {\n const fromDate = filtersFromUrl.find(([key]) => key === `${filter.name}[from]`)?.[1];\n const toDate = filtersFromUrl.find(([key]) => key === `${filter.name}[to]`)?.[1];\n if (fromDate && toDate) {\n setSelected([fromDate, toDate]);\n }\n } else if (filter.type === 'greaterThan') {\n const selectedFromUrl = filtersFromUrl\n .filter(([key]) => key === `${filter.name}-GTE`)\n .map(([_, value]) => value);\n if (selectedFromUrl.length > 0) {\n setSelected(selectedFromUrl);\n }\n } else if (filter.type === 'scope') {\n const selectedFromUrl = filtersFromUrl\n .filter(([key]) => key === `scope${filter.name}`)\n .map(([_, value]) => value);\n if (selectedFromUrl.length > 0) {\n setSelected(selectedFromUrl);\n }\n } else if (filter.type === 'select') {\n const selectedFromUrl = filtersFromUrl\n .filter(([key]) => key === `${filter.name}[]`)\n .map(([_, value]) => value);\n if (selectedFromUrl.length > 0) {\n setSelected(selectedFromUrl);\n const selectedOptions = filter.options && filter.options.filter(item =>\n selectedFromUrl.includes(item.value.toString())\n );\n if (selectedOptions && selectedOptions.length > 0) {\n setSelectedOptions(selectedOptions);\n }\n }\n } else {\n // Default case for 'options' type and others\n const selectedFromUrl = filtersFromUrl\n .filter(([key]) => key === `${filter.name}[]`)\n .map(([_, value]) => value);\n if (selectedFromUrl.length > 0) {\n setSelected(selectedFromUrl);\n }\n }\n }\n }, [filter]);\n\n function handleInput(e: React.SyntheticEvent<HTMLInputElement>) {\n const { value, checked } = e.currentTarget;\n\n if (checked) {\n setSelected((curr) => [...curr, value]);\n } else {\n setSelected(selected.filter((f) => f !== value));\n }\n }\n\n function handleDateSelect(e: React.SyntheticEvent<HTMLInputElement>) {\n const { name, value } = e.currentTarget;\n\n // First value in \"selected\" will be the \"from\", second will be the \"to\"\n if (name.includes('from')) {\n return setSelected([value]);\n }\n\n if (name.includes('to')) {\n // Make sure we have a \"from\" value first\n if (selected.length === 0) {\n // We'll default to a year ago if nothing entered\n return setSelected([format(subYears(new Date(), 1), 'yyyy-MM-dd'), value]);\n }\n return setSelected([selected[0], value]);\n }\n\n return setSelected([]);\n }\n\n /**\n * Handle Select for FilterType: Select\n */\n const handleSelectedOptions = (options: FilterValue[] | any) => {\n setSelectedOptions(options);\n const selectedValues = options.map((option : FilterValue) => option.value.toString());\n\n if (selectedValues.length > 0) {\n setSelected(selectedValues);\n } else {\n setSelected([]);\n }\n };\n\n /**\n * For Filter Select\n * Removes the Clear Button\n */\n function NullComponent() {\n return null;\n }\n\n function handleSelect(e: React.SyntheticEvent<HTMLSelectElement>) {\n const { value } = e.currentTarget;\n\n if (value) {\n setSelected([value]);\n } else {\n setSelected([]);\n }\n }\n\n function handleText(e: React.SyntheticEvent<HTMLInputElement>) {\n const { value } = e.currentTarget;\n\n if (value) {\n setSelected([value]);\n } else {\n setSelected([]);\n }\n }\n\n function handleApply(e: React.FormEvent) {\n e.preventDefault();\n\n const search = new URLSearchParams(window.location.search);\n\n // Reset the page in the query\n search.set('page', '1');\n\n if (filter.type === 'date') {\n const [from, to] = selected;\n\n search.set(`${filter.name}[from]`, from ?? format(new Date(), 'yyyy-MM-dd'));\n search.set(`${filter.name}[to]`, to ?? format(new Date(), 'yyyy-MM-dd'));\n } else if (filter.type === 'greaterThan') {\n search.delete(`${filter.name}-GTE`);\n\n if (selected.length > 0) {\n search.set(`${filter.name}-GTE`, selected[0]);\n }\n } else if (filter.type === 'scope') {\n search.delete(`${filter.name}`);\n if (selected.length > 0) {\n search.set(`scope${filter.name}`, selected[0]);\n }\n } else {\n // Funny way to clear all selected options by index\n Array.from({length: filter.options?.length || 50}).forEach((_v, i) => {\n // Clear this filter first\n search.delete(`${filter.name}[${i}]`);\n })\n\n // Apply the filters to the query string\n selected.forEach((selectedValue) => {\n // Fall back to option equality filters\n search.append(`${filter.name}[]`, selectedValue);\n });\n }\n\n // Fetch new data\n router.get(`${window.location.pathname}?${search.toString()}`);\n }\n\n function handleClear() {\n const search = new URLSearchParams(window.location.search);\n\n // Reset the page in the query\n search.set('page', '1');\n\n // Clear this filter\n if (filter.type === 'date') {\n search.delete(`${filter.name}[from]`);\n search.delete(`${filter.name}[to]`);\n } else if (filter.type === 'greaterThan') {\n search.delete(`${filter.name}-GTE`);\n } else if (filter.type === 'scope') {\n search.delete(`scope${filter.name}`);\n } else {\n selected.forEach((_v, i) => {\n search.delete(`${filter.name}[${i}]`);\n });\n }\n\n // Reset the local state\n setSelected([]);\n setSelectedOptions([]);\n\n // Fetch new data\n router.get(`${window.location.pathname}?${search.toString()}`);\n }\n\n function handleClick(force?: boolean) {\n if (typeof force === 'boolean') {\n return setOpen(force);\n }\n\n setOpen(!isOpen);\n }\n\n return (\n <Dropdown onClose={() => setOpen(!open)} active={isOpen} title={\n <div\n onClick={() => handleClick()}\n className={cn(\n 'flex rounded-2xl border hover:cursor-pointer hover:border-accent bg-gray-600 px-2 py-1 items-center justify-between shrink-0 gap-2 text-xs text-white hover:bg-accent transition-colors',\n {\n '!bg-accent border-accent': hasFilters,\n }\n )}>\n <p className=\"whitespace-nowrap\">{filter.label}</p>\n <HiChevronDown />\n </div>\n }>\n <form\n className={`mt-2 flex max-h-[350px] min-w-[200px] max-w-[260px] flex-col gap-2 rounded-md border border-gray-300 bg-white shadow-lg ${ filter.type && filter.type === 'select' ? '' : 'overflow-y-scroll'}`}\n onSubmit={handleApply}\n >\n <div className=\"flex flex-col items-start gap-1 p-4\">\n {(!filter.type || filter.type === 'options') &&\n filter.options?.map((option, i) => (\n <div className=\"checkbox text-sm \" key={`${option.label}-${i}`}>\n <input\n type=\"checkbox\"\n name={filter.name}\n id={option.label}\n value={option.value.toString()}\n checked={selected.includes(option.value.toString())}\n onChange={handleInput}\n />\n <label className=\"leading-tight\" htmlFor={option.label}>\n {option.label}\n </label>\n </div>\n ))}\n {filter.type === 'greaterThan' && filter.options && (\n <label className=\"mb-2 w-full\">\n <div className=\"text-sm\">Greater than or equal to</div>\n <select\n name={filter.name}\n id={filter.label}\n value={selected[0]}\n onChange={handleSelect}\n className=\"!p-2 text-sm w-full\"\n >\n <option value=\"\">Select option</option>\n {filter.options?.map((option) => (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n </label>\n )}\n {filter.type === 'scope' && filter.options && (\n <label className=\"mb-2 w-full\">\n <select\n name={filter.name}\n id={filter.label}\n value={selected[0]}\n onChange={handleSelect}\n className=\"!p-2 text-sm w-full\"\n >\n <option value=\"\">Select option</option>\n {filter.options?.map((option) => (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n </label>\n )}\n {filter.type === 'date' && (\n <div className=\"mb-2 flex flex-col gap-4 w-full\">\n <label className=\"text-xs w-full\">\n From\n <input\n type=\"date\"\n name={`${filter.name}[from]`}\n id={`${filter.name}[from]`}\n onChange={handleDateSelect}\n value={selected[0] ?? ''}\n className=\"!p-2 text-sm w-full\"\n />\n </label>\n <label className=\"text-xs w-full\">\n To\n <input\n type=\"date\"\n name={`${filter.name}[to]`}\n id={`${filter.name}[to]`}\n onChange={handleDateSelect}\n value={selected[1] ?? ''}\n className=\"!p-2 text-sm w-full\"\n />\n </label>\n </div>\n )}\n {filter.type === 'select' && filter.options && (\n <div className=\"w-full\">\n <Select\n isMulti\n options={filter.options}\n className=\"basic-multi-select text-xs w-52 !transition-none\"\n classNamePrefix=\"select\"\n onChange={handleSelectedOptions}\n components={{\n ClearIndicator: NullComponent, // Hide the ClearIndicator (X button) -> exits filter when clicked\n }}\n value={selectedOptions}\n theme={(theme) => ({\n ...theme,\n colors: {\n ...theme.colors,\n primary25: 'rgb(111, 199, 182)',\n primary: 'rgb(111, 199, 182)',\n },\n })}\n />\n </div>\n )}\n {filter.type === 'text' && (\n <div className={'w-full'}>\n <input\n type=\"text\"\n name={filter.name}\n placeholder={filter.label}\n value={selected[0] ?? ''}\n onChange={handleText}\n className=\"!p-2 text-sm w-full\"\n />\n </div>\n )}\n </div>\n <div className=\"bg-gray-100 border-t border-gray-200 flex items-center gap-2 p-4 bottom-0 sticky\">\n <Button type=\"button\" className=\"!min-w-[0px] flex-grow !px-2 text-sm !transition-none\" onClick={handleClear} small>\n Clear\n </Button>\n <Button type=\"submit\" status=\"primary\" className=\"!min-w-[0px] flex-grow !px-2 text-sm !transition-none\" small>\n Apply\n </Button>\n </div>\n </form>\n </Dropdown>\n );\n}\n"],"names":["FilterItem","filter","isOpen","setOpen","React","selected","setSelected","selectedOptions","setSelectedOptions","hasFilters","search","filtersFromUrl","key","value","updatedKey","fromDate","toDate","selectedFromUrl","_","item","handleInput","e","checked","curr","f","handleDateSelect","name","format","subYears","handleSelectedOptions","options","selectedValues","option","NullComponent","handleSelect","handleText","handleApply","from","to","_v","i","selectedValue","router","handleClear","handleClick","force","jsx","Dropdown","jsxs","cn","HiChevronDown","Select","theme","Button"],"mappings":"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"}