@star-insure/sdk 6.8.2 → 6.8.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 (119) hide show
  1. package/dist/index.d.ts +2 -2
  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 +2 -2
  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 +4 -4
  14. package/dist/sdk.es113.js +4 -4
  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.es140.js +1 -1
  36. package/dist/sdk.es142.js +1 -1
  37. package/dist/sdk.es144.js +25 -6
  38. package/dist/sdk.es144.js.map +1 -1
  39. package/dist/sdk.es145.js +99 -5
  40. package/dist/sdk.es145.js.map +1 -1
  41. package/dist/sdk.es146.js +47 -11
  42. package/dist/sdk.es146.js.map +1 -1
  43. package/dist/sdk.es147.js +9 -7
  44. package/dist/sdk.es147.js.map +1 -1
  45. package/dist/sdk.es148.js +9 -6
  46. package/dist/sdk.es148.js.map +1 -1
  47. package/dist/sdk.es149.js +14 -25
  48. package/dist/sdk.es149.js.map +1 -1
  49. package/dist/sdk.es150.js +10 -99
  50. package/dist/sdk.es150.js.map +1 -1
  51. package/dist/sdk.es151.js +6 -47
  52. package/dist/sdk.es151.js.map +1 -1
  53. package/dist/sdk.es152.js +5 -9
  54. package/dist/sdk.es152.js.map +1 -1
  55. package/dist/sdk.es153.js +10 -9
  56. package/dist/sdk.es153.js.map +1 -1
  57. package/dist/sdk.es154.js +7 -13
  58. package/dist/sdk.es154.js.map +1 -1
  59. package/dist/sdk.es155.js +6 -10
  60. package/dist/sdk.es155.js.map +1 -1
  61. package/dist/sdk.es26.js +1 -1
  62. package/dist/sdk.es27.js +1 -1
  63. package/dist/sdk.es28.js +1 -1
  64. package/dist/sdk.es29.js +1 -1
  65. package/dist/sdk.es30.js +1 -1
  66. package/dist/sdk.es31.js +1 -1
  67. package/dist/sdk.es33.js +1 -1
  68. package/dist/sdk.es36.js +6 -6
  69. package/dist/sdk.es46.js +3 -5
  70. package/dist/sdk.es46.js.map +1 -1
  71. package/dist/sdk.es47.js +5 -22
  72. package/dist/sdk.es47.js.map +1 -1
  73. package/dist/sdk.es48.js +19 -77
  74. package/dist/sdk.es48.js.map +1 -1
  75. package/dist/sdk.es49.js +66 -63
  76. package/dist/sdk.es49.js.map +1 -1
  77. package/dist/sdk.es50.js +72 -227
  78. package/dist/sdk.es50.js.map +1 -1
  79. package/dist/sdk.es51.js +231 -25
  80. package/dist/sdk.es51.js.map +1 -1
  81. package/dist/sdk.es52.js +26 -3
  82. package/dist/sdk.es52.js.map +1 -1
  83. package/dist/sdk.es63.js +7 -7
  84. package/dist/sdk.es80.js +3684 -34
  85. package/dist/sdk.es80.js.map +1 -1
  86. package/dist/sdk.es81.js +6 -2
  87. package/dist/sdk.es81.js.map +1 -1
  88. package/dist/sdk.es82.js +2 -54
  89. package/dist/sdk.es82.js.map +1 -1
  90. package/dist/sdk.es83.js +40 -10
  91. package/dist/sdk.es83.js.map +1 -1
  92. package/dist/sdk.es84.js +2 -21
  93. package/dist/sdk.es84.js.map +1 -1
  94. package/dist/sdk.es85.js +52 -3688
  95. package/dist/sdk.es85.js.map +1 -1
  96. package/dist/sdk.es86.js +10 -6
  97. package/dist/sdk.es86.js.map +1 -1
  98. package/dist/sdk.es87.js +21 -2
  99. package/dist/sdk.es87.js.map +1 -1
  100. package/dist/sdk.es88.js +2 -11
  101. package/dist/sdk.es88.js.map +1 -1
  102. package/dist/sdk.es89.js +8 -8
  103. package/dist/sdk.es89.js.map +1 -1
  104. package/dist/sdk.es90.js +10 -12
  105. package/dist/sdk.es90.js.map +1 -1
  106. package/dist/sdk.es91.js +12 -10
  107. package/dist/sdk.es91.js.map +1 -1
  108. package/dist/sdk.es92.js +10 -18
  109. package/dist/sdk.es92.js.map +1 -1
  110. package/dist/sdk.es93.js +18 -5
  111. package/dist/sdk.es93.js.map +1 -1
  112. package/dist/sdk.es94.js +6 -55
  113. package/dist/sdk.es94.js.map +1 -1
  114. package/dist/sdk.es95.js +55 -2
  115. package/dist/sdk.es95.js.map +1 -1
  116. package/dist/sdk.es98.js +1 -1
  117. package/dist/sdk.es99.js +3 -3
  118. package/package.json +2 -2
  119. package/src/types/models/quotes/QuoteRequest.ts +2 -2
package/dist/sdk.es29.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { j as e } from "./sdk.es39.js";
2
2
  import o from "react";
3
3
  import { Link as x } from "@inertiajs/react";
4
- import u from "./sdk.es46.js";
4
+ import u from "./sdk.es47.js";
5
5
  function g({
6
6
  children: i,
7
7
  className: c = "",
package/dist/sdk.es30.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { j as a } from "./sdk.es39.js";
2
- import g from "./sdk.es46.js";
2
+ import g from "./sdk.es47.js";
3
3
  function c({ children: o, className: r = "", onClick: t = () => {
4
4
  }, ...e }) {
5
5
  const n = r.includes("bg") ? "" : "bg-white even:bg-gray-50";
package/dist/sdk.es31.js CHANGED
@@ -6,7 +6,7 @@ import "./sdk.es10.js";
6
6
  import "./sdk.es11.js";
7
7
  import "./sdk.es12.js";
8
8
  import { calculateAge as D } from "./sdk.es14.js";
9
- import { l as y } from "./sdk.es52.js";
9
+ import { l as y } from "./sdk.es46.js";
10
10
  function P({
11
11
  name: s = "dob",
12
12
  id: c = "dob",
package/dist/sdk.es33.js CHANGED
@@ -6,7 +6,7 @@ import { useToast as U } from "./sdk.es9.js";
6
6
  import "./sdk.es10.js";
7
7
  import "./sdk.es11.js";
8
8
  import "./sdk.es12.js";
9
- import o from "./sdk.es46.js";
9
+ import o from "./sdk.es47.js";
10
10
  const I = [
11
11
  "POOR",
12
12
  "FAIR",
package/dist/sdk.es36.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { j as t } from "./sdk.es39.js";
2
2
  import n from "react";
3
- import m from "./sdk.es46.js";
4
- import { BackButton as $ } from "./sdk.es47.js";
5
- import X from "./sdk.es48.js";
6
- import Y from "./sdk.es49.js";
7
- import { FilterItem as q } from "./sdk.es50.js";
8
- import { HiXMark as z, HiChevronLeft as D, HiChevronRight as F } from "./sdk.es51.js";
3
+ import m from "./sdk.es47.js";
4
+ import { BackButton as $ } from "./sdk.es48.js";
5
+ import X from "./sdk.es49.js";
6
+ import Y from "./sdk.es50.js";
7
+ import { FilterItem as q } from "./sdk.es51.js";
8
+ import { HiXMark as z, HiChevronLeft as D, HiChevronRight as F } from "./sdk.es52.js";
9
9
  function N({
10
10
  title: a,
11
11
  search: c,
package/dist/sdk.es46.js CHANGED
@@ -1,8 +1,6 @@
1
- import { getDefaultExportFromCjs as r } from "./sdk.es86.js";
2
- import { __require as s } from "./sdk.es80.js";
3
- var e = s();
4
- const t = /* @__PURE__ */ r(e);
1
+ import { __require as r } from "./sdk.es80.js";
2
+ var a = r();
5
3
  export {
6
- t as default
4
+ a as l
7
5
  };
8
6
  //# sourceMappingURL=sdk.es46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es46.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"sdk.es46.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/dist/sdk.es47.js CHANGED
@@ -1,25 +1,8 @@
1
- import { j as n } from "./sdk.es39.js";
2
- import { Link as c } from "@inertiajs/react";
3
- import i from "react";
4
- import { HiArrowLeft as a } from "./sdk.es51.js";
5
- import { usePage as l } from "./sdk.es41.js";
6
- import p from "./sdk.es46.js";
7
- function w({ back: e, className: s }) {
8
- const [f, m] = i.useState(typeof e == "string" ? e : void 0), { breadcrumbs: t } = l().props;
9
- return i.useEffect(() => {
10
- if (typeof window < "u") {
11
- if (!t) return;
12
- if (e && typeof e == "boolean") {
13
- const r = t.slice(t.length - 2, t.length - 1);
14
- if (r && r.length === 1) {
15
- const o = r[0].url;
16
- o && m(new URL(o).pathname);
17
- }
18
- }
19
- }
20
- }, [t]), /* @__PURE__ */ n.jsx(c, { href: f || "/", className: p(s, "flex items-center justify-center text-primary hover:text-accent transition-all"), children: /* @__PURE__ */ n.jsx(a, { className: "h-5 w-5 stroke-[1.25]" }) });
21
- }
1
+ import { getDefaultExportFromCjs as r } from "./sdk.es81.js";
2
+ import { __require as s } from "./sdk.es83.js";
3
+ var e = s();
4
+ const t = /* @__PURE__ */ r(e);
22
5
  export {
23
- w as BackButton
6
+ t as default
24
7
  };
25
8
  //# sourceMappingURL=sdk.es47.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es47.js","sources":["../src/components/filter/Back.tsx"],"sourcesContent":["import { Link } from \"@inertiajs/react\";\nimport React from \"react\";\nimport { HiArrowLeft } from \"react-icons/hi2\";\nimport { usePage } from \"../../lib/page\";\nimport cn from 'classnames';\n\nexport function BackButton({ back, className }: { back?: string | boolean; className?: string; }) {\n const [backUrl, setBackUrl] = React.useState<string | undefined>(typeof back === 'string' ? back : undefined);\n const { breadcrumbs } = usePage().props;\n\n /**\n * Set the back URL on mount\n */\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (!breadcrumbs) return;\n // Set back button URL\n if (back && typeof back === 'boolean') {\n // If we haven't provided a path as a prop, use the last breadcrumb that's not the current one\n const crumb = breadcrumbs.slice(breadcrumbs.length - 2, breadcrumbs.length - 1);\n if (crumb && crumb.length === 1) {\n // Strip off everything but the path so the <Link> component works\n const url = crumb[0].url;\n if (url) {\n setBackUrl(new URL(url).pathname);\n }\n }\n }\n }\n }, [breadcrumbs]);\n\n return (\n <Link href={backUrl || '/'} className={cn(className, 'flex items-center justify-center text-primary hover:text-accent transition-all')}>\n <HiArrowLeft className=\"h-5 w-5 stroke-[1.25]\" />\n </Link>\n );\n}"],"names":["BackButton","back","className","backUrl","setBackUrl","React","breadcrumbs","usePage","crumb","url","jsx","Link","cn","HiArrowLeft"],"mappings":";;;;;;AAMO,SAASA,EAAW,EAAE,MAAAC,GAAM,WAAAC,KAA+D;AAC9F,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAM,SAA6B,OAAOJ,KAAS,WAAWA,IAAO,MAAS,GACtG,EAAE,aAAAK,EAAA,IAAgBC,EAAA,EAAU;AAKlCF,SAAAA,EAAM,UAAU,MAAM;AAClB,QAAI,OAAO,SAAW,KAAa;AAC/B,UAAI,CAACC,EAAa;AAElB,UAAIL,KAAQ,OAAOA,KAAS,WAAW;AAEnC,cAAMO,IAAQF,EAAY,MAAMA,EAAY,SAAS,GAAGA,EAAY,SAAS,CAAC;AAC9E,YAAIE,KAASA,EAAM,WAAW,GAAG;AAE7B,gBAAMC,IAAMD,EAAM,CAAC,EAAE;AACrB,UAAIC,KACAL,EAAW,IAAI,IAAIK,CAAG,EAAE,QAAQ;AAAA,QAExC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,GAAG,CAACH,CAAW,CAAC,GAGZI,gBAAAA,EAAAA,IAACC,GAAA,EAAK,MAAMR,KAAW,KAAK,WAAWS,EAAGV,GAAW,gFAAgF,GACjI,UAAAQ,gBAAAA,MAACG,GAAA,EAAY,WAAU,yBAAwB,GACnD;AAER;"}
1
+ {"version":3,"file":"sdk.es47.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/dist/sdk.es48.js CHANGED
@@ -1,83 +1,25 @@
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: l, active: u, onActive: s, placeholder: m, focusSearchShortcut: f = !1 }) {
11
- const [a, o] = c.useState(""), p = c.useRef(null);
12
- c.useEffect(() => {
1
+ import { j as n } from "./sdk.es39.js";
2
+ import { Link as c } from "@inertiajs/react";
3
+ import i from "react";
4
+ import { HiArrowLeft as a } from "./sdk.es52.js";
5
+ import { usePage as l } from "./sdk.es41.js";
6
+ import p from "./sdk.es47.js";
7
+ function w({ back: e, className: s }) {
8
+ const [f, m] = i.useState(typeof e == "string" ? e : void 0), { breadcrumbs: t } = l().props;
9
+ return i.useEffect(() => {
13
10
  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(p, () => {
24
- a || s(!1);
25
- });
26
- function d(r, n) {
27
- if (r?.preventDefault(), typeof l != "string") return;
28
- let t = l;
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: p, className: "", children: [
34
- !u && /* @__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
- u && /* @__PURE__ */ e.jsxs(
45
- "form",
46
- {
47
- onSubmit: d,
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(""), d(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
- ]
11
+ if (!t) return;
12
+ if (e && typeof e == "boolean") {
13
+ const r = t.slice(t.length - 2, t.length - 1);
14
+ if (r && r.length === 1) {
15
+ const o = r[0].url;
16
+ o && m(new URL(o).pathname);
17
+ }
76
18
  }
77
- )
78
- ] });
19
+ }
20
+ }, [t]), /* @__PURE__ */ n.jsx(c, { href: f || "/", className: p(s, "flex items-center justify-center text-primary hover:text-accent transition-all"), children: /* @__PURE__ */ n.jsx(a, { className: "h-5 w-5 stroke-[1.25]" }) });
79
21
  }
80
22
  export {
81
- E as default
23
+ w as BackButton
82
24
  };
83
25
  //# sourceMappingURL=sdk.es48.js.map
@@ -1 +1 @@
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":";;;;;;;;;AAaA,SAAwBA,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;AAClB,QAAI,OAAO,SAAW,KAAa;AAI/B,YAAME,IAFS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAExC,IAAI,QAAQ;AAE7B,MAAIA,MACAH,EAASG,CAAC,GACVP,EAAS,EAAI;AAAA,IAErB;AAEA,UAAMQ,IAAW,CAACC,MAAqB;AACnC,MAAIP,KAAuBO,EAAE,QAAQ,QACjCA,EAAE,eAAA,GACFT,EAAS,EAAI,IAGbS,EAAE,QAAQ,YACVT,EAAS,EAAK;AAAA,IAEtB;AAEA,kBAAO,iBAAiB,WAAWQ,CAAQ,GAEpC,MAAM;AACT,aAAO,oBAAoB,WAAWA,CAAQ;AAAA,IAClD;AAAA,EACJ,GAAG,CAACN,CAAmB,CAAC,GAKxBQ,EAAgBJ,GAAW,MAAM;AAC7B,IAAKH,KACDH,EAAS,EAAK;AAAA,EAEtB,CAAC;AAKD,WAASW,EAAaF,GAAqBG,GAAwB;AAG/D,QAFAH,GAAG,eAAA,GAEC,OAAOX,KAAW,SAAU;AAEhC,QAAIe,IAAef;AACnB,IAAIe,EAAK,CAAC,MAAM,QACZA,IAAO,IAAIA,CAAI;AAGnB,UAAMC,IAAS,IAAI,gBAAgB,QAAQ,SAAS,MAAM;AAC1D,IAAAA,EAAO,IAAI,UAAUF,KAAiBT,CAAK,GAC3CW,EAAO,IAAI,QAAQ,GAAG,GAEtBC,EAAO,IAAI,GAAGF,CAAI,IAAIC,EAAO,SAAA,CAAU,EAAE;AAAA,EAC7C;AAEA,SACIE,gBAAAA,EAAAA,KAAC,OAAA,EAAI,KAAKV,GAAW,WAAU,IAC1B,UAAA;AAAA,IAAA,CAACP,KACEkB,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,MAAMjB,EAAS,EAAI;AAAA,QAC5B,WAAU;AAAA,QAEV,UAAAiB,gBAAAA,EAAAA,IAACC,GAAA,EAAkB,WAAU,wBAAA,CAAwB;AAAA,MAAA;AAAA,IAAA;AAAA,IAG5DnB,KACGiB,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAUL;AAAA,QACV,WAAU;AAAA,QAEV,UAAA;AAAA,UAAAM,gBAAAA,EAAAA;AAAAA,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,UAAA;AAAA,UAEHE,KACGc,gBAAAA,EAAAA;AAAAA,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,GAAA,EAAQ,WAAU,UAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGrCF,gBAAAA,EAAAA,IAAC,YAAO,MAAK,UACT,gCAACC,GAAA,EAAkB,WAAU,WAAU,EAAA,CAC3C;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GAER;AAER;"}
1
+ {"version":3,"file":"sdk.es48.js","sources":["../src/components/filter/Back.tsx"],"sourcesContent":["import { Link } from \"@inertiajs/react\";\nimport React from \"react\";\nimport { HiArrowLeft } from \"react-icons/hi2\";\nimport { usePage } from \"../../lib/page\";\nimport cn from 'classnames';\n\nexport function BackButton({ back, className }: { back?: string | boolean; className?: string; }) {\n const [backUrl, setBackUrl] = React.useState<string | undefined>(typeof back === 'string' ? back : undefined);\n const { breadcrumbs } = usePage().props;\n\n /**\n * Set the back URL on mount\n */\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (!breadcrumbs) return;\n // Set back button URL\n if (back && typeof back === 'boolean') {\n // If we haven't provided a path as a prop, use the last breadcrumb that's not the current one\n const crumb = breadcrumbs.slice(breadcrumbs.length - 2, breadcrumbs.length - 1);\n if (crumb && crumb.length === 1) {\n // Strip off everything but the path so the <Link> component works\n const url = crumb[0].url;\n if (url) {\n setBackUrl(new URL(url).pathname);\n }\n }\n }\n }\n }, [breadcrumbs]);\n\n return (\n <Link href={backUrl || '/'} className={cn(className, 'flex items-center justify-center text-primary hover:text-accent transition-all')}>\n <HiArrowLeft className=\"h-5 w-5 stroke-[1.25]\" />\n </Link>\n );\n}"],"names":["BackButton","back","className","backUrl","setBackUrl","React","breadcrumbs","usePage","crumb","url","jsx","Link","cn","HiArrowLeft"],"mappings":";;;;;;AAMO,SAASA,EAAW,EAAE,MAAAC,GAAM,WAAAC,KAA+D;AAC9F,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAM,SAA6B,OAAOJ,KAAS,WAAWA,IAAO,MAAS,GACtG,EAAE,aAAAK,EAAA,IAAgBC,EAAA,EAAU;AAKlCF,SAAAA,EAAM,UAAU,MAAM;AAClB,QAAI,OAAO,SAAW,KAAa;AAC/B,UAAI,CAACC,EAAa;AAElB,UAAIL,KAAQ,OAAOA,KAAS,WAAW;AAEnC,cAAMO,IAAQF,EAAY,MAAMA,EAAY,SAAS,GAAGA,EAAY,SAAS,CAAC;AAC9E,YAAIE,KAASA,EAAM,WAAW,GAAG;AAE7B,gBAAMC,IAAMD,EAAM,CAAC,EAAE;AACrB,UAAIC,KACAL,EAAW,IAAI,IAAIK,CAAG,EAAE,QAAQ;AAAA,QAExC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,GAAG,CAACH,CAAW,CAAC,GAGZI,gBAAAA,EAAAA,IAACC,GAAA,EAAK,MAAMR,KAAW,KAAK,WAAWS,EAAGV,GAAW,gFAAgF,GACjI,UAAAQ,gBAAAA,MAACG,GAAA,EAAY,WAAU,yBAAwB,GACnD;AAER;"}
package/dist/sdk.es49.js CHANGED
@@ -1,80 +1,83 @@
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";
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.es52.js";
5
+ import { useClickOutside as x } from "./sdk.es6.js";
6
6
  import "./sdk.es9.js";
7
7
  import "./sdk.es10.js";
8
8
  import "./sdk.es11.js";
9
9
  import "./sdk.es12.js";
10
- import $ from "./sdk.es46.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());
10
+ function E({ search: l, active: u, onActive: s, placeholder: m, focusSearchShortcut: f = !1 }) {
11
+ const [a, o] = c.useState(""), p = 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);
35
19
  };
36
- return window.addEventListener("keydown", n), () => {
37
- window.removeEventListener("keydown", n);
20
+ return window.addEventListener("keydown", r), () => {
21
+ window.removeEventListener("keydown", r);
38
22
  };
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",
23
+ }, [f]), x(p, () => {
24
+ a || s(!1);
25
+ });
26
+ function d(r, n) {
27
+ if (r?.preventDefault(), typeof l != "string") return;
28
+ let t = l;
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: p, className: "", children: [
34
+ !u && /* @__PURE__ */ e.jsx(
35
+ "button",
43
36
  {
44
- ref: j,
45
- "data-tooltip-id": o,
46
- "data-tooltip-content": s,
47
- className: N,
48
- onClick: E,
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
+ u && /* @__PURE__ */ e.jsxs(
45
+ "form",
46
+ {
47
+ onSubmit: d,
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
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,
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",
53
65
  {
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
- )) }) })
66
+ type: "button",
67
+ title: "Clear Search",
68
+ onClick: () => {
69
+ o(""), d(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" }) })
63
75
  ]
64
76
  }
65
77
  )
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
78
  ] });
76
79
  }
77
80
  export {
78
- C as default
81
+ E as default
79
82
  };
80
83
  //# sourceMappingURL=sdk.es49.js.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"sdk.es49.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":";;;;;;;;;AAaA,SAAwBA,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;AAClB,QAAI,OAAO,SAAW,KAAa;AAI/B,YAAME,IAFS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAExC,IAAI,QAAQ;AAE7B,MAAIA,MACAH,EAASG,CAAC,GACVP,EAAS,EAAI;AAAA,IAErB;AAEA,UAAMQ,IAAW,CAACC,MAAqB;AACnC,MAAIP,KAAuBO,EAAE,QAAQ,QACjCA,EAAE,eAAA,GACFT,EAAS,EAAI,IAGbS,EAAE,QAAQ,YACVT,EAAS,EAAK;AAAA,IAEtB;AAEA,kBAAO,iBAAiB,WAAWQ,CAAQ,GAEpC,MAAM;AACT,aAAO,oBAAoB,WAAWA,CAAQ;AAAA,IAClD;AAAA,EACJ,GAAG,CAACN,CAAmB,CAAC,GAKxBQ,EAAgBJ,GAAW,MAAM;AAC7B,IAAKH,KACDH,EAAS,EAAK;AAAA,EAEtB,CAAC;AAKD,WAASW,EAAaF,GAAqBG,GAAwB;AAG/D,QAFAH,GAAG,eAAA,GAEC,OAAOX,KAAW,SAAU;AAEhC,QAAIe,IAAef;AACnB,IAAIe,EAAK,CAAC,MAAM,QACZA,IAAO,IAAIA,CAAI;AAGnB,UAAMC,IAAS,IAAI,gBAAgB,QAAQ,SAAS,MAAM;AAC1D,IAAAA,EAAO,IAAI,UAAUF,KAAiBT,CAAK,GAC3CW,EAAO,IAAI,QAAQ,GAAG,GAEtBC,EAAO,IAAI,GAAGF,CAAI,IAAIC,EAAO,SAAA,CAAU,EAAE;AAAA,EAC7C;AAEA,SACIE,gBAAAA,EAAAA,KAAC,OAAA,EAAI,KAAKV,GAAW,WAAU,IAC1B,UAAA;AAAA,IAAA,CAACP,KACEkB,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,MAAMjB,EAAS,EAAI;AAAA,QAC5B,WAAU;AAAA,QAEV,UAAAiB,gBAAAA,EAAAA,IAACC,GAAA,EAAkB,WAAU,wBAAA,CAAwB;AAAA,MAAA;AAAA,IAAA;AAAA,IAG5DnB,KACGiB,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAUL;AAAA,QACV,WAAU;AAAA,QAEV,UAAA;AAAA,UAAAM,gBAAAA,EAAAA;AAAAA,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,UAAA;AAAA,UAEHE,KACGc,gBAAAA,EAAAA;AAAAA,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,GAAA,EAAQ,WAAU,UAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGrCF,gBAAAA,EAAAA,IAAC,YAAO,MAAK,UACT,gCAACC,GAAA,EAAkB,WAAU,WAAU,EAAA,CAC3C;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GAER;AAER;"}