@next-degree/pickle-shared-js 0.5.31 → 0.6.44

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 (239) hide show
  1. package/dist/company_service_latest-DQ5joNqO.d.cts +4243 -0
  2. package/dist/company_service_latest-DQ5joNqO.d.ts +4243 -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 +1371 -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 +1358 -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/ReadMore.cjs +194 -0
  72. package/dist/components/ui/ReadMore.cjs.map +1 -0
  73. package/dist/components/ui/ReadMore.d.cts +9 -0
  74. package/dist/components/ui/ReadMore.d.ts +9 -0
  75. package/dist/components/ui/ReadMore.js +160 -0
  76. package/dist/components/ui/ReadMore.js.map +1 -0
  77. package/dist/contexts/WindowHistoryProvider.cjs +48 -0
  78. package/dist/contexts/WindowHistoryProvider.cjs.map +1 -0
  79. package/dist/contexts/WindowHistoryProvider.d.cts +11 -0
  80. package/dist/contexts/WindowHistoryProvider.d.ts +11 -0
  81. package/dist/contexts/WindowHistoryProvider.js +23 -0
  82. package/dist/contexts/WindowHistoryProvider.js.map +1 -0
  83. package/dist/displayText-BvUjsvAx.d.cts +48 -0
  84. package/dist/displayText-CDK-QDbc.d.ts +48 -0
  85. package/dist/hooks/useDisplayText.cjs +502 -0
  86. package/dist/hooks/useDisplayText.cjs.map +1 -0
  87. package/dist/hooks/useDisplayText.d.cts +8 -0
  88. package/dist/hooks/useDisplayText.d.ts +8 -0
  89. package/dist/hooks/useDisplayText.js +477 -0
  90. package/dist/hooks/useDisplayText.js.map +1 -0
  91. package/dist/hooks/useWindowHistory.cjs +46 -0
  92. package/dist/hooks/useWindowHistory.cjs.map +1 -0
  93. package/dist/hooks/useWindowHistory.d.cts +7 -0
  94. package/dist/hooks/useWindowHistory.d.ts +7 -0
  95. package/dist/hooks/useWindowHistory.js +21 -0
  96. package/dist/hooks/useWindowHistory.js.map +1 -0
  97. package/dist/index.cjs +1459 -2
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.cts +21 -0
  100. package/dist/index.d.ts +21 -0
  101. package/dist/index.js +1468 -1
  102. package/dist/index.js.map +1 -1
  103. package/dist/job_posting_service_latest-Uc2AcDWn.d.cts +4109 -0
  104. package/dist/job_posting_service_latest-Uc2AcDWn.d.ts +4109 -0
  105. package/dist/lib/icons.cjs +53 -0
  106. package/dist/lib/icons.cjs.map +1 -0
  107. package/dist/lib/icons.d.cts +27 -0
  108. package/dist/lib/icons.d.ts +27 -0
  109. package/dist/lib/icons.js +49 -0
  110. package/dist/lib/icons.js.map +1 -0
  111. package/dist/lib/locations.cjs +45 -0
  112. package/dist/lib/locations.cjs.map +1 -0
  113. package/dist/lib/locations.d.cts +8 -0
  114. package/dist/lib/locations.d.ts +8 -0
  115. package/dist/lib/locations.js +19 -0
  116. package/dist/lib/locations.js.map +1 -0
  117. package/dist/lib/mappings.cjs +443 -0
  118. package/dist/lib/mappings.cjs.map +1 -0
  119. package/dist/lib/mappings.d.cts +4 -0
  120. package/dist/lib/mappings.d.ts +4 -0
  121. package/dist/lib/mappings.js +409 -0
  122. package/dist/lib/mappings.js.map +1 -0
  123. package/dist/lib/salaryRange.cjs +111 -0
  124. package/dist/lib/salaryRange.cjs.map +1 -0
  125. package/dist/lib/salaryRange.d.cts +6 -0
  126. package/dist/lib/salaryRange.d.ts +6 -0
  127. package/dist/lib/salaryRange.js +84 -0
  128. package/dist/lib/salaryRange.js.map +1 -0
  129. package/dist/services/displayText.cjs +470 -0
  130. package/dist/services/displayText.cjs.map +1 -0
  131. package/dist/services/displayText.d.cts +4 -0
  132. package/dist/services/displayText.d.ts +4 -0
  133. package/dist/services/displayText.js +443 -0
  134. package/dist/services/displayText.js.map +1 -0
  135. package/dist/shared_pickle_output_latest-DUO_efBh.d.cts +334 -0
  136. package/dist/shared_pickle_output_latest-DUO_efBh.d.ts +334 -0
  137. package/dist/styles/globals.css +817 -0
  138. package/dist/styles/globals.css.map +1 -1
  139. package/dist/types/data/company_service_latest.cjs +249 -0
  140. package/dist/types/data/company_service_latest.cjs.map +1 -0
  141. package/dist/types/data/company_service_latest.d.cts +2 -0
  142. package/dist/types/data/company_service_latest.d.ts +2 -0
  143. package/dist/types/data/company_service_latest.js +208 -0
  144. package/dist/types/data/company_service_latest.js.map +1 -0
  145. package/dist/types/data/job_posting_service_latest.cjs +289 -0
  146. package/dist/types/data/job_posting_service_latest.cjs.map +1 -0
  147. package/dist/types/data/job_posting_service_latest.d.cts +2 -0
  148. package/dist/types/data/job_posting_service_latest.d.ts +2 -0
  149. package/dist/types/data/job_posting_service_latest.js +253 -0
  150. package/dist/types/data/job_posting_service_latest.js.map +1 -0
  151. package/dist/types/data/shared_pickle_output_latest.cjs +107 -0
  152. package/dist/types/data/shared_pickle_output_latest.cjs.map +1 -0
  153. package/dist/types/data/shared_pickle_output_latest.d.cts +2 -0
  154. package/dist/types/data/shared_pickle_output_latest.d.ts +2 -0
  155. package/dist/types/data/shared_pickle_output_latest.js +73 -0
  156. package/dist/types/data/shared_pickle_output_latest.js.map +1 -0
  157. package/dist/types/displayText.errors.cjs +44 -0
  158. package/dist/types/displayText.errors.cjs.map +1 -0
  159. package/dist/types/displayText.errors.d.cts +8 -0
  160. package/dist/types/displayText.errors.d.ts +8 -0
  161. package/dist/types/displayText.errors.js +18 -0
  162. package/dist/types/displayText.errors.js.map +1 -0
  163. package/package.json +19 -7
  164. package/dist/AmbitBold-3SZZPYLH.otf +0 -0
  165. package/dist/AmbitBoldItalic-JSHFTN4A.otf +0 -0
  166. package/dist/AmbitRegular-MB5U7O3L.otf +0 -0
  167. package/dist/app/layout.cjs.map +0 -1
  168. package/dist/app/layout.css +0 -1423
  169. package/dist/app/layout.css.map +0 -1
  170. package/dist/app/layout.d.cts +0 -11
  171. package/dist/app/layout.d.ts +0 -11
  172. package/dist/app/layout.js +0 -36
  173. package/dist/app/layout.js.map +0 -1
  174. package/dist/app/page.cjs +0 -1607
  175. package/dist/app/page.cjs.map +0 -1
  176. package/dist/app/page.d.cts +0 -5
  177. package/dist/app/page.d.ts +0 -5
  178. package/dist/app/page.js +0 -1581
  179. package/dist/app/page.js.map +0 -1
  180. package/dist/assets/fonts/AmbitBold.cjs +0 -3
  181. package/dist/assets/fonts/AmbitBold.cjs.map +0 -1
  182. package/dist/assets/fonts/AmbitBold.d.cts +0 -2
  183. package/dist/assets/fonts/AmbitBold.d.ts +0 -2
  184. package/dist/assets/fonts/AmbitBold.js +0 -6
  185. package/dist/assets/fonts/AmbitBold.js.map +0 -1
  186. package/dist/assets/fonts/AmbitBoldItalic.cjs +0 -3
  187. package/dist/assets/fonts/AmbitBoldItalic.cjs.map +0 -1
  188. package/dist/assets/fonts/AmbitBoldItalic.d.cts +0 -2
  189. package/dist/assets/fonts/AmbitBoldItalic.d.ts +0 -2
  190. package/dist/assets/fonts/AmbitBoldItalic.js +0 -6
  191. package/dist/assets/fonts/AmbitBoldItalic.js.map +0 -1
  192. package/dist/assets/fonts/AmbitRegular.cjs +0 -3
  193. package/dist/assets/fonts/AmbitRegular.cjs.map +0 -1
  194. package/dist/assets/fonts/AmbitRegular.d.cts +0 -2
  195. package/dist/assets/fonts/AmbitRegular.d.ts +0 -2
  196. package/dist/assets/fonts/AmbitRegular.js +0 -6
  197. package/dist/assets/fonts/AmbitRegular.js.map +0 -1
  198. package/dist/components/demos/ComboboxDemo.cjs +0 -814
  199. package/dist/components/demos/ComboboxDemo.cjs.map +0 -1
  200. package/dist/components/demos/ComboboxDemo.d.cts +0 -5
  201. package/dist/components/demos/ComboboxDemo.d.ts +0 -5
  202. package/dist/components/demos/ComboboxDemo.js +0 -786
  203. package/dist/components/demos/ComboboxDemo.js.map +0 -1
  204. package/dist/components/demos/CounterDemo.cjs +0 -270
  205. package/dist/components/demos/CounterDemo.cjs.map +0 -1
  206. package/dist/components/demos/CounterDemo.d.cts +0 -5
  207. package/dist/components/demos/CounterDemo.d.ts +0 -5
  208. package/dist/components/demos/CounterDemo.js +0 -238
  209. package/dist/components/demos/CounterDemo.js.map +0 -1
  210. package/dist/components/demos/InputDemo.cjs +0 -225
  211. package/dist/components/demos/InputDemo.cjs.map +0 -1
  212. package/dist/components/demos/InputDemo.d.cts +0 -5
  213. package/dist/components/demos/InputDemo.d.ts +0 -5
  214. package/dist/components/demos/InputDemo.js +0 -192
  215. package/dist/components/demos/InputDemo.js.map +0 -1
  216. package/dist/components/demos/MapComponentDemo.cjs +0 -129
  217. package/dist/components/demos/MapComponentDemo.cjs.map +0 -1
  218. package/dist/components/demos/MapComponentDemo.d.cts +0 -5
  219. package/dist/components/demos/MapComponentDemo.d.ts +0 -5
  220. package/dist/components/demos/MapComponentDemo.js +0 -107
  221. package/dist/components/demos/MapComponentDemo.js.map +0 -1
  222. package/dist/components/demos/PlacesQueryInputDemo.cjs +0 -341
  223. package/dist/components/demos/PlacesQueryInputDemo.cjs.map +0 -1
  224. package/dist/components/demos/PlacesQueryInputDemo.d.cts +0 -5
  225. package/dist/components/demos/PlacesQueryInputDemo.d.ts +0 -5
  226. package/dist/components/demos/PlacesQueryInputDemo.js +0 -309
  227. package/dist/components/demos/PlacesQueryInputDemo.js.map +0 -1
  228. package/dist/components/demos/SelectDemo.cjs +0 -365
  229. package/dist/components/demos/SelectDemo.cjs.map +0 -1
  230. package/dist/components/demos/SelectDemo.d.cts +0 -5
  231. package/dist/components/demos/SelectDemo.d.ts +0 -5
  232. package/dist/components/demos/SelectDemo.js +0 -337
  233. package/dist/components/demos/SelectDemo.js.map +0 -1
  234. package/dist/components/demos/index.cjs +0 -1600
  235. package/dist/components/demos/index.cjs.map +0 -1
  236. package/dist/components/demos/index.d.cts +0 -5
  237. package/dist/components/demos/index.d.ts +0 -5
  238. package/dist/components/demos/index.js +0 -1574
  239. package/dist/components/demos/index.js.map +0 -1
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/components/ui/ReadMore.tsx
32
+ var ReadMore_exports = {};
33
+ __export(ReadMore_exports, {
34
+ ReadMore: () => ReadMore
35
+ });
36
+ module.exports = __toCommonJS(ReadMore_exports);
37
+ var import_react2 = require("react");
38
+ var import_react_markdown = __toESM(require("react-markdown"), 1);
39
+
40
+ // src/lib/utils.ts
41
+ var import_clsx = require("clsx");
42
+ var import_tailwind_merge = require("tailwind-merge");
43
+ function cn(...inputs) {
44
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
45
+ }
46
+
47
+ // src/components/ui/Button.tsx
48
+ var import_react_slot = require("@radix-ui/react-slot");
49
+ var import_cva = require("cva");
50
+ var import_react = require("react");
51
+ var import_jsx_runtime = require("react/jsx-runtime");
52
+ var Button = (0, import_react.forwardRef)(
53
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
54
+ const Component = asChild ? import_react_slot.Slot : "button";
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
+ Component,
57
+ {
58
+ className: cn(buttonVariants({ variant, size, className })),
59
+ ref,
60
+ ...props
61
+ }
62
+ );
63
+ }
64
+ );
65
+ Button.displayName = "Button";
66
+ var buttonVariants = (0, import_cva.cva)(
67
+ [
68
+ "flex",
69
+ "items-center",
70
+ "justify-center",
71
+ "gap-2",
72
+ "rounded-full",
73
+ "font-bold",
74
+ "outline-2",
75
+ "outline-offset-2",
76
+ "outline-dashed",
77
+ "outline-transparent"
78
+ ],
79
+ {
80
+ variants: {
81
+ variant: {
82
+ neutral: [
83
+ "bg-black",
84
+ "text-white",
85
+ "hover:bg-grey-90",
86
+ "active:bg-grey-80",
87
+ "focus:outline-purple-100",
88
+ "disabled:text-grey-40",
89
+ "disabled:bg-grey-10"
90
+ ],
91
+ primary: [
92
+ "bg-pickle-100",
93
+ "text-black",
94
+ "hover:bg-pickle-80",
95
+ "active:bg-pickle-60",
96
+ "focus:outline-purple-100",
97
+ "disabled:text-grey-40",
98
+ "disabled:bg-grey-10"
99
+ ],
100
+ secondary: [
101
+ "bg-green-80",
102
+ "text-white",
103
+ "hover:bg-green-90",
104
+ "active:bg-green-100",
105
+ "focus:outline-pickle-100",
106
+ "disabled:text-grey-40",
107
+ "disabled:bg-grey-10"
108
+ ],
109
+ transparent: [
110
+ "text-white",
111
+ "hover:bg-green-80",
112
+ "active:bg-green-100",
113
+ "focus:outline-pickle-100",
114
+ "disabled:text-grey-40"
115
+ ],
116
+ link: [
117
+ "leading-tight",
118
+ "text-black",
119
+ "underline",
120
+ "hover:text-purple-100",
121
+ "focus:text-black",
122
+ "focus:outline-purple-100",
123
+ "active:text-purple-80"
124
+ ]
125
+ },
126
+ size: {
127
+ small: ["h-10", "text-sm", "px-4", "py-2"],
128
+ medium: ["h-12", "text-base", "px-6", "py-3"],
129
+ large: ["h-14", "text-lg", "px-8", "py-4"]
130
+ }
131
+ },
132
+ defaultVariants: {
133
+ variant: "neutral",
134
+ size: "medium"
135
+ },
136
+ compoundVariants: [
137
+ {
138
+ variant: "link",
139
+ size: "small",
140
+ class: ["h-3", "text-xs", "p-0"]
141
+ },
142
+ {
143
+ variant: "link",
144
+ size: "medium",
145
+ class: ["h-4", "text-sm", "p-0"]
146
+ },
147
+ {
148
+ variant: "link",
149
+ size: "large",
150
+ class: ["h-6", "text-base", "p-0"]
151
+ }
152
+ ]
153
+ }
154
+ );
155
+
156
+ // src/components/ui/ReadMore.tsx
157
+ var import_jsx_runtime2 = require("react/jsx-runtime");
158
+ function ReadMore({ text, ...props }) {
159
+ const [isExpanded, setIsExpanded] = (0, import_react2.useState)(false);
160
+ const [maxWords, setMaxWords] = (0, import_react2.useState)(160);
161
+ (0, import_react2.useEffect)(() => {
162
+ const updateMaxWords = () => {
163
+ const windowWidth = window.innerWidth;
164
+ if (windowWidth <= 768) {
165
+ setMaxWords(50);
166
+ } else {
167
+ setMaxWords(160);
168
+ }
169
+ };
170
+ updateMaxWords();
171
+ window.addEventListener("resize", updateMaxWords);
172
+ return () => window.removeEventListener("resize", updateMaxWords);
173
+ }, []);
174
+ function createReadMoreText(text2, maxWords2, isExpanded2) {
175
+ const words = text2.split(" ");
176
+ const snippet2 = isExpanded2 ? text2 : words.slice(0, maxWords2).join(" ");
177
+ const readMoreText = isExpanded2 ? "" : "...";
178
+ return `${snippet2} ${readMoreText}`;
179
+ }
180
+ const toggleText = () => setIsExpanded(!isExpanded);
181
+ const snippet = createReadMoreText(text, maxWords, isExpanded);
182
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { ...props, children: [
183
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { "data-testid": "read-more-text", className: "prose lg:prose-lg", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_markdown.default, { children: snippet }) }),
184
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Button, { className: "mt-2 flex items-center justify-center", variant: "link", onClick: toggleText, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("p", { className: "text-sm font-bold underline underline-offset-2", children: [
185
+ "Read ",
186
+ isExpanded ? "less" : "more"
187
+ ] }) })
188
+ ] });
189
+ }
190
+ // Annotate the CommonJS export names for ESM import in node:
191
+ 0 && (module.exports = {
192
+ ReadMore
193
+ });
194
+ //# sourceMappingURL=ReadMore.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ui/ReadMore.tsx","../../../src/lib/utils.ts","../../../src/components/ui/Button.tsx"],"sourcesContent":["'use client'\n\nimport { ComponentProps, useEffect, useState } from 'react'\nimport Markdown from 'react-markdown'\n\nimport { Button } from '@/components/ui/Button'\n\nexport type ReadMoreProps = ComponentProps<'div'> & {\n text: string\n}\n\nexport function ReadMore({ text, ...props }: Readonly<ReadMoreProps>) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [maxWords, setMaxWords] = useState(160)\n\n useEffect(() => {\n const updateMaxWords = () => {\n const windowWidth = window.innerWidth\n if (windowWidth <= 768) {\n setMaxWords(50)\n } else {\n setMaxWords(160)\n }\n }\n\n updateMaxWords()\n window.addEventListener('resize', updateMaxWords)\n\n return () => window.removeEventListener('resize', updateMaxWords)\n }, [])\n\n function createReadMoreText(text: string, maxWords: number, isExpanded: boolean): string {\n const words = text.split(' ')\n\n const snippet = isExpanded ? text : words.slice(0, maxWords).join(' ')\n const readMoreText = isExpanded ? '' : '...'\n return `${snippet} ${readMoreText}`\n }\n\n const toggleText = () => setIsExpanded(!isExpanded)\n\n const snippet = createReadMoreText(text, maxWords, isExpanded)\n\n return (\n <div {...props}>\n <div data-testid=\"read-more-text\" className=\"prose lg:prose-lg\">\n <Markdown>{snippet}</Markdown>\n </div>\n <Button className=\"mt-2 flex items-center justify-center\" variant=\"link\" onClick={toggleText}>\n <p className=\"text-sm font-bold underline underline-offset-2\">\n Read {isExpanded ? 'less' : 'more'}\n </p>\n </Button>\n </div>\n )\n}\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 { cn } from '@/lib/utils'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport React, { forwardRef } from 'react'\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nconst buttonVariants = cva(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n },\n size: {\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n ],\n }\n)\n"],"mappings":"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","names":["import_react","import_jsx_runtime","text","maxWords","isExpanded","snippet","Markdown"]}
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentProps } from 'react';
3
+
4
+ type ReadMoreProps = ComponentProps<'div'> & {
5
+ text: string;
6
+ };
7
+ declare function ReadMore({ text, ...props }: Readonly<ReadMoreProps>): react_jsx_runtime.JSX.Element;
8
+
9
+ export { ReadMore, type ReadMoreProps };
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentProps } from 'react';
3
+
4
+ type ReadMoreProps = ComponentProps<'div'> & {
5
+ text: string;
6
+ };
7
+ declare function ReadMore({ text, ...props }: Readonly<ReadMoreProps>): react_jsx_runtime.JSX.Element;
8
+
9
+ export { ReadMore, type ReadMoreProps };
@@ -0,0 +1,160 @@
1
+ "use client";
2
+
3
+ // src/components/ui/ReadMore.tsx
4
+ import { useEffect, useState } from "react";
5
+ import Markdown from "react-markdown";
6
+
7
+ // src/lib/utils.ts
8
+ import { clsx } from "clsx";
9
+ import { twMerge } from "tailwind-merge";
10
+ function cn(...inputs) {
11
+ return twMerge(clsx(inputs));
12
+ }
13
+
14
+ // src/components/ui/Button.tsx
15
+ import { Slot } from "@radix-ui/react-slot";
16
+ import { cva } from "cva";
17
+ import { forwardRef } from "react";
18
+ import { jsx } from "react/jsx-runtime";
19
+ var Button = forwardRef(
20
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
21
+ const Component = asChild ? Slot : "button";
22
+ return /* @__PURE__ */ jsx(
23
+ Component,
24
+ {
25
+ className: cn(buttonVariants({ variant, size, className })),
26
+ ref,
27
+ ...props
28
+ }
29
+ );
30
+ }
31
+ );
32
+ Button.displayName = "Button";
33
+ var buttonVariants = cva(
34
+ [
35
+ "flex",
36
+ "items-center",
37
+ "justify-center",
38
+ "gap-2",
39
+ "rounded-full",
40
+ "font-bold",
41
+ "outline-2",
42
+ "outline-offset-2",
43
+ "outline-dashed",
44
+ "outline-transparent"
45
+ ],
46
+ {
47
+ variants: {
48
+ variant: {
49
+ neutral: [
50
+ "bg-black",
51
+ "text-white",
52
+ "hover:bg-grey-90",
53
+ "active:bg-grey-80",
54
+ "focus:outline-purple-100",
55
+ "disabled:text-grey-40",
56
+ "disabled:bg-grey-10"
57
+ ],
58
+ primary: [
59
+ "bg-pickle-100",
60
+ "text-black",
61
+ "hover:bg-pickle-80",
62
+ "active:bg-pickle-60",
63
+ "focus:outline-purple-100",
64
+ "disabled:text-grey-40",
65
+ "disabled:bg-grey-10"
66
+ ],
67
+ secondary: [
68
+ "bg-green-80",
69
+ "text-white",
70
+ "hover:bg-green-90",
71
+ "active:bg-green-100",
72
+ "focus:outline-pickle-100",
73
+ "disabled:text-grey-40",
74
+ "disabled:bg-grey-10"
75
+ ],
76
+ transparent: [
77
+ "text-white",
78
+ "hover:bg-green-80",
79
+ "active:bg-green-100",
80
+ "focus:outline-pickle-100",
81
+ "disabled:text-grey-40"
82
+ ],
83
+ link: [
84
+ "leading-tight",
85
+ "text-black",
86
+ "underline",
87
+ "hover:text-purple-100",
88
+ "focus:text-black",
89
+ "focus:outline-purple-100",
90
+ "active:text-purple-80"
91
+ ]
92
+ },
93
+ size: {
94
+ small: ["h-10", "text-sm", "px-4", "py-2"],
95
+ medium: ["h-12", "text-base", "px-6", "py-3"],
96
+ large: ["h-14", "text-lg", "px-8", "py-4"]
97
+ }
98
+ },
99
+ defaultVariants: {
100
+ variant: "neutral",
101
+ size: "medium"
102
+ },
103
+ compoundVariants: [
104
+ {
105
+ variant: "link",
106
+ size: "small",
107
+ class: ["h-3", "text-xs", "p-0"]
108
+ },
109
+ {
110
+ variant: "link",
111
+ size: "medium",
112
+ class: ["h-4", "text-sm", "p-0"]
113
+ },
114
+ {
115
+ variant: "link",
116
+ size: "large",
117
+ class: ["h-6", "text-base", "p-0"]
118
+ }
119
+ ]
120
+ }
121
+ );
122
+
123
+ // src/components/ui/ReadMore.tsx
124
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
125
+ function ReadMore({ text, ...props }) {
126
+ const [isExpanded, setIsExpanded] = useState(false);
127
+ const [maxWords, setMaxWords] = useState(160);
128
+ useEffect(() => {
129
+ const updateMaxWords = () => {
130
+ const windowWidth = window.innerWidth;
131
+ if (windowWidth <= 768) {
132
+ setMaxWords(50);
133
+ } else {
134
+ setMaxWords(160);
135
+ }
136
+ };
137
+ updateMaxWords();
138
+ window.addEventListener("resize", updateMaxWords);
139
+ return () => window.removeEventListener("resize", updateMaxWords);
140
+ }, []);
141
+ function createReadMoreText(text2, maxWords2, isExpanded2) {
142
+ const words = text2.split(" ");
143
+ const snippet2 = isExpanded2 ? text2 : words.slice(0, maxWords2).join(" ");
144
+ const readMoreText = isExpanded2 ? "" : "...";
145
+ return `${snippet2} ${readMoreText}`;
146
+ }
147
+ const toggleText = () => setIsExpanded(!isExpanded);
148
+ const snippet = createReadMoreText(text, maxWords, isExpanded);
149
+ return /* @__PURE__ */ jsxs("div", { ...props, children: [
150
+ /* @__PURE__ */ jsx2("div", { "data-testid": "read-more-text", className: "prose lg:prose-lg", children: /* @__PURE__ */ jsx2(Markdown, { children: snippet }) }),
151
+ /* @__PURE__ */ jsx2(Button, { className: "mt-2 flex items-center justify-center", variant: "link", onClick: toggleText, children: /* @__PURE__ */ jsxs("p", { className: "text-sm font-bold underline underline-offset-2", children: [
152
+ "Read ",
153
+ isExpanded ? "less" : "more"
154
+ ] }) })
155
+ ] });
156
+ }
157
+ export {
158
+ ReadMore
159
+ };
160
+ //# sourceMappingURL=ReadMore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ui/ReadMore.tsx","../../../src/lib/utils.ts","../../../src/components/ui/Button.tsx"],"sourcesContent":["'use client'\n\nimport { ComponentProps, useEffect, useState } from 'react'\nimport Markdown from 'react-markdown'\n\nimport { Button } from '@/components/ui/Button'\n\nexport type ReadMoreProps = ComponentProps<'div'> & {\n text: string\n}\n\nexport function ReadMore({ text, ...props }: Readonly<ReadMoreProps>) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [maxWords, setMaxWords] = useState(160)\n\n useEffect(() => {\n const updateMaxWords = () => {\n const windowWidth = window.innerWidth\n if (windowWidth <= 768) {\n setMaxWords(50)\n } else {\n setMaxWords(160)\n }\n }\n\n updateMaxWords()\n window.addEventListener('resize', updateMaxWords)\n\n return () => window.removeEventListener('resize', updateMaxWords)\n }, [])\n\n function createReadMoreText(text: string, maxWords: number, isExpanded: boolean): string {\n const words = text.split(' ')\n\n const snippet = isExpanded ? text : words.slice(0, maxWords).join(' ')\n const readMoreText = isExpanded ? '' : '...'\n return `${snippet} ${readMoreText}`\n }\n\n const toggleText = () => setIsExpanded(!isExpanded)\n\n const snippet = createReadMoreText(text, maxWords, isExpanded)\n\n return (\n <div {...props}>\n <div data-testid=\"read-more-text\" className=\"prose lg:prose-lg\">\n <Markdown>{snippet}</Markdown>\n </div>\n <Button className=\"mt-2 flex items-center justify-center\" variant=\"link\" onClick={toggleText}>\n <p className=\"text-sm font-bold underline underline-offset-2\">\n Read {isExpanded ? 'less' : 'more'}\n </p>\n </Button>\n </div>\n )\n}\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 { cn } from '@/lib/utils'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport React, { forwardRef } from 'react'\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nconst buttonVariants = cva(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n },\n size: {\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n ],\n }\n)\n"],"mappings":"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","names":["jsx","text","maxWords","isExpanded","snippet"]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/contexts/WindowHistoryProvider.tsx
22
+ var WindowHistoryProvider_exports = {};
23
+ __export(WindowHistoryProvider_exports, {
24
+ WindowHistoryContext: () => WindowHistoryContext,
25
+ WindowHistoryProvider: () => WindowHistoryProvider
26
+ });
27
+ module.exports = __toCommonJS(WindowHistoryProvider_exports);
28
+ var import_navigation = require("next/navigation");
29
+ var import_react = require("react");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var WindowHistoryContext = (0, import_react.createContext)({});
32
+ function WindowHistoryProvider({ children }) {
33
+ const [history, setHistory] = (0, import_react.useState)([]);
34
+ const searchParams = (0, import_navigation.useSearchParams)();
35
+ (0, import_react.useEffect)(() => {
36
+ setHistory(
37
+ (prev) => prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]
38
+ );
39
+ }, [searchParams]);
40
+ const contextValue = (0, import_react.useMemo)(() => ({ history }), [history]);
41
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WindowHistoryContext.Provider, { value: contextValue, children });
42
+ }
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ WindowHistoryContext,
46
+ WindowHistoryProvider
47
+ });
48
+ //# sourceMappingURL=WindowHistoryProvider.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/contexts/WindowHistoryProvider.tsx"],"sourcesContent":["'use client'\n\nimport { useSearchParams } from 'next/navigation'\nimport { createContext, type PropsWithChildren, useEffect, useMemo, useState } from 'react'\n\nexport interface WindowHistoryContextProps {\n history: string[]\n}\n\nexport const WindowHistoryContext = createContext({} as WindowHistoryContextProps)\n\nexport function WindowHistoryProvider({ children }: Readonly<PropsWithChildren>) {\n const [history, setHistory] = useState<string[]>([])\n const searchParams = useSearchParams()\n\n useEffect(() => {\n setHistory((prev) =>\n prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]\n )\n }, [searchParams])\n\n const contextValue = useMemo(() => ({ history }), [history])\n\n return (\n <WindowHistoryContext.Provider value={contextValue}>{children}</WindowHistoryContext.Provider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAAgC;AAChC,mBAAoF;AAqBhF;AAfG,IAAM,2BAAuB,4BAAc,CAAC,CAA8B;AAE1E,SAAS,sBAAsB,EAAE,SAAS,GAAgC;AAC/E,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAmB,CAAC,CAAC;AACnD,QAAM,mBAAe,mCAAgB;AAErC,8BAAU,MAAM;AACd;AAAA,MAAW,CAAC,SACV,KAAK,GAAG,EAAE,MAAM,OAAO,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,OAAO,SAAS,IAAI;AAAA,IAC9E;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,mBAAe,sBAAQ,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC;AAE3D,SACE,4CAAC,qBAAqB,UAArB,EAA8B,OAAO,cAAe,UAAS;AAElE;","names":[]}
@@ -0,0 +1,11 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { PropsWithChildren } from 'react';
4
+
5
+ interface WindowHistoryContextProps {
6
+ history: string[];
7
+ }
8
+ declare const WindowHistoryContext: React.Context<WindowHistoryContextProps>;
9
+ declare function WindowHistoryProvider({ children }: Readonly<PropsWithChildren>): react_jsx_runtime.JSX.Element;
10
+
11
+ export { WindowHistoryContext, type WindowHistoryContextProps, WindowHistoryProvider };
@@ -0,0 +1,11 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { PropsWithChildren } from 'react';
4
+
5
+ interface WindowHistoryContextProps {
6
+ history: string[];
7
+ }
8
+ declare const WindowHistoryContext: React.Context<WindowHistoryContextProps>;
9
+ declare function WindowHistoryProvider({ children }: Readonly<PropsWithChildren>): react_jsx_runtime.JSX.Element;
10
+
11
+ export { WindowHistoryContext, type WindowHistoryContextProps, WindowHistoryProvider };
@@ -0,0 +1,23 @@
1
+ "use client";
2
+
3
+ // src/contexts/WindowHistoryProvider.tsx
4
+ import { useSearchParams } from "next/navigation";
5
+ import { createContext, useEffect, useMemo, useState } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var WindowHistoryContext = createContext({});
8
+ function WindowHistoryProvider({ children }) {
9
+ const [history, setHistory] = useState([]);
10
+ const searchParams = useSearchParams();
11
+ useEffect(() => {
12
+ setHistory(
13
+ (prev) => prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]
14
+ );
15
+ }, [searchParams]);
16
+ const contextValue = useMemo(() => ({ history }), [history]);
17
+ return /* @__PURE__ */ jsx(WindowHistoryContext.Provider, { value: contextValue, children });
18
+ }
19
+ export {
20
+ WindowHistoryContext,
21
+ WindowHistoryProvider
22
+ };
23
+ //# sourceMappingURL=WindowHistoryProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/contexts/WindowHistoryProvider.tsx"],"sourcesContent":["'use client'\n\nimport { useSearchParams } from 'next/navigation'\nimport { createContext, type PropsWithChildren, useEffect, useMemo, useState } from 'react'\n\nexport interface WindowHistoryContextProps {\n history: string[]\n}\n\nexport const WindowHistoryContext = createContext({} as WindowHistoryContextProps)\n\nexport function WindowHistoryProvider({ children }: Readonly<PropsWithChildren>) {\n const [history, setHistory] = useState<string[]>([])\n const searchParams = useSearchParams()\n\n useEffect(() => {\n setHistory((prev) =>\n prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]\n )\n }, [searchParams])\n\n const contextValue = useMemo(() => ({ history }), [history])\n\n return (\n <WindowHistoryContext.Provider value={contextValue}>{children}</WindowHistoryContext.Provider>\n )\n}\n"],"mappings":";;;AAEA,SAAS,uBAAuB;AAChC,SAAS,eAAuC,WAAW,SAAS,gBAAgB;AAqBhF;AAfG,IAAM,uBAAuB,cAAc,CAAC,CAA8B;AAE1E,SAAS,sBAAsB,EAAE,SAAS,GAAgC;AAC/E,QAAM,CAAC,SAAS,UAAU,IAAI,SAAmB,CAAC,CAAC;AACnD,QAAM,eAAe,gBAAgB;AAErC,YAAU,MAAM;AACd;AAAA,MAAW,CAAC,SACV,KAAK,GAAG,EAAE,MAAM,OAAO,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,OAAO,SAAS,IAAI;AAAA,IAC9E;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,eAAe,QAAQ,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC;AAE3D,SACE,oBAAC,qBAAqB,UAArB,EAA8B,OAAO,cAAe,UAAS;AAElE;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as zod from 'zod';
2
+ import { z } from 'zod';
3
+ import { U as UnitTextEnum, C as CurrencyEnum } from './shared_pickle_output_latest-DUO_efBh.cjs';
4
+ import { E as EmploymentTypeEnum, a as EmploymentLevelEnum, b as JobFunctionEnum, B as BestFitEnum, C as ClinicalSpecialtyEnum, S as ShiftEnum, c as ClinicalSettingEnum } from './job_posting_service_latest-Uc2AcDWn.cjs';
5
+
6
+ declare const employmentTypeDisplayText: DisplayTextConfig<typeof EmploymentTypeEnum>;
7
+ declare const unitTextDisplayText: DisplayTextConfig<typeof UnitTextEnum>;
8
+ declare const currencyDisplayText: DisplayTextConfig<typeof CurrencyEnum>;
9
+ declare const employmentLevelDisplayText: DisplayTextConfig<typeof EmploymentLevelEnum>;
10
+ declare const jobFunctionDisplayText: DisplayTextConfig<typeof JobFunctionEnum>;
11
+ declare const bestFitDisplayText: DisplayTextConfig<typeof BestFitEnum>;
12
+ declare const clinicalSpecialtyDisplayText: DisplayTextConfig<typeof ClinicalSpecialtyEnum>;
13
+ declare const shiftDisplayText: DisplayTextConfig<typeof ShiftEnum>;
14
+ declare const clinicalSettingDisplayText: DisplayTextConfig<typeof ClinicalSettingEnum>;
15
+ declare const defaultMappings: {
16
+ readonly employmentType: DisplayTextConfig<zod.ZodEnum<["CONTRACT", "FULL_TIME", "INTERNSHIP", "OTHER", "PART_TIME", "PER_DIEM", "TEMPORARY"]>>;
17
+ readonly unitText: DisplayTextConfig<zod.ZodEnum<["DAY", "HOUR", "MONTH", "PER_ACTIVITY", "WEEK", "YEAR"]>>;
18
+ readonly currency: DisplayTextConfig<zod.ZodEnum<["EUR", "GBP", "USD"]>>;
19
+ readonly employmentLevel: DisplayTextConfig<zod.ZodEnum<["DIRECTOR", "ENTRY_LEVEL", "EXECUTIVE", "EXPERIENCED", "INTERN", "MANAGER"]>>;
20
+ readonly jobFunction: DisplayTextConfig<zod.ZodEnum<["CLINICAL_RESEARCH", "CUSTOMER_SUCCESS", "DATA_ANALYTICS", "FINANCE_AND_AUDIT", "MARKETING", "OPERATIONS", "PEOPLE_HUMAN_RESOURCES", "PRODUCT_AND_TECH", "QUALITY_ASSURANCE_AND_OUTCOMES", "SALES_AND_BUSINESS_DEVELOPMENT", "STRATEGY_AND_CONSULTING"]>>;
21
+ readonly bestFit: DisplayTextConfig<zod.ZodEnum<["DENTIST", "DIETICIAN", "DOULA", "MEDICAL_ASSISTANT", "MIDWIFE", "NURSE", "OCCUPATIONAL_THERAPIST", "PHARMACIST", "PHYSICAL_THERAPIST", "PHYSICIAN", "PHYSICIAN_ASSISTANT", "PSYCHOLOGIST", "RADIOLOGIST", "SOCIAL_WORKER", "SPEECH_LANGUAGE_PATHOLOGIST", "SURGEON"]>>;
22
+ readonly clinicalSpecialty: DisplayTextConfig<zod.ZodEnum<["ANESTHESIOLOGY", "CARDIOLOGY", "CASE_MANAGEMENT", "CHRONIC_PAIN", "CLINICAL_ELECTROPHYSIOLOGY", "CRITICAL_AND_ACUTE_CARE", "DERMATOLOGY", "DIALYSIS", "EMERGENCY_MEDICINE", "ENDOCRINOLOGY", "ERGONOMICS", "FEEDING_EATING_AND_SWALLOWING", "GASTROENTEROLOGY", "GERIATRICS", "HAND_THERAPY", "HEMATOLOGY", "HOLISTIC_MEDICINE", "INFORMATICS", "INTERNAL_MEDICINE", "LABOR_AND_DELIVERY", "MANUAL_THERAPY", "MED_SURG", "MENTAL_HEALTH", "NEPHROLOGY", "NEUROLOGY", "ONCOLOGY", "ORTHOPEDICS", "OTOLARYNGOLOGY", "PEDIATRICS", "PHYSICAL_AND_REHABILITATION_MEDICINE", "PLASTIC_SURGERY", "PRIMARY_CARE", "PSYCHIATRY", "PULMONOLOGY", "RADIOLOGY", "SENSORY", "SPORTS", "SURGERY", "TRAUMA_MEDICINE", "URGENT_CARE", "UROLOGY", "VISION", "WOMENS_HEALTH", "WOUND_AND_BURN_CARE"]>>;
23
+ readonly clinicalSetting: DisplayTextConfig<zod.ZodEnum<["ACUTE_CARE", "AMBULATORY_SURGERY_CENTER", "CLINIC", "HOME_HEALTH", "HOSPITAL", "INPATIENT", "LONG_TERM_CARE", "MED_SPA", "NURSING_HOME", "OFFICE", "OUTPATIENT", "PRIVATE_PRACTICE", "REHAB_CENTER", "SCHOOL", "SKILLED_NURSING_FACILITY"]>>;
24
+ readonly shift: DisplayTextConfig<zod.ZodEnum<["DAY", "EIGHT_HOUR", "EVENING", "FLEXIBLE", "MID_SHIFT", "MONDAY_TO_FRIDAY", "NIGHT", "ON_CALL", "TEN_HOUR", "TWELVE_HOUR", "WEEKENDS"]>>;
25
+ };
26
+
27
+ declare const SUPPORTED_LANGUAGES: readonly ["en"];
28
+ type SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number];
29
+ type ServiceMappings = typeof defaultMappings;
30
+ type ZodEnumValue<T> = T extends z.ZodEnum<[string, ...string[]]> ? z.infer<T> : never;
31
+ type DisplayTextConfig<T = string> = {
32
+ [K in T extends z.ZodEnum<[string, ...string[]]> ? ZodEnumValue<T> : string]: {
33
+ [L in SupportedLanguage]: string;
34
+ };
35
+ } & Record<string, {
36
+ [L in SupportedLanguage]: string;
37
+ }>;
38
+ interface IDisplayTextService {
39
+ getDisplayText: (scope: keyof ServiceMappings, value: string | string[], language?: SupportedLanguage) => Promise<string>;
40
+ }
41
+ declare class DisplayTextService implements IDisplayTextService {
42
+ private readonly defaultLanguage;
43
+ private readonly mappings;
44
+ constructor(customMappings?: Partial<ServiceMappings>);
45
+ getDisplayText(scope: keyof ServiceMappings, value: string | string[], language?: SupportedLanguage): Promise<string>;
46
+ }
47
+
48
+ export { type DisplayTextConfig as D, type IDisplayTextService as I, type ServiceMappings as S, employmentLevelDisplayText as a, bestFitDisplayText as b, currencyDisplayText as c, clinicalSpecialtyDisplayText as d, employmentTypeDisplayText as e, clinicalSettingDisplayText as f, defaultMappings as g, DisplayTextService as h, jobFunctionDisplayText as j, shiftDisplayText as s, unitTextDisplayText as u };
@@ -0,0 +1,48 @@
1
+ import * as zod from 'zod';
2
+ import { z } from 'zod';
3
+ import { U as UnitTextEnum, C as CurrencyEnum } from './shared_pickle_output_latest-DUO_efBh.js';
4
+ import { E as EmploymentTypeEnum, a as EmploymentLevelEnum, b as JobFunctionEnum, B as BestFitEnum, C as ClinicalSpecialtyEnum, S as ShiftEnum, c as ClinicalSettingEnum } from './job_posting_service_latest-Uc2AcDWn.js';
5
+
6
+ declare const employmentTypeDisplayText: DisplayTextConfig<typeof EmploymentTypeEnum>;
7
+ declare const unitTextDisplayText: DisplayTextConfig<typeof UnitTextEnum>;
8
+ declare const currencyDisplayText: DisplayTextConfig<typeof CurrencyEnum>;
9
+ declare const employmentLevelDisplayText: DisplayTextConfig<typeof EmploymentLevelEnum>;
10
+ declare const jobFunctionDisplayText: DisplayTextConfig<typeof JobFunctionEnum>;
11
+ declare const bestFitDisplayText: DisplayTextConfig<typeof BestFitEnum>;
12
+ declare const clinicalSpecialtyDisplayText: DisplayTextConfig<typeof ClinicalSpecialtyEnum>;
13
+ declare const shiftDisplayText: DisplayTextConfig<typeof ShiftEnum>;
14
+ declare const clinicalSettingDisplayText: DisplayTextConfig<typeof ClinicalSettingEnum>;
15
+ declare const defaultMappings: {
16
+ readonly employmentType: DisplayTextConfig<zod.ZodEnum<["CONTRACT", "FULL_TIME", "INTERNSHIP", "OTHER", "PART_TIME", "PER_DIEM", "TEMPORARY"]>>;
17
+ readonly unitText: DisplayTextConfig<zod.ZodEnum<["DAY", "HOUR", "MONTH", "PER_ACTIVITY", "WEEK", "YEAR"]>>;
18
+ readonly currency: DisplayTextConfig<zod.ZodEnum<["EUR", "GBP", "USD"]>>;
19
+ readonly employmentLevel: DisplayTextConfig<zod.ZodEnum<["DIRECTOR", "ENTRY_LEVEL", "EXECUTIVE", "EXPERIENCED", "INTERN", "MANAGER"]>>;
20
+ readonly jobFunction: DisplayTextConfig<zod.ZodEnum<["CLINICAL_RESEARCH", "CUSTOMER_SUCCESS", "DATA_ANALYTICS", "FINANCE_AND_AUDIT", "MARKETING", "OPERATIONS", "PEOPLE_HUMAN_RESOURCES", "PRODUCT_AND_TECH", "QUALITY_ASSURANCE_AND_OUTCOMES", "SALES_AND_BUSINESS_DEVELOPMENT", "STRATEGY_AND_CONSULTING"]>>;
21
+ readonly bestFit: DisplayTextConfig<zod.ZodEnum<["DENTIST", "DIETICIAN", "DOULA", "MEDICAL_ASSISTANT", "MIDWIFE", "NURSE", "OCCUPATIONAL_THERAPIST", "PHARMACIST", "PHYSICAL_THERAPIST", "PHYSICIAN", "PHYSICIAN_ASSISTANT", "PSYCHOLOGIST", "RADIOLOGIST", "SOCIAL_WORKER", "SPEECH_LANGUAGE_PATHOLOGIST", "SURGEON"]>>;
22
+ readonly clinicalSpecialty: DisplayTextConfig<zod.ZodEnum<["ANESTHESIOLOGY", "CARDIOLOGY", "CASE_MANAGEMENT", "CHRONIC_PAIN", "CLINICAL_ELECTROPHYSIOLOGY", "CRITICAL_AND_ACUTE_CARE", "DERMATOLOGY", "DIALYSIS", "EMERGENCY_MEDICINE", "ENDOCRINOLOGY", "ERGONOMICS", "FEEDING_EATING_AND_SWALLOWING", "GASTROENTEROLOGY", "GERIATRICS", "HAND_THERAPY", "HEMATOLOGY", "HOLISTIC_MEDICINE", "INFORMATICS", "INTERNAL_MEDICINE", "LABOR_AND_DELIVERY", "MANUAL_THERAPY", "MED_SURG", "MENTAL_HEALTH", "NEPHROLOGY", "NEUROLOGY", "ONCOLOGY", "ORTHOPEDICS", "OTOLARYNGOLOGY", "PEDIATRICS", "PHYSICAL_AND_REHABILITATION_MEDICINE", "PLASTIC_SURGERY", "PRIMARY_CARE", "PSYCHIATRY", "PULMONOLOGY", "RADIOLOGY", "SENSORY", "SPORTS", "SURGERY", "TRAUMA_MEDICINE", "URGENT_CARE", "UROLOGY", "VISION", "WOMENS_HEALTH", "WOUND_AND_BURN_CARE"]>>;
23
+ readonly clinicalSetting: DisplayTextConfig<zod.ZodEnum<["ACUTE_CARE", "AMBULATORY_SURGERY_CENTER", "CLINIC", "HOME_HEALTH", "HOSPITAL", "INPATIENT", "LONG_TERM_CARE", "MED_SPA", "NURSING_HOME", "OFFICE", "OUTPATIENT", "PRIVATE_PRACTICE", "REHAB_CENTER", "SCHOOL", "SKILLED_NURSING_FACILITY"]>>;
24
+ readonly shift: DisplayTextConfig<zod.ZodEnum<["DAY", "EIGHT_HOUR", "EVENING", "FLEXIBLE", "MID_SHIFT", "MONDAY_TO_FRIDAY", "NIGHT", "ON_CALL", "TEN_HOUR", "TWELVE_HOUR", "WEEKENDS"]>>;
25
+ };
26
+
27
+ declare const SUPPORTED_LANGUAGES: readonly ["en"];
28
+ type SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number];
29
+ type ServiceMappings = typeof defaultMappings;
30
+ type ZodEnumValue<T> = T extends z.ZodEnum<[string, ...string[]]> ? z.infer<T> : never;
31
+ type DisplayTextConfig<T = string> = {
32
+ [K in T extends z.ZodEnum<[string, ...string[]]> ? ZodEnumValue<T> : string]: {
33
+ [L in SupportedLanguage]: string;
34
+ };
35
+ } & Record<string, {
36
+ [L in SupportedLanguage]: string;
37
+ }>;
38
+ interface IDisplayTextService {
39
+ getDisplayText: (scope: keyof ServiceMappings, value: string | string[], language?: SupportedLanguage) => Promise<string>;
40
+ }
41
+ declare class DisplayTextService implements IDisplayTextService {
42
+ private readonly defaultLanguage;
43
+ private readonly mappings;
44
+ constructor(customMappings?: Partial<ServiceMappings>);
45
+ getDisplayText(scope: keyof ServiceMappings, value: string | string[], language?: SupportedLanguage): Promise<string>;
46
+ }
47
+
48
+ export { type DisplayTextConfig as D, type IDisplayTextService as I, type ServiceMappings as S, employmentLevelDisplayText as a, bestFitDisplayText as b, currencyDisplayText as c, clinicalSpecialtyDisplayText as d, employmentTypeDisplayText as e, clinicalSettingDisplayText as f, defaultMappings as g, DisplayTextService as h, jobFunctionDisplayText as j, shiftDisplayText as s, unitTextDisplayText as u };