@next-degree/pickle-shared-js 0.4.31 → 0.6.43

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 (247) hide show
  1. package/dist/company_service_latest-Dwf4Fkjr.d.cts +2641 -0
  2. package/dist/company_service_latest-Dwf4Fkjr.d.ts +2641 -0
  3. package/dist/components/buttons/BackButton.cjs +161 -0
  4. package/dist/components/buttons/BackButton.cjs.map +1 -0
  5. package/dist/components/buttons/BackButton.d.cts +9 -0
  6. package/dist/components/buttons/BackButton.d.ts +9 -0
  7. package/dist/components/buttons/BackButton.js +137 -0
  8. package/dist/components/buttons/BackButton.js.map +1 -0
  9. package/dist/components/company/CompanyBenefits.cjs +38 -0
  10. package/dist/components/company/CompanyBenefits.cjs.map +1 -0
  11. package/dist/components/company/CompanyBenefits.d.cts +8 -0
  12. package/dist/components/company/CompanyBenefits.d.ts +8 -0
  13. package/dist/components/company/CompanyBenefits.js +13 -0
  14. package/dist/components/company/CompanyBenefits.js.map +1 -0
  15. package/dist/components/company/CompanyInformation.cjs +112 -0
  16. package/dist/components/company/CompanyInformation.cjs.map +1 -0
  17. package/dist/components/company/CompanyInformation.d.cts +12 -0
  18. package/dist/components/company/CompanyInformation.d.ts +12 -0
  19. package/dist/components/company/CompanyInformation.js +75 -0
  20. package/dist/components/company/CompanyInformation.js.map +1 -0
  21. package/dist/components/company/CompanyTake.cjs +140 -0
  22. package/dist/components/company/CompanyTake.cjs.map +1 -0
  23. package/dist/components/company/CompanyTake.d.cts +9 -0
  24. package/dist/components/company/CompanyTake.d.ts +9 -0
  25. package/dist/components/company/CompanyTake.js +104 -0
  26. package/dist/components/company/CompanyTake.js.map +1 -0
  27. package/dist/components/jobPost/JobDescription.cjs +205 -0
  28. package/dist/components/jobPost/JobDescription.cjs.map +1 -0
  29. package/dist/components/jobPost/JobDescription.d.cts +8 -0
  30. package/dist/components/jobPost/JobDescription.d.ts +8 -0
  31. package/dist/components/jobPost/JobDescription.js +168 -0
  32. package/dist/components/jobPost/JobDescription.js.map +1 -0
  33. package/dist/components/jobPost/JobHeader.cjs +436 -0
  34. package/dist/components/jobPost/JobHeader.cjs.map +1 -0
  35. package/dist/components/jobPost/JobHeader.d.cts +26 -0
  36. package/dist/components/jobPost/JobHeader.d.ts +26 -0
  37. package/dist/components/jobPost/JobHeader.js +423 -0
  38. package/dist/components/jobPost/JobHeader.js.map +1 -0
  39. package/dist/components/jobPost/JobPost.cjs +1349 -0
  40. package/dist/components/jobPost/JobPost.cjs.map +1 -0
  41. package/dist/components/jobPost/JobPost.d.cts +16 -0
  42. package/dist/components/jobPost/JobPost.d.ts +16 -0
  43. package/dist/components/jobPost/JobPost.js +1336 -0
  44. package/dist/components/jobPost/JobPost.js.map +1 -0
  45. package/dist/components/primitives/avatar.cjs +88 -0
  46. package/dist/components/primitives/avatar.cjs.map +1 -0
  47. package/dist/components/primitives/avatar.d.cts +13 -0
  48. package/dist/components/primitives/avatar.d.ts +13 -0
  49. package/dist/components/primitives/avatar.js +52 -0
  50. package/dist/components/primitives/avatar.js.map +1 -0
  51. package/dist/components/primitives/command.d.cts +3 -3
  52. package/dist/components/primitives/command.d.ts +3 -3
  53. package/dist/components/ui/Avatar.cjs +117 -0
  54. package/dist/components/ui/Avatar.cjs.map +1 -0
  55. package/dist/components/ui/Avatar.d.cts +16 -0
  56. package/dist/components/ui/Avatar.d.ts +16 -0
  57. package/dist/components/ui/Avatar.js +79 -0
  58. package/dist/components/ui/Avatar.js.map +1 -0
  59. package/dist/components/ui/Icon.cjs +114 -0
  60. package/dist/components/ui/Icon.cjs.map +1 -0
  61. package/dist/components/ui/Icon.d.cts +15 -0
  62. package/dist/components/ui/Icon.d.ts +15 -0
  63. package/dist/components/ui/Icon.js +89 -0
  64. package/dist/components/ui/Icon.js.map +1 -0
  65. package/dist/{app/layout.cjs → components/ui/LinkButton.cjs} +25 -35
  66. package/dist/components/ui/LinkButton.cjs.map +1 -0
  67. package/dist/components/ui/LinkButton.d.cts +29 -0
  68. package/dist/components/ui/LinkButton.d.ts +29 -0
  69. package/dist/components/ui/LinkButton.js +26 -0
  70. package/dist/components/ui/LinkButton.js.map +1 -0
  71. package/dist/components/ui/MapComponent.cjs +54 -0
  72. package/dist/components/ui/MapComponent.cjs.map +1 -0
  73. package/dist/components/ui/MapComponent.d.cts +15 -0
  74. package/dist/components/ui/MapComponent.d.ts +15 -0
  75. package/dist/components/ui/MapComponent.js +34 -0
  76. package/dist/components/ui/MapComponent.js.map +1 -0
  77. package/dist/components/ui/PlacesQueryInput.cjs.map +1 -1
  78. package/dist/components/ui/PlacesQueryInput.js.map +1 -1
  79. package/dist/components/ui/ReadMore.cjs +194 -0
  80. package/dist/components/ui/ReadMore.cjs.map +1 -0
  81. package/dist/components/ui/ReadMore.d.cts +9 -0
  82. package/dist/components/ui/ReadMore.d.ts +9 -0
  83. package/dist/components/ui/ReadMore.js +160 -0
  84. package/dist/components/ui/ReadMore.js.map +1 -0
  85. package/dist/contexts/WindowHistoryProvider.cjs +48 -0
  86. package/dist/contexts/WindowHistoryProvider.cjs.map +1 -0
  87. package/dist/contexts/WindowHistoryProvider.d.cts +11 -0
  88. package/dist/contexts/WindowHistoryProvider.d.ts +11 -0
  89. package/dist/contexts/WindowHistoryProvider.js +23 -0
  90. package/dist/contexts/WindowHistoryProvider.js.map +1 -0
  91. package/dist/displayText-C1qKqRYc.d.cts +48 -0
  92. package/dist/displayText-D-OzRlJf.d.ts +48 -0
  93. package/dist/hooks/useDisplayText.cjs +502 -0
  94. package/dist/hooks/useDisplayText.cjs.map +1 -0
  95. package/dist/hooks/useDisplayText.d.cts +8 -0
  96. package/dist/hooks/useDisplayText.d.ts +8 -0
  97. package/dist/hooks/useDisplayText.js +477 -0
  98. package/dist/hooks/useDisplayText.js.map +1 -0
  99. package/dist/hooks/useWindowHistory.cjs +46 -0
  100. package/dist/hooks/useWindowHistory.cjs.map +1 -0
  101. package/dist/hooks/useWindowHistory.d.cts +7 -0
  102. package/dist/hooks/useWindowHistory.d.ts +7 -0
  103. package/dist/hooks/useWindowHistory.js +21 -0
  104. package/dist/hooks/useWindowHistory.js.map +1 -0
  105. package/dist/index.cjs +1564 -72
  106. package/dist/index.cjs.map +1 -1
  107. package/dist/index.d.cts +23 -0
  108. package/dist/index.d.ts +23 -0
  109. package/dist/index.js +1557 -57
  110. package/dist/index.js.map +1 -1
  111. package/dist/job_posting_service_latest-D0AsiA4a.d.cts +2789 -0
  112. package/dist/job_posting_service_latest-D0AsiA4a.d.ts +2789 -0
  113. package/dist/lib/google.cjs +44 -2
  114. package/dist/lib/google.cjs.map +1 -1
  115. package/dist/lib/google.d.cts +22 -1
  116. package/dist/lib/google.d.ts +22 -1
  117. package/dist/lib/google.js +40 -1
  118. package/dist/lib/google.js.map +1 -1
  119. package/dist/lib/icons.cjs +53 -0
  120. package/dist/lib/icons.cjs.map +1 -0
  121. package/dist/lib/icons.d.cts +27 -0
  122. package/dist/lib/icons.d.ts +27 -0
  123. package/dist/lib/icons.js +49 -0
  124. package/dist/lib/icons.js.map +1 -0
  125. package/dist/lib/locations.cjs +45 -0
  126. package/dist/lib/locations.cjs.map +1 -0
  127. package/dist/lib/locations.d.cts +8 -0
  128. package/dist/lib/locations.d.ts +8 -0
  129. package/dist/lib/locations.js +19 -0
  130. package/dist/lib/locations.js.map +1 -0
  131. package/dist/lib/mappings.cjs +443 -0
  132. package/dist/lib/mappings.cjs.map +1 -0
  133. package/dist/lib/mappings.d.cts +4 -0
  134. package/dist/lib/mappings.d.ts +4 -0
  135. package/dist/lib/mappings.js +409 -0
  136. package/dist/lib/mappings.js.map +1 -0
  137. package/dist/lib/salaryRange.cjs +90 -0
  138. package/dist/lib/salaryRange.cjs.map +1 -0
  139. package/dist/lib/salaryRange.d.cts +6 -0
  140. package/dist/lib/salaryRange.d.ts +6 -0
  141. package/dist/lib/salaryRange.js +63 -0
  142. package/dist/lib/salaryRange.js.map +1 -0
  143. package/dist/services/displayText.cjs +470 -0
  144. package/dist/services/displayText.cjs.map +1 -0
  145. package/dist/services/displayText.d.cts +4 -0
  146. package/dist/services/displayText.d.ts +4 -0
  147. package/dist/services/displayText.js +443 -0
  148. package/dist/services/displayText.js.map +1 -0
  149. package/dist/shared_pickle_output_latest-DX6GQoVn.d.cts +194 -0
  150. package/dist/shared_pickle_output_latest-DX6GQoVn.d.ts +194 -0
  151. package/dist/styles/globals.css +829 -0
  152. package/dist/styles/globals.css.map +1 -1
  153. package/dist/types/data/company_service_latest.cjs +228 -0
  154. package/dist/types/data/company_service_latest.cjs.map +1 -0
  155. package/dist/types/data/company_service_latest.d.cts +2 -0
  156. package/dist/types/data/company_service_latest.d.ts +2 -0
  157. package/dist/types/data/company_service_latest.js +186 -0
  158. package/dist/types/data/company_service_latest.js.map +1 -0
  159. package/dist/types/data/job_posting_service_latest.cjs +266 -0
  160. package/dist/types/data/job_posting_service_latest.cjs.map +1 -0
  161. package/dist/types/data/job_posting_service_latest.d.cts +2 -0
  162. package/dist/types/data/job_posting_service_latest.d.ts +2 -0
  163. package/dist/types/data/job_posting_service_latest.js +230 -0
  164. package/dist/types/data/job_posting_service_latest.js.map +1 -0
  165. package/dist/types/data/shared_pickle_output_latest.cjs +82 -0
  166. package/dist/types/data/shared_pickle_output_latest.cjs.map +1 -0
  167. package/dist/types/data/shared_pickle_output_latest.d.cts +2 -0
  168. package/dist/types/data/shared_pickle_output_latest.d.ts +2 -0
  169. package/dist/types/data/shared_pickle_output_latest.js +50 -0
  170. package/dist/types/data/shared_pickle_output_latest.js.map +1 -0
  171. package/dist/types/displayText.errors.cjs +44 -0
  172. package/dist/types/displayText.errors.cjs.map +1 -0
  173. package/dist/types/displayText.errors.d.cts +8 -0
  174. package/dist/types/displayText.errors.d.ts +8 -0
  175. package/dist/types/displayText.errors.js +18 -0
  176. package/dist/types/displayText.errors.js.map +1 -0
  177. package/package.json +20 -7
  178. package/dist/AmbitBold-3SZZPYLH.otf +0 -0
  179. package/dist/AmbitBoldItalic-JSHFTN4A.otf +0 -0
  180. package/dist/AmbitRegular-MB5U7O3L.otf +0 -0
  181. package/dist/app/layout.cjs.map +0 -1
  182. package/dist/app/layout.css +0 -1411
  183. package/dist/app/layout.css.map +0 -1
  184. package/dist/app/layout.d.cts +0 -11
  185. package/dist/app/layout.d.ts +0 -11
  186. package/dist/app/layout.js +0 -36
  187. package/dist/app/layout.js.map +0 -1
  188. package/dist/app/page.cjs +0 -1517
  189. package/dist/app/page.cjs.map +0 -1
  190. package/dist/app/page.d.cts +0 -5
  191. package/dist/app/page.d.ts +0 -5
  192. package/dist/app/page.js +0 -1491
  193. package/dist/app/page.js.map +0 -1
  194. package/dist/assets/fonts/AmbitBold.cjs +0 -3
  195. package/dist/assets/fonts/AmbitBold.cjs.map +0 -1
  196. package/dist/assets/fonts/AmbitBold.d.cts +0 -2
  197. package/dist/assets/fonts/AmbitBold.d.ts +0 -2
  198. package/dist/assets/fonts/AmbitBold.js +0 -6
  199. package/dist/assets/fonts/AmbitBold.js.map +0 -1
  200. package/dist/assets/fonts/AmbitBoldItalic.cjs +0 -3
  201. package/dist/assets/fonts/AmbitBoldItalic.cjs.map +0 -1
  202. package/dist/assets/fonts/AmbitBoldItalic.d.cts +0 -2
  203. package/dist/assets/fonts/AmbitBoldItalic.d.ts +0 -2
  204. package/dist/assets/fonts/AmbitBoldItalic.js +0 -6
  205. package/dist/assets/fonts/AmbitBoldItalic.js.map +0 -1
  206. package/dist/assets/fonts/AmbitRegular.cjs +0 -3
  207. package/dist/assets/fonts/AmbitRegular.cjs.map +0 -1
  208. package/dist/assets/fonts/AmbitRegular.d.cts +0 -2
  209. package/dist/assets/fonts/AmbitRegular.d.ts +0 -2
  210. package/dist/assets/fonts/AmbitRegular.js +0 -6
  211. package/dist/assets/fonts/AmbitRegular.js.map +0 -1
  212. package/dist/components/demos/ComboboxDemo.cjs +0 -814
  213. package/dist/components/demos/ComboboxDemo.cjs.map +0 -1
  214. package/dist/components/demos/ComboboxDemo.d.cts +0 -5
  215. package/dist/components/demos/ComboboxDemo.d.ts +0 -5
  216. package/dist/components/demos/ComboboxDemo.js +0 -786
  217. package/dist/components/demos/ComboboxDemo.js.map +0 -1
  218. package/dist/components/demos/CounterDemo.cjs +0 -270
  219. package/dist/components/demos/CounterDemo.cjs.map +0 -1
  220. package/dist/components/demos/CounterDemo.d.cts +0 -5
  221. package/dist/components/demos/CounterDemo.d.ts +0 -5
  222. package/dist/components/demos/CounterDemo.js +0 -238
  223. package/dist/components/demos/CounterDemo.js.map +0 -1
  224. package/dist/components/demos/InputDemo.cjs +0 -225
  225. package/dist/components/demos/InputDemo.cjs.map +0 -1
  226. package/dist/components/demos/InputDemo.d.cts +0 -5
  227. package/dist/components/demos/InputDemo.d.ts +0 -5
  228. package/dist/components/demos/InputDemo.js +0 -192
  229. package/dist/components/demos/InputDemo.js.map +0 -1
  230. package/dist/components/demos/PlacesQueryInputDemo.cjs +0 -341
  231. package/dist/components/demos/PlacesQueryInputDemo.cjs.map +0 -1
  232. package/dist/components/demos/PlacesQueryInputDemo.d.cts +0 -5
  233. package/dist/components/demos/PlacesQueryInputDemo.d.ts +0 -5
  234. package/dist/components/demos/PlacesQueryInputDemo.js +0 -309
  235. package/dist/components/demos/PlacesQueryInputDemo.js.map +0 -1
  236. package/dist/components/demos/SelectDemo.cjs +0 -365
  237. package/dist/components/demos/SelectDemo.cjs.map +0 -1
  238. package/dist/components/demos/SelectDemo.d.cts +0 -5
  239. package/dist/components/demos/SelectDemo.d.ts +0 -5
  240. package/dist/components/demos/SelectDemo.js +0 -337
  241. package/dist/components/demos/SelectDemo.js.map +0 -1
  242. package/dist/components/demos/index.cjs +0 -1510
  243. package/dist/components/demos/index.cjs.map +0 -1
  244. package/dist/components/demos/index.d.cts +0 -5
  245. package/dist/components/demos/index.d.ts +0 -5
  246. package/dist/components/demos/index.js +0 -1484
  247. package/dist/components/demos/index.js.map +0 -1
@@ -1,337 +0,0 @@
1
- // src/components/ui/Select.tsx
2
- import * as SelectPrimitive from "@radix-ui/react-select";
3
- import { CheckIcon, ChevronDownIcon, X } from "lucide-react";
4
- import {
5
- forwardRef as forwardRef3,
6
- useEffect,
7
- useRef,
8
- useState
9
- } from "react";
10
-
11
- // src/lib/utils.ts
12
- import { clsx } from "clsx";
13
- import { twMerge } from "tailwind-merge";
14
- function cn(...inputs) {
15
- return twMerge(clsx(inputs));
16
- }
17
-
18
- // src/components/ui/ErrorMessage.tsx
19
- import { jsx } from "react/jsx-runtime";
20
- function ErrorMessage({ message, className, ...props }) {
21
- if (!message) return null;
22
- return /* @__PURE__ */ jsx("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
23
- }
24
- var ErrorMessage_default = ErrorMessage;
25
-
26
- // src/components/primitives/tooltip.tsx
27
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
28
- import * as React from "react";
29
- import { jsx as jsx2 } from "react/jsx-runtime";
30
- var TooltipProvider = TooltipPrimitive.Provider;
31
- var Tooltip = TooltipPrimitive.Root;
32
- var TooltipTrigger = TooltipPrimitive.Trigger;
33
- var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx2(
34
- TooltipPrimitive.Content,
35
- {
36
- ref,
37
- sideOffset,
38
- className: cn(
39
- "z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50",
40
- className
41
- ),
42
- ...props
43
- }
44
- ));
45
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
46
-
47
- // src/components/ui/Label.tsx
48
- import { InfoIcon } from "lucide-react";
49
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
50
- function Label({ text, required, description, className, ...props }) {
51
- if (!text) return null;
52
- return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-row gap-1", children: [
53
- /* @__PURE__ */ jsxs(
54
- "label",
55
- {
56
- className: cn(
57
- "text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
58
- className
59
- ),
60
- ...props,
61
- children: [
62
- text,
63
- required && /* @__PURE__ */ jsx3("span", { className: "text-red-600", children: "\xA0*" })
64
- ]
65
- }
66
- ),
67
- !!description && /* @__PURE__ */ jsx3(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
68
- /* @__PURE__ */ jsx3(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx3(InfoIcon, { className: "h-4 w-4" }) }),
69
- /* @__PURE__ */ jsx3(TooltipContent, { className: "max-w-48", children: description })
70
- ] }) })
71
- ] });
72
- }
73
- var Label_default = Label;
74
-
75
- // src/components/ui/Chip.tsx
76
- import { cva } from "cva";
77
- import { twMerge as twMerge2 } from "tailwind-merge";
78
- import { jsx as jsx4 } from "react/jsx-runtime";
79
- var Chip = ({ className, variant, size, ...props }) => /* @__PURE__ */ jsx4("div", { className: twMerge2(chipVariants({ variant, size, className })), ...props });
80
- var chipVariants = cva(["flex", "items-center", "rounded-3xl", "border", "w-fit"], {
81
- variants: {
82
- variant: {
83
- neutral: ["text-grey-80", "border-grey-10"],
84
- primary: ["text-purple-100", "border-purple-20"],
85
- danger: ["text-pumpkin-100", "border-pumpkin-20"],
86
- onboarding: ["text-green-100", "bg-green-10", "cursor-pointer"],
87
- onboardingSelected: ["text-white", "bg-green-90", "cursor-pointer"]
88
- },
89
- size: {
90
- small: ["text-sm", "leading-5", "px-2", "py-1", "gap-1.5"],
91
- medium: ["text-base", "leading-6", "px-3", "py-2", "gap-2"]
92
- }
93
- },
94
- defaultVariants: {
95
- variant: "neutral",
96
- size: "medium"
97
- }
98
- });
99
- var Chip_default = Chip;
100
-
101
- // src/components/primitives/separator.tsx
102
- import * as SeparatorPrimitive from "@radix-ui/react-separator";
103
- import * as React2 from "react";
104
- import { jsx as jsx5 } from "react/jsx-runtime";
105
- var Separator = React2.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx5(
106
- SeparatorPrimitive.Root,
107
- {
108
- ref,
109
- decorative,
110
- orientation,
111
- className: cn(
112
- "shrink-0 bg-grey-10",
113
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
114
- className
115
- ),
116
- ...props
117
- }
118
- ));
119
- Separator.displayName = SeparatorPrimitive.Root.displayName;
120
-
121
- // src/components/ui/Select.tsx
122
- import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
123
- var Select = forwardRef3(
124
- ({ label, options, placeholder, multiselect, description, classNames, error, id, ...props }, ref) => {
125
- const { value, defaultValue, dir, className, onChange, ...rest } = props;
126
- const [selected, setSelected] = useState([]);
127
- const [open, setOpen] = useState(false);
128
- const containerRef = useRef(null);
129
- useEffect(() => {
130
- if (!value) return setSelected([]);
131
- setSelected(Array.isArray(value) ? value : [value]);
132
- }, [value]);
133
- const toggleOpen = () => setOpen((prev) => !prev);
134
- const closeOnEscape = (event) => event.key === "Escape" && setOpen(false);
135
- const setValueOnEnter = (event, value2) => event.key === "Enter" && handleChange(value2);
136
- const chipLabels = selected?.map((s) => options?.find(({ value: value2 }) => value2 === s)).filter(Boolean);
137
- function handleLabels() {
138
- if (multiselect) {
139
- return selected.map((o) => options?.find((option) => option.value === o)?.title).join(", ");
140
- }
141
- return options?.find((option) => option.value === selected.join())?.title;
142
- }
143
- function handleOnOpenChange(isOpen) {
144
- if (!multiselect || isOpen) setOpen(isOpen);
145
- }
146
- function handleChange(newValue) {
147
- let newSelected = [];
148
- setSelected((prev) => {
149
- newSelected = prev.includes(newValue) ? prev.filter((item) => item !== newValue) : [...prev, newValue];
150
- return multiselect ? newSelected : [newValue];
151
- });
152
- onChange?.(multiselect ? newSelected : newValue);
153
- }
154
- return /* @__PURE__ */ jsxs2(
155
- "div",
156
- {
157
- className: cn("flex w-full flex-col gap-1", className),
158
- ref: containerRef,
159
- "data-testid": `${(label ?? id)?.toLowerCase()}-select-element`,
160
- children: [
161
- /* @__PURE__ */ jsx6(
162
- Label_default,
163
- {
164
- text: label,
165
- htmlFor: props.name,
166
- required: props.required,
167
- description,
168
- className: classNames?.label
169
- }
170
- ),
171
- /* @__PURE__ */ jsxs2(
172
- SelectPrimitive.Root,
173
- {
174
- open,
175
- value: selected.join(","),
176
- onOpenChange: handleOnOpenChange,
177
- onValueChange: multiselect ? void 0 : handleChange,
178
- defaultValue: typeof defaultValue === "string" ? defaultValue : void 0,
179
- dir: dir === "rtl" ? "rtl" : "ltr",
180
- ...rest,
181
- children: [
182
- /* @__PURE__ */ jsxs2(
183
- SelectPrimitive.Trigger,
184
- {
185
- ref,
186
- className: cn(
187
- "group flex h-11 w-full flex-row items-center justify-between gap-3 rounded-lg border px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40",
188
- classNames?.trigger
189
- ),
190
- children: [
191
- /* @__PURE__ */ jsx6("span", { className: "truncate", children: /* @__PURE__ */ jsx6(
192
- SelectPrimitive.Value,
193
- {
194
- placeholder: placeholder ?? "Select an option",
195
- "aria-label": handleLabels(),
196
- children: handleLabels()
197
- }
198
- ) }),
199
- /* @__PURE__ */ jsx6(
200
- ChevronDownIcon,
201
- {
202
- className: "transform text-black group-data-[state=open]:rotate-180",
203
- size: "16"
204
- }
205
- )
206
- ]
207
- }
208
- ),
209
- /* @__PURE__ */ jsx6(SelectPrimitive.Portal, { container: containerRef.current, children: /* @__PURE__ */ jsx6(
210
- SelectPrimitive.Content,
211
- {
212
- hideWhenDetached: true,
213
- className: "z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg",
214
- position: "popper",
215
- sideOffset: 4,
216
- onPointerDownOutside: toggleOpen,
217
- onKeyDown: closeOnEscape,
218
- children: /* @__PURE__ */ jsxs2(SelectPrimitive.Viewport, { children: [
219
- multiselect && !!chipLabels?.length && /* @__PURE__ */ jsx6(
220
- SelectPrimitive.Group,
221
- {
222
- className: "mb-2 flex flex-row flex-wrap gap-1 px-2",
223
- "data-testid": "selected-labels",
224
- children: chipLabels?.map(
225
- (chip) => chip && /* @__PURE__ */ jsxs2(Chip_default, { size: "small", variant: "primary", children: [
226
- /* @__PURE__ */ jsx6("span", { children: chip.title }),
227
- /* @__PURE__ */ jsx6(
228
- X,
229
- {
230
- size: 18,
231
- "data-testid": `chip-remove-${chip.value}`,
232
- className: "cursor-pointer",
233
- onClick: () => handleChange(chip.value)
234
- }
235
- )
236
- ] }, chip.title)
237
- )
238
- }
239
- ),
240
- /* @__PURE__ */ jsx6(Separator, {}),
241
- options?.map(({ id: id2, title, value: value2 }) => /* @__PURE__ */ jsxs2(
242
- SelectPrimitive.Item,
243
- {
244
- value: value2,
245
- className: "group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100",
246
- "data-state": selected.includes(value2) ? "checked" : "unchecked",
247
- onKeyDown: (e) => setValueOnEnter(e, value2),
248
- onClick: () => handleChange(value2),
249
- children: [
250
- /* @__PURE__ */ jsx6(SelectPrimitive.ItemText, { children: title }),
251
- /* @__PURE__ */ jsx6(
252
- CheckIcon,
253
- {
254
- className: "absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block",
255
- size: 16
256
- }
257
- )
258
- ]
259
- },
260
- id2
261
- ))
262
- ] })
263
- }
264
- ) })
265
- ]
266
- }
267
- ),
268
- /* @__PURE__ */ jsx6(ErrorMessage_default, { message: error })
269
- ]
270
- }
271
- );
272
- }
273
- );
274
- Select.displayName = "Select";
275
- var Select_default = Select;
276
-
277
- // src/components/demos/SelectDemo.tsx
278
- import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
279
- function SelectDemo() {
280
- return /* @__PURE__ */ jsxs3("div", { className: "m-4", children: [
281
- /* @__PURE__ */ jsx7("h3", { children: "Select" }),
282
- /* @__PURE__ */ jsxs3("div", { className: "mt-2 flex max-w-sm flex-col gap-4", children: [
283
- /* @__PURE__ */ jsx7(
284
- Select_default,
285
- {
286
- required: true,
287
- label: "Label - Singleselect",
288
- placeholder: "Select an option",
289
- options: [
290
- { id: "1", value: "1", title: "Option 1" },
291
- { id: "2", value: "2", title: "Option 2" },
292
- { id: "3", value: "3", title: "Option 3" }
293
- ]
294
- }
295
- ),
296
- /* @__PURE__ */ jsx7(
297
- Select_default,
298
- {
299
- multiselect: true,
300
- label: "Label - Multiselect",
301
- placeholder: "Select an option",
302
- description: "This is a tooltip",
303
- options: [
304
- { id: "1", value: "1", title: "Option 1" },
305
- { id: "2", value: "2", title: "Option 2" },
306
- { id: "3", value: "3", title: "Option 3" },
307
- { id: "4", value: "4", title: "Option 4" },
308
- { id: "5", value: "5", title: "Option 5" },
309
- { id: "6", value: "6", title: "Option 6" },
310
- { id: "7", value: "7", title: "Option 7" },
311
- { id: "8", value: "8", title: "Option 8" },
312
- { id: "9", value: "9", title: "Option 9" },
313
- { id: "10", value: "10", title: "Option 10" }
314
- ]
315
- }
316
- ),
317
- /* @__PURE__ */ jsx7(
318
- Select_default,
319
- {
320
- disabled: true,
321
- label: "Label - Disabled",
322
- placeholder: "Select an option",
323
- options: [
324
- { id: "1", value: "1", title: "Option 1" },
325
- { id: "2", value: "2", title: "Option 2" },
326
- { id: "3", value: "3", title: "Option 3" }
327
- ]
328
- }
329
- )
330
- ] })
331
- ] });
332
- }
333
- var SelectDemo_default = SelectDemo;
334
- export {
335
- SelectDemo_default as default
336
- };
337
- //# sourceMappingURL=SelectDemo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/ui/Select.tsx","../../../src/lib/utils.ts","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/primitives/tooltip.tsx","../../../src/components/ui/Label.tsx","../../../src/components/ui/Chip.tsx","../../../src/components/primitives/separator.tsx","../../../src/components/demos/SelectDemo.tsx"],"sourcesContent":["'use client'\n\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { CheckIcon, ChevronDownIcon, X } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport Chip from '@/components/ui/Chip'\nimport { Separator } from '@/components/primitives/separator'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {\n label?: string\n value?: string | string[]\n options?: { id: string | number; value: string; title: string }[]\n placeholder?: string\n multiselect?: boolean\n description?: string\n error?: string\n classNames?: { label?: string; trigger?: string }\n onChange?: (value: string | string[]) => void\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n (\n { label, options, placeholder, multiselect, description, classNames, error, id, ...props },\n ref\n ) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props\n const [selected, setSelected] = useState<string[]>([])\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!value) return setSelected([])\n setSelected(Array.isArray(value) ? value : [value])\n }, [value])\n\n const toggleOpen = () => setOpen((prev) => !prev)\n const closeOnEscape = (event: KeyboardEvent) => event.key === 'Escape' && setOpen(false)\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === 'Enter' && handleChange(value)\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean)\n\n function handleLabels() {\n if (multiselect) {\n return selected.map((o) => options?.find((option) => option.value === o)?.title).join(', ')\n }\n return options?.find((option) => option.value === selected.join())?.title\n }\n\n function handleOnOpenChange(isOpen: boolean) {\n if (!multiselect || isOpen) setOpen(isOpen)\n }\n\n function handleChange(newValue: string) {\n let newSelected: string[] = []\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue]\n return multiselect ? newSelected : [newValue]\n })\n onChange?.(multiselect ? newSelected : newValue)\n }\n\n return (\n <div\n className={cn('flex w-full flex-col gap-1', className)}\n ref={containerRef}\n data-testid={`${(label ?? id)?.toLowerCase()}-select-element`}\n >\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n className={classNames?.label}\n />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(',')}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={typeof defaultValue === 'string' ? defaultValue : undefined}\n dir={dir === 'rtl' ? 'rtl' : 'ltr'}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'group flex h-11 w-full flex-row items-center justify-between gap-3 rounded-lg border px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40',\n classNames?.trigger\n )}\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? 'Select an option'}\n aria-label={handleLabels()}\n >\n {handleLabels()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className=\"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg\"\n position=\"popper\"\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n )}\n <Separator />\n {options?.map(({ id, title, value }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className=\"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100\"\n data-state={selected.includes(value) ? 'checked' : 'unchecked'}\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n <CheckIcon\n className=\"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block\"\n size={16}\n />\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { InfoIcon } from 'lucide-react'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","import { cva, type VariantProps } from 'cva'\nimport React from 'react'\nimport { twMerge } from 'tailwind-merge'\n\ninterface ChipProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {}\n\nconst Chip = ({ className, variant, size, ...props }: ChipProps) => (\n <div className={twMerge(chipVariants({ variant, size, className }))} {...props} />\n)\n\nconst chipVariants = cva(['flex', 'items-center', 'rounded-3xl', 'border', 'w-fit'], {\n variants: {\n variant: {\n neutral: ['text-grey-80', 'border-grey-10'],\n primary: ['text-purple-100', 'border-purple-20'],\n danger: ['text-pumpkin-100', 'border-pumpkin-20'],\n onboarding: ['text-green-100', 'bg-green-10', 'cursor-pointer'],\n onboardingSelected: ['text-white', 'bg-green-90', 'cursor-pointer'],\n },\n size: {\n small: ['text-sm', 'leading-5', 'px-2', 'py-1', 'gap-1.5'],\n medium: ['text-base', 'leading-6', 'px-3', 'py-2', 'gap-2'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n})\n\nexport default Chip\n","'use client'\r\n\r\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\nconst Separator = React.forwardRef<\r\n React.ElementRef<typeof SeparatorPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\r\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\r\n <SeparatorPrimitive.Root\r\n ref={ref}\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n 'shrink-0 bg-grey-10',\r\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nSeparator.displayName = SeparatorPrimitive.Root.displayName\r\n\r\nexport { Separator }\r\n","import Select from '@/components/ui/Select'\n\nfunction SelectDemo() {\n return (\n <div className=\"m-4\">\n <h3>Select</h3>\n <div className=\"mt-2 flex max-w-sm flex-col gap-4\">\n <Select\n required\n label=\"Label - Singleselect\"\n placeholder=\"Select an option\"\n options={[\n { id: '1', value: '1', title: 'Option 1' },\n { id: '2', value: '2', title: 'Option 2' },\n { id: '3', value: '3', title: 'Option 3' },\n ]}\n />\n <Select\n multiselect\n label=\"Label - Multiselect\"\n placeholder=\"Select an option\"\n description=\"This is a tooltip\"\n options={[\n { id: '1', value: '1', title: 'Option 1' },\n { id: '2', value: '2', title: 'Option 2' },\n { id: '3', value: '3', title: 'Option 3' },\n { id: '4', value: '4', title: 'Option 4' },\n { id: '5', value: '5', title: 'Option 5' },\n { id: '6', value: '6', title: 'Option 6' },\n { id: '7', value: '7', title: 'Option 7' },\n { id: '8', value: '8', title: 'Option 8' },\n { id: '9', value: '9', title: 'Option 9' },\n { id: '10', value: '10', title: 'Option 10' },\n ]}\n />\n <Select\n disabled\n label=\"Label - Disabled\"\n placeholder=\"Select an option\"\n options={[\n { id: '1', value: '1', title: 'Option 1' },\n { id: '2', value: '2', title: 'Option 2' },\n { id: '3', value: '3', title: 'Option 3' },\n ]}\n />\n </div>\n </div>\n )\n}\n\nexport default SelectDemo\n"],"mappings":";AAEA,YAAY,qBAAqB;AACjC,SAAS,WAAW,iBAAiB,SAAS;AAC9C;AAAA,EAEE,cAAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACXP,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACOI;AAJJ,SAAS,aAAa,EAAE,SAAS,WAAW,GAAG,MAAM,GAAoB;AACvE,MAAI,CAAC,QAAS,QAAO;AAErB,SACE,oBAAC,OAAE,WAAW,GAAG,6BAA6B,SAAS,GAAI,GAAG,OAC3D,mBACH;AAEJ;AAEA,IAAO,uBAAQ;;;AChBf,YAAY,sBAAsB;AAClC,YAAY,WAAW;AAcrB,gBAAAC,YAAA;AAVF,IAAM,kBAAmC;AAEzC,IAAM,UAA2B;AAEjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,iBAG3B,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C,gBAAAA;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;;;AClBtD,SAAS,gBAAgB;AAanB,SAQe,OAAAC,MARf;AALN,SAAS,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW,GAAG,MAAM,GAAoB;AACpF,MAAI,CAAC,KAAM,QAAO;AAElB,SACE,qBAAC,SAAI,WAAU,8BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,YAAY,gBAAAA,KAAC,UAAK,WAAU,gBAAe,mBAAO;AAAA;AAAA;AAAA,IACrD;AAAA,IAEC,CAAC,CAAC,eACD,gBAAAA,KAAC,mBACC,+BAAC,WACC;AAAA,sBAAAA,KAAC,kBAAe,SAAO,MACrB,0BAAAA,KAAC,YAAS,WAAU,WAAU,GAChC;AAAA,MACA,gBAAAA,KAAC,kBAAe,WAAU,YAAY,uBAAY;AAAA,OACpD,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAO,gBAAQ;;;AC/Cf,SAAS,WAA8B;AAEvC,SAAS,WAAAC,gBAAe;AAOtB,gBAAAC,YAAA;AADF,IAAM,OAAO,CAAC,EAAE,WAAW,SAAS,MAAM,GAAG,MAAM,MACjD,gBAAAA,KAAC,SAAI,WAAWD,SAAQ,aAAa,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC,GAAI,GAAG,OAAO;AAGlF,IAAM,eAAe,IAAI,CAAC,QAAQ,gBAAgB,eAAe,UAAU,OAAO,GAAG;AAAA,EACnF,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS,CAAC,gBAAgB,gBAAgB;AAAA,MAC1C,SAAS,CAAC,mBAAmB,kBAAkB;AAAA,MAC/C,QAAQ,CAAC,oBAAoB,mBAAmB;AAAA,MAChD,YAAY,CAAC,kBAAkB,eAAe,gBAAgB;AAAA,MAC9D,oBAAoB,CAAC,cAAc,eAAe,gBAAgB;AAAA,IACpE;AAAA,IACA,MAAM;AAAA,MACJ,OAAO,CAAC,WAAW,aAAa,QAAQ,QAAQ,SAAS;AAAA,MACzD,QAAQ,CAAC,aAAa,aAAa,QAAQ,QAAQ,OAAO;AAAA,IAC5D;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CAAC;AAED,IAAO,eAAQ;;;AC9Bf,YAAY,wBAAwB;AACpC,YAAYE,YAAW;AAQrB,gBAAAC,YAAA;AAJF,IAAM,YAAkB,kBAGtB,CAAC,EAAE,WAAW,cAAc,cAAc,aAAa,MAAM,GAAG,MAAM,GAAG,QACzE,gBAAAA;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,gBAAgB,eAAe,mBAAmB;AAAA,MAClD;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAiC,wBAAK;;;AN4DxC,gBAAAC,MAiBE,QAAAC,aAjBF;AApDR,IAAM,SAASC;AAAA,EACb,CACE,EAAE,OAAO,SAAS,aAAa,aAAa,aAAa,YAAY,OAAO,IAAI,GAAG,MAAM,GACzF,QACG;AACH,UAAM,EAAE,OAAO,cAAc,KAAK,WAAW,UAAU,GAAG,KAAK,IAAI;AACnE,UAAM,CAAC,UAAU,WAAW,IAAI,SAAmB,CAAC,CAAC;AACrD,UAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,UAAM,eAAe,OAAuB,IAAI;AAEhD,cAAU,MAAM;AACd,UAAI,CAAC,MAAO,QAAO,YAAY,CAAC,CAAC;AACjC,kBAAY,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;AAAA,IACpD,GAAG,CAAC,KAAK,CAAC;AAEV,UAAM,aAAa,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI;AAChD,UAAM,gBAAgB,CAAC,UAAyB,MAAM,QAAQ,YAAY,QAAQ,KAAK;AACvF,UAAM,kBAAkB,CAAC,OAAsBC,WAC7C,MAAM,QAAQ,WAAW,aAAaA,MAAK;AAE7C,UAAM,aAAa,UACf,IAAI,CAAC,MAAM,SAAS,KAAK,CAAC,EAAE,OAAAA,OAAM,MAAMA,WAAU,CAAC,CAAC,EACrD,OAAO,OAAO;AAEjB,aAAS,eAAe;AACtB,UAAI,aAAa;AACf,eAAO,SAAS,IAAI,CAAC,MAAM,SAAS,KAAK,CAAC,WAAW,OAAO,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,IAAI;AAAA,MAC5F;AACA,aAAO,SAAS,KAAK,CAAC,WAAW,OAAO,UAAU,SAAS,KAAK,CAAC,GAAG;AAAA,IACtE;AAEA,aAAS,mBAAmB,QAAiB;AAC3C,UAAI,CAAC,eAAe,OAAQ,SAAQ,MAAM;AAAA,IAC5C;AAEA,aAAS,aAAa,UAAkB;AACtC,UAAI,cAAwB,CAAC;AAC7B,kBAAY,CAAC,SAAS;AACpB,sBAAc,KAAK,SAAS,QAAQ,IAChC,KAAK,OAAO,CAAC,SAAS,SAAS,QAAQ,IACvC,CAAC,GAAG,MAAM,QAAQ;AACtB,eAAO,cAAc,cAAc,CAAC,QAAQ;AAAA,MAC9C,CAAC;AACD,iBAAW,cAAc,cAAc,QAAQ;AAAA,IACjD;AAEA,WACE,gBAAAF;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,8BAA8B,SAAS;AAAA,QACrD,KAAK;AAAA,QACL,eAAa,IAAI,SAAS,KAAK,YAAY,CAAC;AAAA,QAE5C;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,SAAS,MAAM;AAAA,cACf,UAAU,MAAM;AAAA,cAChB;AAAA,cACA,WAAW,YAAY;AAAA;AAAA,UACzB;AAAA,UAEA,gBAAAC;AAAA,YAAiB;AAAA,YAAhB;AAAA,cACC;AAAA,cACA,OAAO,SAAS,KAAK,GAAG;AAAA,cACxB,cAAc;AAAA,cACd,eAAe,cAAc,SAAY;AAAA,cACzC,cAAc,OAAO,iBAAiB,WAAW,eAAe;AAAA,cAChE,KAAK,QAAQ,QAAQ,QAAQ;AAAA,cAC5B,GAAG;AAAA,cAEJ;AAAA,gCAAAA;AAAA,kBAAiB;AAAA,kBAAhB;AAAA,oBACC;AAAA,oBACA,WAAW;AAAA,sBACT;AAAA,sBACA,YAAY;AAAA,oBACd;AAAA,oBAEA;AAAA,sCAAAD,KAAC,UAAK,WAAU,YACd,0BAAAA;AAAA,wBAAiB;AAAA,wBAAhB;AAAA,0BACC,aAAa,eAAe;AAAA,0BAC5B,cAAY,aAAa;AAAA,0BAExB,uBAAa;AAAA;AAAA,sBAChB,GACF;AAAA,sBAEA,gBAAAA;AAAA,wBAAC;AAAA;AAAA,0BACC,WAAU;AAAA,0BACV,MAAK;AAAA;AAAA,sBACP;AAAA;AAAA;AAAA,gBACF;AAAA,gBAEA,gBAAAA,KAAiB,wBAAhB,EAAuB,WAAW,aAAa,SAC9C,0BAAAA;AAAA,kBAAiB;AAAA,kBAAhB;AAAA,oBACC,kBAAgB;AAAA,oBAChB,WAAU;AAAA,oBACV,UAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,sBAAsB;AAAA,oBACtB,WAAW;AAAA,oBAEX,0BAAAC,MAAiB,0BAAhB,EACE;AAAA,qCAAe,CAAC,CAAC,YAAY,UAC5B,gBAAAD;AAAA,wBAAiB;AAAA,wBAAhB;AAAA,0BACC,WAAU;AAAA,0BACV,eAAY;AAAA,0BAEX,sBAAY;AAAA,4BACX,CAAC,SACC,QACE,gBAAAC,MAAC,gBAAsB,MAAK,SAAQ,SAAQ,WAC1C;AAAA,8CAAAD,KAAC,UAAM,eAAK,OAAM;AAAA,8BAClB,gBAAAA;AAAA,gCAAC;AAAA;AAAA,kCACC,MAAM;AAAA,kCACN,eAAa,eAAe,KAAK,KAAK;AAAA,kCACtC,WAAU;AAAA,kCACV,SAAS,MAAM,aAAa,KAAK,KAAK;AAAA;AAAA,8BACxC;AAAA,iCAPS,KAAK,KAQhB;AAAA,0BAEN;AAAA;AAAA,sBACF;AAAA,sBAEF,gBAAAA,KAAC,aAAU;AAAA,sBACV,SAAS,IAAI,CAAC,EAAE,IAAAI,KAAI,OAAO,OAAAD,OAAM,MAChC,gBAAAF;AAAA,wBAAiB;AAAA,wBAAhB;AAAA,0BAEC,OAAOE;AAAA,0BACP,WAAU;AAAA,0BACV,cAAY,SAAS,SAASA,MAAK,IAAI,YAAY;AAAA,0BACnD,WAAW,CAAC,MAAM,gBAAgB,GAAGA,MAAK;AAAA,0BAC1C,SAAS,MAAM,aAAaA,MAAK;AAAA,0BAEjC;AAAA,4CAAAH,KAAiB,0BAAhB,EAA0B,iBAAM;AAAA,4BACjC,gBAAAA;AAAA,8BAAC;AAAA;AAAA,gCACC,WAAU;AAAA,gCACV,MAAM;AAAA;AAAA,4BACR;AAAA;AAAA;AAAA,wBAXKI;AAAA,sBAYP,CACD;AAAA,uBACH;AAAA;AAAA,gBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,gBAAAJ,KAAC,wBAAa,SAAS,OAAO;AAAA;AAAA;AAAA,IAChC;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;AAErB,IAAO,iBAAQ;;;AOlLT,gBAAAK,MACA,QAAAC,aADA;AAHN,SAAS,aAAa;AACpB,SACE,gBAAAA,MAAC,SAAI,WAAU,OACb;AAAA,oBAAAD,KAAC,QAAG,oBAAM;AAAA,IACV,gBAAAC,MAAC,SAAI,WAAU,qCACb;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,UAAQ;AAAA,UACR,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAAS;AAAA,YACP,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,UAC3C;AAAA;AAAA,MACF;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,aAAW;AAAA,UACX,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,aAAY;AAAA,UACZ,SAAS;AAAA,YACP,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,MAAM,OAAO,MAAM,OAAO,YAAY;AAAA,UAC9C;AAAA;AAAA,MACF;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAQ;AAAA,UACR,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAAS;AAAA,YACP,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,YACzC,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,WAAW;AAAA,UAC3C;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,qBAAQ;","names":["forwardRef","jsx","jsx","twMerge","jsx","React","jsx","jsx","jsxs","forwardRef","value","id","jsx","jsxs"]}