evelearn-theme 1.0.6 → 2.0.1

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.
package/dist/index.js CHANGED
@@ -56,7 +56,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
56
56
  ));
57
57
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
58
 
59
- // src/index.tsx
59
+ // src/index.ts
60
60
  var index_exports = {};
61
61
  __export(index_exports, {
62
62
  AnimateLogo: () => AnimateLogo_default,
@@ -78,7 +78,7 @@ __export(index_exports, {
78
78
  NoticeBox: () => NoticeBox_default,
79
79
  Overlay: () => Overlay_default,
80
80
  OverlaySpinner: () => OverlaySpinner_default,
81
- PRIMARY_COLOR: () => PRIMARY_COLOR3,
81
+ PRIMARY_COLOR: () => PRIMARY_COLOR,
82
82
  Pill: () => Pill_default,
83
83
  ProgressBar: () => ProgressBar_default,
84
84
  ProgressBarSimple: () => ProgressBarSimple_default,
@@ -103,81 +103,55 @@ __export(index_exports, {
103
103
  });
104
104
  module.exports = __toCommonJS(index_exports);
105
105
 
106
- // src/Backdrop/Backdrop.tsx
106
+ // src/constants.tsx
107
+ var PRIMARY_COLOR = "#00b4d8";
108
+
109
+ // src/Common/Container.tsx
107
110
  var import_jsx_runtime = require("react/jsx-runtime");
108
- var Backdrop = ({ visible, onClick, opacity }) => {
109
- if (!visible) return null;
110
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
111
+ var Container = ({ backgroundImage, style, children, onClick }) => {
112
+ return backgroundImage ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
111
113
  "div",
112
114
  {
113
- style: {
114
- opacity: opacity ? opacity : 90,
115
- zIndex: 21
116
- },
117
- className: `fixed top-0 left-0 w-full h-screen bg-gray-100 dark:bg-slate-900`,
118
- onClick
115
+ style: __spreadValues({
116
+ backgroundImage,
117
+ backgroundSize: "cover"
118
+ }, style),
119
+ className: "w-full md:min-h-screen dark:bg-slate-950 mx-auto overflow-y-auto overflow-x-clip px-0 md:px-2 sm:py-4 py-1 relative",
120
+ onClick,
121
+ children: children ? children : null
122
+ }
123
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
124
+ "div",
125
+ {
126
+ className: `w-full dark:bg-slate-950 mx-auto overflow-y-auto overflow-x-clip px-0 sm:px-16 relative pt-20`,
127
+ onClick,
128
+ style: style || { minHeight: "100vh" },
129
+ children: children ? children : null
119
130
  }
120
131
  );
121
132
  };
122
- var Backdrop_default = Backdrop;
133
+ var Container_default = Container;
123
134
 
124
- // src/Backdrop/Overlay.tsx
125
- var import_react = require("react");
126
- var import_react_dom = __toESM(require("react-dom"));
135
+ // src/Common/ErrorText.tsx
127
136
  var import_jsx_runtime2 = require("react/jsx-runtime");
128
- var Overlay = ({ visible, onDismissed, onClick, zIndex, isDark, children, opacity, withContainer = true }) => {
129
- const [modalRoot, setModalRoot] = (0, import_react.useState)(null);
130
- (0, import_react.useEffect)(() => {
131
- let root = document.getElementById("modal-root");
132
- if (!root) {
133
- root = document.createElement("div");
134
- root.id = "modal-root";
135
- document.body.appendChild(root);
136
- }
137
- setModalRoot(root);
138
- return () => {
139
- const root2 = document.getElementById("modal-root");
140
- if (root2) {
141
- document.body.removeChild(root2);
142
- }
143
- };
144
- }, [visible]);
145
- if (!visible || !modalRoot) return null;
146
- return import_react_dom.default.createPortal(
147
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "animate-fade-in", children: withContainer ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
148
- "div",
149
- {
150
- onClick: onDismissed || onClick,
151
- className: `top-0 left-0 fixed w-full h-screen flex items-center justify-center`,
152
- style: {
153
- background: isDark ? `rgba(0, 0, 0, ${opacity || "0.7"})` : `rgba(255, 255, 255, ${opacity || "0.6"})`,
154
- zIndex: zIndex || 9999
155
- },
156
- children
157
- }
158
- ) : children }),
159
- modalRoot
160
- );
137
+ var ErrorText = ({ text, style, classNames }) => {
138
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { className: classNames ? classNames : "text-red-500 font-semibold text-wrap py-auto", style, children: text });
161
139
  };
162
- var Overlay_default = Overlay;
140
+ var ErrorText_default = ErrorText;
163
141
 
164
- // src/Breakpoint/Breakpoint.tsx
165
- var import_jsx_runtime3 = require("react/jsx-runtime");
166
- var Breakpoint = ({ children, fromSize, toSize }) => {
167
- let className = "";
168
- if (fromSize && toSize) {
169
- className = `hidden ${fromSize}:block ${toSize}:hidden`;
170
- } else if (fromSize) {
171
- className = `hidden ${fromSize}:block`;
172
- } else if (toSize) {
173
- className = `block ${toSize}:hidden`;
174
- }
175
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className, children });
176
- };
177
- var Breakpoint_default = Breakpoint;
142
+ // src/Common/fieldStyle.ts
143
+ var baseFieldStyle = "font-sans form-input h-11 w-full bg-white border-gray-200 dark:border-gray-500 dark:bg-slate-800 dark:text-gray-200 text-gray-700 dark:placeholder-gray-400 placeholder-gray-400 rounded-md px-2 py-1 focus:outline-none focus:border-blue-300 focus:ring focus:ring-blue-200 focus:ring-opacity-50";
144
+ var createExerciseElementStyle = "flex flex-col justify-between space-y-2 w-full p-4 bg-white dark:bg-slate-800 rounded-xl text-gray-800 dark:text-gray-200 border-2 border-slate-200 dark:border-slate-400 overflow-hidden transition-all";
145
+ var exerciseDeleteButton = "w-6 h-6 flex justify-center text-gray-700 dark:text-gray-200 hover:text-red-600 dark:hover:text-red-500 transition-all duration-150 hover:scale-125";
146
+ var xIconButton = "w-6 h-6 flex justify-center text-gray-700 dark:text-gray-200 hover:text-gray-950 dark:hover:text-gray-100 transition-all duration-150 hover:scale-125";
147
+ var exerciseEditButton = "w-6 h-6 flex justify-center text-gray-700 dark:text-gray-200 hover:text-red-600 dark:hover:text-green-500 transition-all duration-150 hover:scale-125";
148
+ var tippyClassname = "p-2 bg-slate-600 dark:bg-slate-900 opacity-90 text-white font-medium font-header rounded-lg";
149
+ var headerTippyClass = "rounded-lg p-2 bg-slate-950 opacity-95 text-white font-medium";
150
+ var headerButtonClass = "w-10 h-10 rounded-full dark:hover:bg-slate-600 hover:bg-slate-200 bg-transparent flex justify-center items-center flex justify-center items-center text-slate-600 dark:text-slate-100 hover:text-primary dark:hover:text-primary transition-colors duration-50";
151
+ var toolbarExerciseButton = "flex bg-gray-50/90 items-center sm:justify-between p-4 shadow-sm w-full rounded-xl border-4 border-transparent hover:border-white text-gray-700 hover:text-white hover:bg-indigo-500 transition-colors duration-75";
178
152
 
179
153
  // src/Spinners/Spinner.tsx
180
- var import_jsx_runtime4 = require("react/jsx-runtime");
154
+ var import_jsx_runtime3 = require("react/jsx-runtime");
181
155
  var Spinner = ({ visible = true, size, white, isDark }) => {
182
156
  if (visible === false) return null;
183
157
  const isWhite = white || isDark;
@@ -190,18 +164,18 @@ var Spinner = ({ visible = true, size, white, isDark }) => {
190
164
  animate-spin
191
165
  ${dimensions}
192
166
  `;
193
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "relative h-8 w-8 flex justify-center items-center", children: [
194
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
167
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "relative h-8 w-8 flex justify-center items-center", children: [
168
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
195
169
  "svg",
196
170
  {
197
171
  className: `absolute top-0 ${dimensions} ${bgColor}`,
198
172
  viewBox: "0 0 24 24",
199
173
  fill: "none",
200
174
  strokeWidth: "2.4",
201
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "10" })
175
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10" })
202
176
  }
203
177
  ),
204
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
178
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
205
179
  "svg",
206
180
  {
207
181
  className: spinnerClasses,
@@ -209,7 +183,7 @@ var Spinner = ({ visible = true, size, white, isDark }) => {
209
183
  fill: "none",
210
184
  strokeWidth: "2.4",
211
185
  strokeLinecap: "round",
212
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
186
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
213
187
  "path",
214
188
  {
215
189
  d: `
@@ -230,15 +204,139 @@ var Spinner = ({ visible = true, size, white, isDark }) => {
230
204
  };
231
205
  var SpinnerCentered = (props) => {
232
206
  if (props.visible === false) return null;
233
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "w-full flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Spinner, __spreadValues({}, props)) });
207
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "w-full flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Spinner, __spreadValues({}, props)) });
234
208
  };
235
209
  Spinner.displayName = "Spinner";
236
210
  SpinnerCentered.displayName = "Spinner.Centered";
237
211
  Spinner.Centered = SpinnerCentered;
238
212
  var Spinner_default = Spinner;
239
213
 
240
- // src/Button/Button.tsx
214
+ // src/Common/NoResults.tsx
215
+ var import_jsx_runtime4 = require("react/jsx-runtime");
216
+ var HEIGHT = 160;
217
+ var WIDTH = HEIGHT * (16 / 9);
218
+ var NoResults = ({ loading, message }) => {
219
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "relative w-full flex justify-center items-center", children: [
220
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex justify-start w-full space-x-2 py-3 p-4 bg-slate-100 dark:bg-slate-800 rounded-md", children: [
221
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { style: { width: `calc(${WIDTH}px + 1rem)`, height: 320 }, className: "rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-shadow duration-150 px-2 pt-2 bg-slate-200 dark:bg-slate-700 animate-pulse" }),
222
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { style: { width: `calc(${WIDTH}px + 1rem)`, height: 320 }, className: "rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-shadow duration-150 px-2 pt-2 bg-slate-200 dark:bg-slate-700 animate-pulse" })
223
+ ] }),
224
+ !loading && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "absolute w-full h-full flex justify-center items-center m-auto", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "p-4 rounded-lg bg-white dark:bg-slate-700 shadow-xl", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { className: "font-semibold text-lg text-gray-700 dark:text-gray-300", children: message || "No results" }) }) })
225
+ ] });
226
+ };
227
+ var NoResults_default = NoResults;
228
+
229
+ // src/Common/Pill.tsx
241
230
  var import_jsx_runtime5 = require("react/jsx-runtime");
231
+ var Pill = ({ text }) => {
232
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "rounded-full px-3 py-1 text-sm font-header font-medium bg-white dark:bg-slate-900 text-gray-700 dark:text-gray-300 mr-2 mb-2", children: text });
233
+ };
234
+ var Pill_default = Pill;
235
+
236
+ // src/Common/StepsComponent.tsx
237
+ var import_jsx_runtime6 = require("react/jsx-runtime");
238
+ var StepsComponent = ({ steps, activeStep, onStepPress }) => {
239
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex justify-between items-center w-full p-1 mb-2", children: steps.map((step, index) => {
240
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex justify-center items-center space-x-2 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
241
+ "button",
242
+ {
243
+ type: "button",
244
+ onClick: () => onStepPress(index),
245
+ className: `flex items-center space-x-2 px-4 py-2 rounded-lg min-w-10 md:min-w-20 sm:min-w-40 font-header transition-all duration-150
246
+ ${activeStep === index ? "bg-primary text-white shadow-lg scale-110 border-2 border-primary" : "bg-gray-100 dark:bg-slate-800 text-gray-700 dark:text-gray-200 hover:bg-gray-200 dark:hover:bg-slate-700 border-2 border-transparent hover:border-primary/30"}`,
247
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: "font-medium truncate", children: [
248
+ index + 1,
249
+ ". ",
250
+ step.label
251
+ ] })
252
+ }
253
+ ) }) }, `step_${index}_${step.label}`);
254
+ }) });
255
+ };
256
+ var StepsComponent_default = StepsComponent;
257
+
258
+ // src/Fade/Fade.tsx
259
+ var import_jsx_runtime7 = require("react/jsx-runtime");
260
+ var Fade = ({ children, inProp }) => {
261
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "animate-fade-in", children });
262
+ };
263
+ var Fade_default = Fade;
264
+
265
+ // src/Backdrop/Backdrop.tsx
266
+ var import_jsx_runtime8 = require("react/jsx-runtime");
267
+ var Backdrop = ({ visible, onClick, opacity }) => {
268
+ if (!visible) return null;
269
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
270
+ "div",
271
+ {
272
+ style: {
273
+ opacity: opacity ? opacity : 90,
274
+ zIndex: 21
275
+ },
276
+ className: `fixed top-0 left-0 w-full h-screen bg-gray-100 dark:bg-slate-900`,
277
+ onClick
278
+ }
279
+ );
280
+ };
281
+ var Backdrop_default = Backdrop;
282
+
283
+ // src/Breakpoint/Breakpoint.tsx
284
+ var import_jsx_runtime9 = require("react/jsx-runtime");
285
+ var Breakpoint = ({ children, fromSize, toSize }) => {
286
+ let className = "";
287
+ if (fromSize && toSize) {
288
+ className = `hidden ${fromSize}:block ${toSize}:hidden`;
289
+ } else if (fromSize) {
290
+ className = `hidden ${fromSize}:block`;
291
+ } else if (toSize) {
292
+ className = `block ${toSize}:hidden`;
293
+ }
294
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className, children });
295
+ };
296
+ var Breakpoint_default = Breakpoint;
297
+
298
+ // src/Backdrop/Overlay.tsx
299
+ var import_react = require("react");
300
+ var import_react_dom = __toESM(require("react-dom"));
301
+ var import_jsx_runtime10 = require("react/jsx-runtime");
302
+ var Overlay = ({ visible, onDismissed, onClick, zIndex, isDark, children, opacity, withContainer = true }) => {
303
+ const [modalRoot, setModalRoot] = (0, import_react.useState)(null);
304
+ (0, import_react.useEffect)(() => {
305
+ let root = document.getElementById("modal-root");
306
+ if (!root) {
307
+ root = document.createElement("div");
308
+ root.id = "modal-root";
309
+ document.body.appendChild(root);
310
+ }
311
+ setModalRoot(root);
312
+ return () => {
313
+ const root2 = document.getElementById("modal-root");
314
+ if (root2) {
315
+ document.body.removeChild(root2);
316
+ }
317
+ };
318
+ }, [visible]);
319
+ if (!visible || !modalRoot) return null;
320
+ return import_react_dom.default.createPortal(
321
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "animate-fade-in", children: withContainer ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
322
+ "div",
323
+ {
324
+ onClick: onDismissed || onClick,
325
+ className: `top-0 left-0 fixed w-full h-screen flex items-center justify-center`,
326
+ style: {
327
+ background: isDark ? `rgba(0, 0, 0, ${opacity || "0.7"})` : `rgba(255, 255, 255, ${opacity || "0.6"})`,
328
+ zIndex: zIndex || 9999
329
+ },
330
+ children
331
+ }
332
+ ) : children }),
333
+ modalRoot
334
+ );
335
+ };
336
+ var Overlay_default = Overlay;
337
+
338
+ // src/Button/Button.tsx
339
+ var import_jsx_runtime11 = require("react/jsx-runtime");
242
340
  var Button = ({ disabled = false, loading, onClick, kind = "primary", size = "small", type = "button", children }) => {
243
341
  const styled = () => {
244
342
  switch (kind) {
@@ -276,14 +374,14 @@ var Button = ({ disabled = false, loading, onClick, kind = "primary", size = "sm
276
374
  return "px-2 py-1";
277
375
  }
278
376
  };
279
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { type: type || "button", disabled, className: `rounded-lg focus:outline-none transition duration-100 ${styled()} ${sized()}`, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "w-full max-h-11", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex w-full justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Spinner_default, { white: true }) }) : children }) });
377
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { type: type || "button", disabled, className: `rounded-lg focus:outline-none transition duration-100 ${styled()} ${sized()}`, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "w-full max-h-11", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex w-full justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Spinner_default, { white: true }) }) : children }) });
280
378
  };
281
379
  var Button_default = Button;
282
380
 
283
381
  // src/Button/FunButton.tsx
284
382
  var import_react2 = require("react");
285
383
  var import_framer_motion = require("framer-motion");
286
- var import_jsx_runtime6 = require("react/jsx-runtime");
384
+ var import_jsx_runtime12 = require("react/jsx-runtime");
287
385
  var FunButton = ({
288
386
  onClick,
289
387
  disabled,
@@ -337,7 +435,7 @@ var FunButton = ({
337
435
  const cName = classStyle;
338
436
  return cName + (disabled ? " opacity-70 cursor-default hover:bg-black/70" : "");
339
437
  }, [classStyle, disabled]);
340
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
438
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
341
439
  import_framer_motion.motion.button,
342
440
  {
343
441
  className: `${computedClassName}`,
@@ -346,7 +444,7 @@ var FunButton = ({
346
444
  onMouseDown: onClick,
347
445
  whileTap: { y: disabled ? 0 : 2 },
348
446
  transition: { duration: 0.1, ease: "easeInOut" },
349
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
447
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
350
448
  import_framer_motion.motion.span,
351
449
  {
352
450
  className: computedClassStyle,
@@ -358,7 +456,7 @@ var FunButton = ({
358
456
  animate: { y: active ? 0 : -6 },
359
457
  whileTap: { y: disabled ? -6 : 0 },
360
458
  transition: { duration: 0.1, ease: "easeInOut" },
361
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: size === "small" ? "min-h-6" : "min-h-10", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Spinner_default.Centered, { visible: true, size: size === "small" ? "small" : "base", white: true }) }) : children
459
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: size === "small" ? "min-h-6" : "min-h-10", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Spinner_default.Centered, { visible: true, size: size === "small" ? "small" : "base", white: true }) }) : children
362
460
  }
363
461
  )
364
462
  }
@@ -369,7 +467,7 @@ var FunButton_default = FunButton;
369
467
  // src/Button/FunRoundButton.tsx
370
468
  var import_react3 = require("react");
371
469
  var import_framer_motion2 = require("framer-motion");
372
- var import_jsx_runtime7 = require("react/jsx-runtime");
470
+ var import_jsx_runtime13 = require("react/jsx-runtime");
373
471
  var FunRoundButton = ({ onClick, disabled, type, children, color, active, className, size = 44 }) => {
374
472
  const { front, bottom } = (0, import_react3.useMemo)(() => {
375
473
  switch (color) {
@@ -389,7 +487,7 @@ var FunRoundButton = ({ onClick, disabled, type, children, color, active, classN
389
487
  return { bottom: disabled ? "#d1d5db" : "#00b4d8", front: disabled ? "#38bdf8" : "#0369a1" };
390
488
  }
391
489
  }, [color, disabled]);
392
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
490
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
393
491
  import_framer_motion2.motion.button,
394
492
  {
395
493
  className: `${className || "border-none p-0 flex justify-center items-center cursor-pointer z-10"} ${disabled ? "opacity-70 cursor-default" : "hover:opacity-95"}`,
@@ -405,7 +503,7 @@ var FunRoundButton = ({ onClick, disabled, type, children, color, active, classN
405
503
  onClick,
406
504
  whileHover: { opacity: 0.95 },
407
505
  whileTap: { y: disabled ? 0 : 2 },
408
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
506
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
409
507
  import_framer_motion2.motion.span,
410
508
  {
411
509
  className: "flex justify-center items-center z-10",
@@ -431,16 +529,7 @@ var FunRoundButton_default = FunRoundButton;
431
529
  // src/Checkbox/Checkbox.tsx
432
530
  var import_react4 = require("react");
433
531
  var import_formik = require("formik");
434
-
435
- // src/Common/ErrorText.tsx
436
- var import_jsx_runtime8 = require("react/jsx-runtime");
437
- var ErrorText = ({ text, style, classNames }) => {
438
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: classNames ? classNames : "text-red-500 font-semibold text-wrap py-auto", style, children: text });
439
- };
440
- var ErrorText_default = ErrorText;
441
-
442
- // src/Checkbox/Checkbox.tsx
443
- var import_jsx_runtime9 = require("react/jsx-runtime");
532
+ var import_jsx_runtime14 = require("react/jsx-runtime");
444
533
  var Checkbox = ({ name, labelText, isLarge, onChange, isDisabled }) => {
445
534
  const [{ value }, { error }, { setValue, setTouched }] = (0, import_formik.useField)(name);
446
535
  const onCheck = (e) => {
@@ -450,9 +539,9 @@ var Checkbox = ({ name, labelText, isLarge, onChange, isDisabled }) => {
450
539
  const rand = (0, import_react4.useMemo)(() => {
451
540
  return Math.random();
452
541
  }, []);
453
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "relative flex flex-col justify-center items-center", children: [
454
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "flex items-center", children: [
455
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
542
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "relative flex flex-col justify-center items-center", children: [
543
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex items-center", children: [
544
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
456
545
  "input",
457
546
  {
458
547
  disabled: !!isDisabled,
@@ -468,9 +557,9 @@ var Checkbox = ({ name, labelText, isLarge, onChange, isDisabled }) => {
468
557
  className: `form-checkbox text-blue-600 focus:ring-blue-500 border-gray-300 rounded ${isLarge ? "h-5 w-5" : "h-4 w-4"}`
469
558
  }
470
559
  ),
471
- typeof labelText === "string" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("label", { htmlFor: `${name}${rand}`, className: "ml-2 block text-sm text-gray-800 dark:text-gray-200", children: labelText }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("label", { htmlFor: `${name}${rand}`, children: labelText })
560
+ typeof labelText === "string" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { htmlFor: `${name}${rand}`, className: "ml-2 block text-sm text-gray-800 dark:text-gray-200", children: labelText }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { htmlFor: `${name}${rand}`, children: labelText })
472
561
  ] }),
473
- error && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ErrorText_default, { classNames: "absolute w-64 left-6 top-4 text-xs text-red-500", text: error })
562
+ error && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ErrorText_default, { classNames: "absolute w-64 left-6 top-4 text-xs text-red-500", text: error })
474
563
  ] });
475
564
  };
476
565
  var MultiChoiceCheckBox = ({ name, hasMultipleAnswers, index, isLarge, allOptionsName }) => {
@@ -484,7 +573,7 @@ var MultiChoiceCheckBox = ({ name, hasMultipleAnswers, index, isLarge, allOption
484
573
  }
485
574
  setOptionsValue(optionsValue == null ? void 0 : optionsValue.map((el, idx) => ({ option: el.option, id: el.id, isCorrectAnswer: index === idx ? !el.isCorrectAnswer : false })));
486
575
  };
487
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
576
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
488
577
  "input",
489
578
  {
490
579
  onChange: (e) => onCheck(e),
@@ -502,11 +591,11 @@ var Checkbox_default = Checkbox;
502
591
 
503
592
  // src/Checkbox/RadioOption.tsx
504
593
  var import_formik2 = require("formik");
505
- var import_jsx_runtime10 = require("react/jsx-runtime");
594
+ var import_jsx_runtime15 = require("react/jsx-runtime");
506
595
  var RadioOption = ({ name, isLarge, labelText, option, onSelect }) => {
507
596
  const [{ value }, {}, { setValue }] = (0, import_formik2.useField)(name);
508
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex items-center", children: [
509
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
597
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center", children: [
598
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
510
599
  "input",
511
600
  {
512
601
  onChange: () => {
@@ -521,19 +610,19 @@ var RadioOption = ({ name, isLarge, labelText, option, onSelect }) => {
521
610
  className: `form-checkbox text-blue-600 focus:ring-blue-500 border-gray-300 rounded ${isLarge ? "h-5 w-5" : "h-4 w-4"}`
522
611
  }
523
612
  ),
524
- typeof labelText === "string" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("label", { htmlFor: option, className: "ml-2 block text-sm text-gray-900", children: labelText }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("label", { htmlFor: option, children: labelText })
613
+ typeof labelText === "string" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("label", { htmlFor: option, className: "ml-2 block text-sm text-gray-900", children: labelText }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("label", { htmlFor: option, children: labelText })
525
614
  ] });
526
615
  };
527
616
  var RadioOption_default = RadioOption;
528
617
 
529
618
  // src/Common/BottomAlert.tsx
530
619
  var import_react_dom2 = __toESM(require("react-dom"));
531
- var import_jsx_runtime11 = require("react/jsx-runtime");
620
+ var import_jsx_runtime16 = require("react/jsx-runtime");
532
621
  var BottomAlert = ({ isDark, setDontShowAgain, dontShowAgain, title, borderColor, onDismissed, cancelText, confirmText, onConfirm, onCancel, isSingleAction, children, buttonColor }) => {
533
622
  const dismiss = () => {
534
623
  onDismissed == null ? void 0 : onDismissed();
535
624
  };
536
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
625
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
537
626
  "div",
538
627
  {
539
628
  className: "top-0 left-0 fixed w-full h-screen flex justify-center",
@@ -541,11 +630,11 @@ var BottomAlert = ({ isDark, setDontShowAgain, dontShowAgain, title, borderColor
541
630
  background: isDark ? "rgba(0, 0, 0, 0.1)" : "rgba(255, 255, 255, 0.1)",
542
631
  zIndex: 9999
543
632
  },
544
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "absolute top-0 w-full h-screen flex justify-center bg-gray-200/90 dark:bg-slate-800/50", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "absolute sm:w-1/2 w-full mx-auto shadow-xl rounded-md p-6 flex z-50 flex-col top-24 bg-white dark:bg-slate-900 overflow-clip rounded-bl-lg rounded-br-lg border-b-8 border-b-blue-500", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { style: { borderColor: borderColor || "#0ea5e9" }, children: [
545
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h3", { className: "font-semibold font-header text-gray-700 dark:text-gray-300 text-xl", children: title }),
546
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "mt-2 text-lg", children }),
547
- setDontShowAgain ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center space-x-1", children: [
548
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
633
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "absolute top-0 w-full h-screen flex justify-center bg-gray-200/90 dark:bg-slate-800/50", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "absolute sm:w-1/2 w-full mx-auto shadow-xl rounded-md p-6 flex z-50 flex-col top-24 bg-white dark:bg-slate-900 overflow-clip rounded-bl-lg rounded-br-lg border-b-8 border-b-blue-500", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { borderColor: borderColor || "#0ea5e9" }, children: [
634
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", { className: "font-semibold font-header text-gray-700 dark:text-gray-300 text-xl", children: title }),
635
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mt-2 text-lg", children }),
636
+ setDontShowAgain ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center space-x-1", children: [
637
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
549
638
  "input",
550
639
  {
551
640
  onChange: () => {
@@ -557,9 +646,9 @@ var BottomAlert = ({ isDark, setDontShowAgain, dontShowAgain, title, borderColor
557
646
  className: `form-checkbox text-blue-600 focus:ring-blue-500 border-gray-300 rounded h-4 w-4`
558
647
  }
559
648
  ),
560
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("label", { htmlFor: "show_again_check", className: "dark:text-gray-200 text-gray-700", children: "Don't show again" })
649
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: "show_again_check", className: "dark:text-gray-200 text-gray-700", children: "Don't show again" })
561
650
  ] }) : null,
562
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "mt-4 flex items-center justify-end space-x-4 z-10", children: isSingleAction ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
651
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mt-4 flex items-center justify-end space-x-4 z-10", children: isSingleAction ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
563
652
  Button_default,
564
653
  {
565
654
  type: "button",
@@ -570,8 +659,8 @@ var BottomAlert = ({ isDark, setDontShowAgain, dontShowAgain, title, borderColor
570
659
  },
571
660
  children: confirmText || "Okay"
572
661
  }
573
- ) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "w-1/3 flex justify-end space-x-4", children: [
574
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "w-full flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
662
+ ) : /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "w-1/3 flex justify-end space-x-4", children: [
663
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-full flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
575
664
  Button_default,
576
665
  {
577
666
  type: "button",
@@ -583,7 +672,7 @@ var BottomAlert = ({ isDark, setDontShowAgain, dontShowAgain, title, borderColor
583
672
  children: cancelText || "Cancel"
584
673
  }
585
674
  ) }),
586
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "w-full flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
675
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-full flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
587
676
  Button_default,
588
677
  {
589
678
  type: "button",
@@ -603,53 +692,16 @@ var BottomAlert = ({ isDark, setDontShowAgain, dontShowAgain, title, borderColor
603
692
  var BAWrapper = (props) => {
604
693
  if (!props.isVisible) return null;
605
694
  return import_react_dom2.default.createPortal(
606
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(BottomAlert, __spreadValues({}, props)),
695
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BottomAlert, __spreadValues({}, props)),
607
696
  document.body
608
697
  );
609
698
  };
610
699
  var BottomAlert_default = BAWrapper;
611
700
 
612
- // src/Common/Container.tsx
613
- var import_jsx_runtime12 = require("react/jsx-runtime");
614
- var Container = ({ backgroundImage, style, children, onClick }) => {
615
- return backgroundImage ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
616
- "div",
617
- {
618
- style: __spreadValues({
619
- backgroundImage,
620
- backgroundSize: "cover"
621
- }, style),
622
- className: "w-full md:min-h-screen dark:bg-slate-950 mx-auto overflow-y-auto overflow-x-clip px-0 md:px-2 sm:py-4 py-1 relative",
623
- onClick,
624
- children: children ? children : null
625
- }
626
- ) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
627
- "div",
628
- {
629
- className: `w-full dark:bg-slate-950 mx-auto overflow-y-auto overflow-x-clip px-0 sm:px-16 relative pt-20`,
630
- onClick,
631
- style: style || { minHeight: "100vh" },
632
- children: children ? children : null
633
- }
634
- );
635
- };
636
- var Container_default = Container;
637
-
638
- // src/Common/fieldStyle.ts
639
- var baseFieldStyle = "font-sans form-input h-11 w-full bg-white border-gray-200 dark:border-gray-500 dark:bg-slate-800 dark:text-gray-200 text-gray-700 dark:placeholder-gray-400 placeholder-gray-400 rounded-md px-2 py-1 focus:outline-none focus:border-blue-300 focus:ring focus:ring-blue-200 focus:ring-opacity-50";
640
- var createExerciseElementStyle = "flex flex-col justify-between space-y-2 w-full p-4 bg-white dark:bg-slate-800 rounded-xl text-gray-800 dark:text-gray-200 border-2 border-slate-200 dark:border-slate-400 overflow-hidden transition-all";
641
- var exerciseDeleteButton = "w-6 h-6 flex justify-center text-gray-700 dark:text-gray-200 hover:text-red-600 dark:hover:text-red-500 transition-all duration-150 hover:scale-125";
642
- var xIconButton = "w-6 h-6 flex justify-center text-gray-700 dark:text-gray-200 hover:text-gray-950 dark:hover:text-gray-100 transition-all duration-150 hover:scale-125";
643
- var exerciseEditButton = "w-6 h-6 flex justify-center text-gray-700 dark:text-gray-200 hover:text-red-600 dark:hover:text-green-500 transition-all duration-150 hover:scale-125";
644
- var tippyClassname = "p-2 bg-slate-600 dark:bg-slate-900 opacity-90 text-white font-medium font-header rounded-lg";
645
- var headerTippyClass = "rounded-lg p-2 bg-slate-950 opacity-95 text-white font-medium";
646
- var headerButtonClass = "w-10 h-10 rounded-full dark:hover:bg-slate-600 hover:bg-slate-200 bg-transparent flex justify-center items-center flex justify-center items-center text-slate-600 dark:text-slate-100 hover:text-primary dark:hover:text-primary transition-colors duration-50";
647
- var toolbarExerciseButton = "flex bg-gray-50/90 items-center sm:justify-between p-4 shadow-sm w-full rounded-xl border-4 border-transparent hover:border-white text-gray-700 hover:text-white hover:bg-indigo-500 transition-colors duration-75";
648
-
649
701
  // src/Common/Tippy.tsx
650
702
  var import_react5 = require("react");
651
703
  var import_react6 = require("@floating-ui/react");
652
- var import_jsx_runtime13 = require("react/jsx-runtime");
704
+ var import_jsx_runtime17 = require("react/jsx-runtime");
653
705
  var Tippy = ({ children, content, placement = "top", className = "", wrapperClassname = "", disabled = false, arrow: useArrow = false, visible }) => {
654
706
  const [isOpen, setIsOpen] = (0, import_react5.useState)(false);
655
707
  const arrowRef = (0, import_react5.useRef)(null);
@@ -685,9 +737,9 @@ var Tippy = ({ children, content, placement = "top", className = "", wrapperClas
685
737
  dismiss,
686
738
  role
687
739
  ]);
688
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
689
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react6.FloatingPortal, { children: [
690
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
740
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
741
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react6.FloatingPortal, { children: [
742
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
691
743
  "div",
692
744
  __spreadProps(__spreadValues({
693
745
  ref: refs.setFloating,
@@ -702,7 +754,7 @@ var Tippy = ({ children, content, placement = "top", className = "", wrapperClas
702
754
  children: content
703
755
  })
704
756
  ),
705
- useArrow && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
757
+ useArrow && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
706
758
  import_react6.FloatingArrow,
707
759
  {
708
760
  ref: arrowRef,
@@ -712,22 +764,22 @@ var Tippy = ({ children, content, placement = "top", className = "", wrapperClas
712
764
  }
713
765
  )
714
766
  ] }),
715
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", __spreadProps(__spreadValues({ ref: refs.setReference }, getReferenceProps()), { className: wrapperClassname, children }))
767
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", __spreadProps(__spreadValues({ ref: refs.setReference }, getReferenceProps()), { className: wrapperClassname, children }))
716
768
  ] });
717
769
  };
718
770
  var Tippy_default = Tippy;
719
771
 
720
772
  // src/Common/IconInfo.tsx
721
- var import_jsx_runtime14 = require("react/jsx-runtime");
773
+ var import_jsx_runtime18 = require("react/jsx-runtime");
722
774
  var IconInfo = ({ content, icon, number, color }) => {
723
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex flex-shrink-0 items-center justify-center w-8 h-8 rounded-full bg-slate-400 dark:bg-slate-600 dark:border dark:border-white", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
775
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex flex-shrink-0 items-center justify-center w-8 h-8 rounded-full bg-slate-400 dark:bg-slate-600 dark:border dark:border-white", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
724
776
  Tippy_default,
725
777
  {
726
778
  className: tippyClassname,
727
779
  content,
728
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "relative", children: [
780
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "relative", children: [
729
781
  icon,
730
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: `absolute -bottom-1 ${number > 9 ? number > 99 ? number > 999 ? "w-8 h-8 -right-6 -bottom-3" : "w-6 h-6 -right-5 -bottom-2" : "w-5 h-5 -right-3" : "w-4 -right-3"} flex justify-center items-center text-xs font-sans rounded-full text-white ${color || "bg-secondary"}`, children: number })
782
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: `absolute -bottom-1 ${number > 9 ? number > 99 ? number > 999 ? "w-8 h-8 -right-6 -bottom-3" : "w-6 h-6 -right-5 -bottom-2" : "w-5 h-5 -right-3" : "w-4 -right-3"} flex justify-center items-center text-xs font-sans rounded-full text-white ${color || "bg-secondary"}`, children: number })
731
783
  ] })
732
784
  }
733
785
  ) });
@@ -738,37 +790,37 @@ var IconInfo_default = IconInfo;
738
790
  var import_link = __toESM(require("next/link"));
739
791
 
740
792
  // src/Icons/XIcon.tsx
741
- var import_jsx_runtime15 = require("react/jsx-runtime");
793
+ var import_jsx_runtime19 = require("react/jsx-runtime");
742
794
  var XIcon = ({ className }) => {
743
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) });
795
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) });
744
796
  };
745
797
  var XIcon_default = XIcon;
746
798
 
747
799
  // src/Common/Modal.tsx
748
- var import_jsx_runtime16 = require("react/jsx-runtime");
800
+ var import_jsx_runtime20 = require("react/jsx-runtime");
749
801
  var Modal = (_a) => {
750
802
  var _b = _a, { visible, children, fullscreen, displayDark, dismissLink, bgOpacity, onDismissed, dismissable = true, dismissOnBackdropClick = true, style } = _b, props = __objRest(_b, ["visible", "children", "fullscreen", "displayDark", "dismissLink", "bgOpacity", "onDismissed", "dismissable", "dismissOnBackdropClick", "style"]);
751
803
  if (!visible) return null;
752
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Overlay_default, __spreadProps(__spreadValues({ visible, onClick: dismissOnBackdropClick ? onDismissed : void 0, isDark: displayDark, withContainer: true }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
804
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Overlay_default, __spreadProps(__spreadValues({ visible, onClick: dismissOnBackdropClick ? onDismissed : void 0, isDark: displayDark, withContainer: true }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
753
805
  "div",
754
806
  {
755
807
  className: `${displayDark && "dark"} bg-slate-900/20 fixed inset-0 flex items-center justify-center`,
756
808
  style: { zIndex: 1e4 },
757
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: ["relative mx-1 w-full md:mx-auto md:w-3/4 lg:w-1/2", fullscreen && `md:w-5/6 lg:w-5/6`].join(" "), children: [
758
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { children: dismissLink ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
809
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: ["relative mx-1 w-full md:mx-auto md:w-3/4 lg:w-1/2", fullscreen && `md:w-5/6 lg:w-5/6`].join(" "), children: [
810
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children: dismissLink ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
759
811
  import_link.default,
760
812
  {
761
813
  href: dismissLink,
762
814
  scroll: false,
763
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { onClick: onDismissed, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(XIcon_default, { className: "absolute h-5 w-5 top-5 sm:top-20 right-4 transition-colors cursor-pointer duration-75 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-500" }) })
815
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { onClick: onDismissed, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(XIcon_default, { className: "absolute h-5 w-5 top-5 sm:top-20 right-4 transition-colors cursor-pointer duration-75 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-500" }) })
764
816
  }
765
- ) : dismissable ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
817
+ ) : dismissable ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
766
818
  "button",
767
819
  {
768
820
  className: "absolute top-5 sm:top-20 right-4 transition-colors cursor-pointer duration-75 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-500",
769
821
  type: "button",
770
822
  onClick: onDismissed,
771
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
823
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
772
824
  XIcon_default,
773
825
  {
774
826
  className: "h-5 w-5"
@@ -776,13 +828,13 @@ var Modal = (_a) => {
776
828
  )
777
829
  }
778
830
  ) : null }),
779
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
831
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
780
832
  "div",
781
833
  {
782
834
  className: "my-1 sm:mt-16 bg-white dark:bg-slate-900 shadow-lg border border-gray-100 dark:border-none rounded-xl overflow-x-visible overflow-y-visible no-scrollbar",
783
835
  onClick: (e) => e.stopPropagation(),
784
836
  style: __spreadValues({ maxHeight: "calc(100vh - 6rem)" }, style),
785
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "p-4 sm:p-10", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mt-8 sm:mt-0", children }) })
837
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "p-4 sm:p-10", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "mt-8 sm:mt-0", children }) })
786
838
  }
787
839
  )
788
840
  ] })
@@ -791,24 +843,9 @@ var Modal = (_a) => {
791
843
  };
792
844
  var Modal_default = Modal;
793
845
 
794
- // src/Common/NoResults.tsx
795
- var import_jsx_runtime17 = require("react/jsx-runtime");
796
- var HEIGHT = 160;
797
- var WIDTH = HEIGHT * (16 / 9);
798
- var NoResults = ({ loading, message }) => {
799
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative w-full flex justify-center items-center", children: [
800
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex justify-start w-full space-x-2 py-3 p-4 bg-slate-100 dark:bg-slate-800 rounded-md", children: [
801
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { width: `calc(${WIDTH}px + 1rem)`, height: 320 }, className: "rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-shadow duration-150 px-2 pt-2 bg-slate-200 dark:bg-slate-700 animate-pulse" }),
802
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { width: `calc(${WIDTH}px + 1rem)`, height: 320 }, className: "rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-shadow duration-150 px-2 pt-2 bg-slate-200 dark:bg-slate-700 animate-pulse" })
803
- ] }),
804
- !loading && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "absolute w-full h-full flex justify-center items-center m-auto", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "p-4 rounded-lg bg-white dark:bg-slate-700 shadow-xl", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "font-semibold text-lg text-gray-700 dark:text-gray-300", children: message || "No results" }) }) })
805
- ] });
806
- };
807
- var NoResults_default = NoResults;
808
-
809
846
  // src/Common/NoticeBox.tsx
810
847
  var import_react7 = require("react");
811
- var import_jsx_runtime18 = require("react/jsx-runtime");
848
+ var import_jsx_runtime21 = require("react/jsx-runtime");
812
849
  var NoticeBox = ({ children, type, isDismissible, isVisible, onDismiss }) => {
813
850
  const [visible, setVisible] = (0, import_react7.useState)(true);
814
851
  const styles = (0, import_react7.useMemo)(() => {
@@ -829,15 +866,15 @@ var NoticeBox = ({ children, type, isDismissible, isVisible, onDismiss }) => {
829
866
  setVisible(isVisible);
830
867
  }, [isVisible]);
831
868
  if (!isVisible) return null;
832
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
869
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
833
870
  "div",
834
871
  {
835
872
  style: {
836
873
  zIndex: 100
837
874
  },
838
875
  className: styles,
839
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "relative", children: [
840
- isDismissible && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
876
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative", children: [
877
+ isDismissible && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
841
878
  "button",
842
879
  {
843
880
  type: "button",
@@ -846,7 +883,7 @@ var NoticeBox = ({ children, type, isDismissible, isVisible, onDismiss }) => {
846
883
  onDismiss == null ? void 0 : onDismiss();
847
884
  },
848
885
  className: "absolute bottom-1 right-1 transition-colors cursor-pointer duration-75 hover:text-blue-500",
849
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(XIcon_default, { className: "h-5 w-5" })
886
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(XIcon_default, { className: "h-5 w-5" })
850
887
  }
851
888
  ),
852
889
  children
@@ -856,58 +893,51 @@ var NoticeBox = ({ children, type, isDismissible, isVisible, onDismiss }) => {
856
893
  };
857
894
  var NoticeBox_default = NoticeBox;
858
895
 
859
- // src/Common/Pill.tsx
860
- var import_jsx_runtime19 = require("react/jsx-runtime");
861
- var Pill = ({ text }) => {
862
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "rounded-full px-3 py-1 text-sm font-header font-medium bg-white dark:bg-slate-900 text-gray-700 dark:text-gray-300 mr-2 mb-2", children: text });
863
- };
864
- var Pill_default = Pill;
865
-
866
896
  // src/Icons/StarIcon.tsx
867
- var import_jsx_runtime20 = require("react/jsx-runtime");
897
+ var import_jsx_runtime22 = require("react/jsx-runtime");
868
898
  var StarIcon = ({ className, percentage, color }) => {
869
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor", children: [
870
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("linearGradient", { id: "grad", children: [
871
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("stop", { offset: `${(percentage || 0.5) * 100}%`, "stop-color": color ? color : "#4b5563" }),
872
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("stop", { offset: `${100 - (percentage || 0.5) * 100}%`, "stop-color": "white" })
899
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor", children: [
900
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("linearGradient", { id: "grad", children: [
901
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("stop", { offset: `${(percentage || 0.5) * 100}%`, "stop-color": color ? color : "#4b5563" }),
902
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("stop", { offset: `${100 - (percentage || 0.5) * 100}%`, "stop-color": "white" })
873
903
  ] }) }),
874
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { fill: "url(#grad)", d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" })
904
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { fill: "url(#grad)", d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" })
875
905
  ] });
876
906
  };
877
907
  var StarIcon_default = StarIcon;
878
908
 
879
909
  // src/Icons/StarIconSolid.tsx
880
- var import_jsx_runtime21 = require("react/jsx-runtime");
910
+ var import_jsx_runtime23 = require("react/jsx-runtime");
881
911
  var StartIconSolid = ({ className }) => {
882
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" }) });
912
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" }) });
883
913
  };
884
914
  var StarIconSolid_default = StartIconSolid;
885
915
 
886
916
  // src/Common/RatingStars.tsx
887
- var import_jsx_runtime22 = require("react/jsx-runtime");
917
+ var import_jsx_runtime24 = require("react/jsx-runtime");
888
918
  var RatingStars = ({ avgRating, large }) => {
889
919
  const icons = [1, 2, 3, 4, 5].map((el) => {
890
920
  if (avgRating === 0) {
891
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-gray-200 dark:text-gray-400` }, `rating_star_${el}`);
921
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-gray-200 dark:text-gray-400` }, `rating_star_${el}`);
892
922
  }
893
923
  if (Number.isInteger(avgRating)) {
894
924
  if (el <= avgRating) {
895
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-blue-500` }, `rating_star_${el}`);
925
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-blue-500` }, `rating_star_${el}`);
896
926
  }
897
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-gray-200 dark:text-gray-400` }, `rating_star_${el}`);
927
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-gray-200 dark:text-gray-400` }, `rating_star_${el}`);
898
928
  }
899
929
  const whole = Math.floor(avgRating);
900
930
  if (el <= whole) {
901
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-blue-500` }, `rating_star_${el}`);
931
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StarIconSolid_default, { className: `${large ? "h-5 w-5" : "h-3 w-3"} text-blue-500` }, `rating_star_${el}`);
902
932
  }
903
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StarIcon_default, { percentage: avgRating - whole, color: "#00b4d8", className: `${large ? "h-5 w-5" : "h-3 w-3"}` }, `rating_star_${el}`);
933
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StarIcon_default, { percentage: avgRating - whole, color: "#00b4d8", className: `${large ? "h-5 w-5" : "h-3 w-3"}` }, `rating_star_${el}`);
904
934
  });
905
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
935
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
906
936
  Tippy_default,
907
937
  {
908
938
  content: avgRating === 0 ? "No ratings" : "Average Rating " + avgRating,
909
939
  className: "bg-gray-800 opacity-90 text-white rounded-md px-2 py-1 cursor-pointer h-fit",
910
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center space-x-0 justify-start", children: icons })
940
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center space-x-0 justify-start", children: icons })
911
941
  }
912
942
  );
913
943
  };
@@ -916,12 +946,12 @@ var RatingStars_default = RatingStars;
916
946
  // src/Common/Slider.tsx
917
947
  var import_react8 = require("react");
918
948
  var import_use_debounce = require("use-debounce");
919
- var import_jsx_runtime23 = require("react/jsx-runtime");
949
+ var import_jsx_runtime25 = require("react/jsx-runtime");
920
950
  var Slider = ({ min, max, step, value, onChange }) => {
921
951
  const handleChange = (event) => {
922
952
  onChange(parseFloat(event.target.value));
923
953
  };
924
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
954
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
925
955
  "input",
926
956
  {
927
957
  type: "range",
@@ -939,7 +969,7 @@ var DebouncedSlider = ({ min, max, handleUpdate, initialValue }) => {
939
969
  const debouncedUpdate = (0, import_use_debounce.useDebouncedCallback)((v) => {
940
970
  handleUpdate(v);
941
971
  }, 120, { trailing: true, leading: false });
942
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
972
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
943
973
  Slider,
944
974
  {
945
975
  min,
@@ -956,40 +986,18 @@ var DebouncedSlider = ({ min, max, handleUpdate, initialValue }) => {
956
986
  Slider.Debounced = DebouncedSlider;
957
987
  var Slider_default = Slider;
958
988
 
959
- // src/Common/StepsComponent.tsx
960
- var import_jsx_runtime24 = require("react/jsx-runtime");
961
- var StepsComponent = ({ steps, activeStep, onStepPress }) => {
962
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex justify-between items-center w-full p-1 mb-2", children: steps.map((step, index) => {
963
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex justify-center items-center space-x-2 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
964
- "button",
965
- {
966
- type: "button",
967
- onClick: () => onStepPress(index),
968
- className: `flex items-center space-x-2 px-4 py-2 rounded-lg min-w-10 md:min-w-20 sm:min-w-40 font-header transition-all duration-150
969
- ${activeStep === index ? "bg-primary text-white shadow-lg scale-110 border-2 border-primary" : "bg-gray-100 dark:bg-slate-800 text-gray-700 dark:text-gray-200 hover:bg-gray-200 dark:hover:bg-slate-700 border-2 border-transparent hover:border-primary/30"}`,
970
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "font-medium truncate", children: [
971
- index + 1,
972
- ". ",
973
- step.label
974
- ] })
975
- }
976
- ) }) }, `step_${index}_${step.label}`);
977
- }) });
978
- };
979
- var StepsComponent_default = StepsComponent;
980
-
981
989
  // src/Common/ToggleSwitch.tsx
982
990
  var import_formik3 = require("formik");
983
991
  var import_framer_motion3 = require("framer-motion");
984
- var import_jsx_runtime25 = require("react/jsx-runtime");
992
+ var import_jsx_runtime26 = require("react/jsx-runtime");
985
993
  var Formik = ({ label, name }) => {
986
994
  const [{ value }, , { setValue }] = (0, import_formik3.useField)(name);
987
995
  const handleChange = (e) => {
988
996
  setValue(e.target.checked);
989
997
  };
990
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("label", { className: "flex items-center space-x-2 cursor-pointer", children: [
991
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "relative", children: [
992
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
998
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("label", { className: "flex items-center space-x-2 cursor-pointer", children: [
999
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "relative", children: [
1000
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
993
1001
  "input",
994
1002
  {
995
1003
  type: "checkbox",
@@ -998,7 +1006,7 @@ var Formik = ({ label, name }) => {
998
1006
  onChange: handleChange
999
1007
  }
1000
1008
  ),
1001
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `w-10 h-6 rounded-full p-[4px] transition-colors duration-300 ${value ? "bg-[#00b4d8]" : "bg-[#64748b]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1009
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: `w-10 h-6 rounded-full p-[4px] transition-colors duration-300 ${value ? "bg-[#00b4d8]" : "bg-[#64748b]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1002
1010
  import_framer_motion3.motion.div,
1003
1011
  {
1004
1012
  className: "w-4 h-4 bg-white rounded-full absolute top-1",
@@ -1010,16 +1018,16 @@ var Formik = ({ label, name }) => {
1010
1018
  }
1011
1019
  ) })
1012
1020
  ] }),
1013
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-sm font-medium text-gray-800 dark:text-gray-200", children: label })
1021
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-sm font-medium text-gray-800 dark:text-gray-200", children: label })
1014
1022
  ] });
1015
1023
  };
1016
1024
  var ToggleSwitch = ({ label, onChange, value }) => {
1017
1025
  const handleChange = (e) => {
1018
1026
  onChange(e.target.checked);
1019
1027
  };
1020
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("label", { className: "flex items-center space-x-2 cursor-pointer", children: [
1021
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "relative", children: [
1022
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1028
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("label", { className: "flex items-center space-x-2 cursor-pointer", children: [
1029
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "relative", children: [
1030
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1023
1031
  "input",
1024
1032
  {
1025
1033
  type: "checkbox",
@@ -1028,7 +1036,7 @@ var ToggleSwitch = ({ label, onChange, value }) => {
1028
1036
  onChange: handleChange
1029
1037
  }
1030
1038
  ),
1031
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `w-10 h-6 rounded-full p-[4px] transition-colors duration-300 ${value ? "bg-[#00b4d8]" : "bg-[#64748b]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1039
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: `w-10 h-6 rounded-full p-[4px] transition-colors duration-300 ${value ? "bg-[#00b4d8]" : "bg-[#64748b]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1032
1040
  import_framer_motion3.motion.div,
1033
1041
  {
1034
1042
  className: "w-4 h-4 bg-white rounded-full absolute top-1",
@@ -1040,7 +1048,7 @@ var ToggleSwitch = ({ label, onChange, value }) => {
1040
1048
  }
1041
1049
  ) })
1042
1050
  ] }),
1043
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-sm font-medium text-gray-800 dark:text-gray-200", children: label })
1051
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-sm font-medium text-gray-800 dark:text-gray-200", children: label })
1044
1052
  ] });
1045
1053
  };
1046
1054
  ToggleSwitch.Formik = Formik;
@@ -1050,24 +1058,24 @@ var ToggleSwitch_default = ToggleSwitch;
1050
1058
  var import_framer_motion4 = require("framer-motion");
1051
1059
 
1052
1060
  // src/Icons/PlusCircleIcon.tsx
1053
- var import_jsx_runtime26 = require("react/jsx-runtime");
1061
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1054
1062
  var PlusCircleIcon = ({ className }) => {
1055
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" }) });
1063
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" }) });
1056
1064
  };
1057
1065
  var PlusCircleIcon_default = PlusCircleIcon;
1058
1066
 
1059
1067
  // src/Icons/ArrowCircleRight.tsx
1060
- var import_jsx_runtime27 = require("react/jsx-runtime");
1068
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1061
1069
  var StartIconSolid2 = ({ className }) => {
1062
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z" }) });
1070
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", className: className || "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z" }) });
1063
1071
  };
1064
1072
  var ArrowCircleRight_default = StartIconSolid2;
1065
1073
 
1066
1074
  // src/Common/UserContentSwitcher.tsx
1067
- var import_jsx_runtime28 = require("react/jsx-runtime");
1075
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1068
1076
  var UserContentSwitcher = ({ icon1: Icon1, icon2: Icon2, setGalleryMode, galleryMode, title1, title2 }) => {
1069
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "relative flex flex-row items-center my-2 bg-slate-100 dark:bg-slate-900 w-full h-14 rounded-lg", children: [
1070
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1077
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "relative flex flex-row items-center my-2 bg-slate-100 dark:bg-slate-900 w-full h-14 rounded-lg", children: [
1078
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1071
1079
  import_framer_motion4.motion.div,
1072
1080
  {
1073
1081
  className: "absolute w-1/2 h-11 rounded-md bg-white dark:bg-slate-600",
@@ -1081,25 +1089,25 @@ var UserContentSwitcher = ({ icon1: Icon1, icon2: Icon2, setGalleryMode, gallery
1081
1089
  }
1082
1090
  }
1083
1091
  ),
1084
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1092
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1085
1093
  "button",
1086
1094
  {
1087
1095
  onClick: () => setGalleryMode(title1.toLowerCase()),
1088
1096
  className: "py-2 flex flex-row w-1/2 justify-center items-center gap-1 z-10",
1089
1097
  children: [
1090
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1098
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1091
1099
  "span",
1092
1100
  {
1093
1101
  className: `truncate ${galleryMode === title1.toLowerCase() ? "text-primary dark:text-blue-400" : "text-slate-500 dark:text-slate-400 opacity-90"}`,
1094
1102
  children: title1.toLocaleUpperCase()
1095
1103
  }
1096
1104
  ),
1097
- Icon1 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1105
+ Icon1 ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1098
1106
  Icon1,
1099
1107
  {
1100
1108
  className: `h-5 w-5 ${galleryMode === title1.toLowerCase() ? "text-primary dark:text-blue-400" : "text-slate-500 dark:text-slate-400 opacity-90"}`
1101
1109
  }
1102
- ) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1110
+ ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1103
1111
  PlusCircleIcon_default,
1104
1112
  {
1105
1113
  className: `h-5 w-5 ${galleryMode === title1.toLowerCase() ? "text-primary dark:text-blue-400" : "text-slate-500 dark:text-slate-400 opacity-90"}`
@@ -1108,25 +1116,25 @@ var UserContentSwitcher = ({ icon1: Icon1, icon2: Icon2, setGalleryMode, gallery
1108
1116
  ]
1109
1117
  }
1110
1118
  ),
1111
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1119
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1112
1120
  "button",
1113
1121
  {
1114
1122
  onClick: () => setGalleryMode(title2.toLowerCase()),
1115
1123
  className: "py-2 flex flex-row w-1/2 justify-center items-center gap-1 z-10",
1116
1124
  children: [
1117
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1125
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1118
1126
  "span",
1119
1127
  {
1120
1128
  className: `truncate ${galleryMode === title2.toLowerCase() ? "text-primary dark:text-blue-400" : "text-slate-500 dark:text-slate-400 opacity-90"}`,
1121
1129
  children: title2.toLocaleUpperCase()
1122
1130
  }
1123
1131
  ),
1124
- Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1132
+ Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1125
1133
  Icon2,
1126
1134
  {
1127
1135
  className: `h-5 w-5 ${galleryMode === title2.toLowerCase() ? "text-primary dark:text-blue-400" : "text-slate-500 dark:text-slate-400 opacity-90"}`
1128
1136
  }
1129
- ) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1137
+ ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1130
1138
  ArrowCircleRight_default,
1131
1139
  {
1132
1140
  className: `h-5 w-5 ${galleryMode === title2.toLowerCase() ? "text-primary dark:text-blue-400" : "text-slate-500 dark:text-slate-400 opacity-90"}`
@@ -1139,13 +1147,6 @@ var UserContentSwitcher = ({ icon1: Icon1, icon2: Icon2, setGalleryMode, gallery
1139
1147
  };
1140
1148
  var UserContentSwitcher_default = UserContentSwitcher;
1141
1149
 
1142
- // src/Fade/Fade.tsx
1143
- var import_jsx_runtime29 = require("react/jsx-runtime");
1144
- var Fade = ({ children, inProp }) => {
1145
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "animate-fade-in", children });
1146
- };
1147
- var Fade_default = Fade;
1148
-
1149
1150
  // src/ProgressBar/ProgressBarSimple.tsx
1150
1151
  var import_jsx_runtime30 = require("react/jsx-runtime");
1151
1152
  var ProgressBarSimple = ({ progress, color, height = 10, backgroundColor = "#ccc" }) => {
@@ -1261,7 +1262,7 @@ var CircleProgress_default = CircleProgress;
1261
1262
 
1262
1263
  // src/ProgressBar/CourseProgress.tsx
1263
1264
  var import_jsx_runtime33 = require("react/jsx-runtime");
1264
- var PRIMARY_COLOR = "#00b4d8";
1265
+ var PRIMARY_COLOR2 = "#00b4d8";
1265
1266
  var CourseProgress = ({ twColor, percentage, label }) => {
1266
1267
  const cx = "50%";
1267
1268
  const cy = "50%";
@@ -1289,7 +1290,7 @@ var CourseProgress = ({ twColor, percentage, label }) => {
1289
1290
  "circle",
1290
1291
  {
1291
1292
  style: { strokeDashoffset },
1292
- color: twColor || PRIMARY_COLOR,
1293
+ color: twColor || PRIMARY_COLOR2,
1293
1294
  ref: (ref) => {
1294
1295
  if (ref) {
1295
1296
  }
@@ -1363,7 +1364,7 @@ var CourseProgress_default = CourseProgress;
1363
1364
  // src/ProgressBar/ScrollProgress.tsx
1364
1365
  var import_react9 = require("react");
1365
1366
  var import_jsx_runtime34 = require("react/jsx-runtime");
1366
- var PRIMARY_COLOR2 = "#00b4d8";
1367
+ var PRIMARY_COLOR3 = "#00b4d8";
1367
1368
  var ScrollProgress = () => {
1368
1369
  const [scrollPercentage, setScrollPercentage] = (0, import_react9.useState)(0);
1369
1370
  (0, import_react9.useEffect)(() => {
@@ -1397,7 +1398,7 @@ var ScrollProgress = () => {
1397
1398
  {
1398
1399
  style: {
1399
1400
  height: "100%",
1400
- backgroundColor: PRIMARY_COLOR2,
1401
+ backgroundColor: PRIMARY_COLOR3,
1401
1402
  borderRadius: 2,
1402
1403
  width: `${scrollPercentage}%`
1403
1404
  }
@@ -1547,9 +1548,6 @@ var OverlaySpinner = ({ visible }) => {
1547
1548
  );
1548
1549
  };
1549
1550
  var OverlaySpinner_default = OverlaySpinner;
1550
-
1551
- // src/constants.tsx
1552
- var PRIMARY_COLOR3 = "#00b4d8";
1553
1551
  // Annotate the CommonJS export names for ESM import in node:
1554
1552
  0 && (module.exports = {
1555
1553
  AnimateLogo,