sales-frontend-debug 0.0.47 → 0.0.49

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
@@ -1,5 +1,6 @@
1
- import React7, { useEffect, useState, useMemo, useRef, useCallback } from 'react';
2
- import { getEnvironmentFromHostname, isClient } from 'sales-frontend-utils';
1
+ import React8, { useEffect, useState, useMemo, useRef, useCallback } from 'react';
2
+ import { getCookie, setCookie, deleteCookie } from 'sales-frontend-utils/cookie';
3
+ import { isClient, getEnvironmentFromHostname } from 'sales-frontend-utils';
3
4
  import { useDebugStore } from 'sales-frontend-stores';
4
5
 
5
6
  // src/debug-tool.tsx
@@ -347,165 +348,94 @@ var FloatingButton = ({ onClick }) => {
347
348
  display: isVisible ? "flex" : "none"
348
349
  // Hide until activated
349
350
  };
350
- return /* @__PURE__ */ React7.createElement("button", { style: buttonStyle, onMouseDown: handleMouseDown, onClick: handleClick }, "DEBUG");
351
+ return /* @__PURE__ */ React8.createElement("button", { style: buttonStyle, onMouseDown: handleMouseDown, onClick: handleClick }, "DEBUG");
351
352
  };
352
353
  var floating_button_default = FloatingButton;
353
- var cookieClient = {
354
- getCookie(name) {
355
- if (typeof document === "undefined") {
356
- return "";
357
- }
358
- const match = document.cookie.match(new RegExp(`(^|; *)${name}=([^;]*)`));
359
- return match ? decodeURIComponent(match[2] || "") : "";
360
- },
361
- setCookie(name, value, options = {}) {
362
- if (typeof document === "undefined") {
363
- return;
364
- }
365
- let cookieString = `${name}=${encodeURIComponent(value)}`;
366
- if (options.expires) {
367
- let expiresDate;
368
- if (typeof options.expires === "number") {
369
- expiresDate = /* @__PURE__ */ new Date();
370
- expiresDate.setDate(expiresDate.getDate() + options.expires);
371
- } else {
372
- expiresDate = options.expires;
373
- }
374
- cookieString += `; expires=${expiresDate.toUTCString()}`;
375
- }
376
- cookieString += `; path=${options.path || "/"}`;
377
- if (options.domain) {
378
- cookieString += `; domain=${options.domain}`;
379
- }
380
- if (options.secure) {
381
- cookieString += "; secure";
382
- }
383
- document.cookie = cookieString;
384
- },
385
- deleteCookie(name, options = {}) {
386
- cookieClient.setCookie(name, "", { ...options, expires: -1 });
387
- }
388
- };
389
- var useStorage = (storageType) => {
390
- const [items, setItems] = useState([]);
391
- const loadItems = useCallback(() => {
392
- const newItems = [];
393
- if (storageType === "localStorage") {
394
- for (let i = 0; i < localStorage.length; i++) {
395
- const key = localStorage.key(i);
396
- if (key) {
397
- newItems.push({ key, value: localStorage.getItem(key) || "" });
398
- }
399
- }
400
- } else {
401
- const cookies = document.cookie.split(";");
402
- cookies.forEach((cookie) => {
403
- const parts = cookie.split("=");
404
- const key = parts.shift()?.trim();
405
- if (key) {
406
- newItems.push({ key, value: decodeURIComponent(parts.join("=")) });
407
- }
408
- });
409
- }
410
- setItems(newItems);
411
- }, [storageType]);
412
- useEffect(() => {
413
- loadItems();
414
- }, [loadItems]);
415
- const setItem = useCallback(
416
- (key, value) => {
417
- if (storageType === "localStorage") {
418
- localStorage.setItem(key, value);
419
- } else {
420
- cookieClient.setCookie(key, value);
421
- }
422
- loadItems();
423
- },
424
- [storageType, loadItems]
425
- );
426
- const removeItem = useCallback(
427
- (key) => {
428
- if (storageType === "localStorage") {
429
- localStorage.removeItem(key);
430
- } else {
431
- cookieClient.deleteCookie(key);
432
- }
433
- loadItems();
434
- },
435
- [storageType, loadItems]
436
- );
437
- return { items, setItem, removeItem, loadItems };
438
- };
439
-
440
- // src/features/change-host/index.tsx
441
354
  function ChangeHost() {
442
355
  const handleHost = (host) => {
443
- cookieClient.setCookie("dsp-debug-mode-env", host);
356
+ setCookie("dsp-debug-mode-env", host);
444
357
  alert(`\uD638\uC2A4\uD2B8\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.:${host}`);
445
358
  console.log("\uD638\uC2A4\uD2B8\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", {
446
- "dsp-debug-mode-env": cookieClient.getCookie("dsp-debug-mode-env")
359
+ "dsp-debug-mode-env": getCookie("dsp-debug-mode-env")
447
360
  });
448
361
  };
449
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "API\uD638\uC2A4\uD2B8")), /* @__PURE__ */ React7.createElement("ul", null, /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle, onClick: () => handleHost("local") }, "local"), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle, onClick: () => handleHost("dev") }, "dev"), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle, onClick: () => handleHost("stg") }, "stg")));
362
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "API\uD638\uC2A4\uD2B8")), /* @__PURE__ */ React8.createElement("ul", null, /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleHost("local") }, "local"), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleHost("dev") }, "dev"), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleHost("stg") }, "stg")));
363
+ }
364
+ var fileConvertTypeCookieKey = "dsp-debug-mode-file-convert-type";
365
+ function FileConvert() {
366
+ const handleFileConvertType = (host) => {
367
+ setCookie(fileConvertTypeCookieKey, host);
368
+ alert(`file convert type \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.:${host}`);
369
+ console.log("file convert type \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", {
370
+ [fileConvertTypeCookieKey]: getCookie(fileConvertTypeCookieKey)
371
+ });
372
+ };
373
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "File Convert Type")), /* @__PURE__ */ React8.createElement("ul", null, /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleFileConvertType("fetch") }, "fetch"), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleFileConvertType("canvas") }, "canvas"), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleFileConvertType("xhr") }, "xhr")));
450
374
  }
451
375
  function FormFactor() {
452
376
  const handleFormFactor = (formFactor) => {
453
- cookieClient.setCookie("x-channel-formfactor", formFactor);
377
+ setCookie("x-channel-formfactor", formFactor);
454
378
  alert(`\uD3FC\uD329\uD130\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.:${formFactor}`);
455
379
  console.log("\uD3FC\uD329\uD130\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", {
456
- "x-channel-formfactor": cookieClient.getCookie("x-channel-formfactor")
380
+ "x-channel-formfactor": getCookie("x-channel-formfactor")
457
381
  });
458
382
  };
459
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "\uD3FC\uD329\uD130")), /* @__PURE__ */ React7.createElement("ul", null, /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle, onClick: () => handleFormFactor("tablet") }, "Tablet"), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle, onClick: () => handleFormFactor("phone") }, "Phone"), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle, onClick: () => handleFormFactor("pc") }, "PC")));
383
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "\uD3FC\uD329\uD130")), /* @__PURE__ */ React8.createElement("ul", null, /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleFormFactor("tablet") }, "Tablet"), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleFormFactor("phone") }, "Phone"), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle, onClick: () => handleFormFactor("pc") }, "PC")));
460
384
  }
461
385
  function InitRefresh() {
462
386
  const handleDeleteHostCookie = () => {
463
- cookieClient.deleteCookie("dsp-debug-mode-env");
387
+ deleteCookie("dsp-debug-mode-env");
464
388
  alert("\uD638\uC2A4\uD2B8\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
465
389
  console.log("\uD638\uC2A4\uD2B8\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", {
466
- "dsp-debug-mode-env": cookieClient.getCookie("dsp-debug-mode-env")
390
+ "dsp-debug-mode-env": getCookie("dsp-debug-mode-env")
467
391
  });
468
392
  };
469
393
  const handleDeleteTokenCookie = () => {
470
- cookieClient.deleteCookie("accessToken");
394
+ deleteCookie("accessToken");
471
395
  alert("\uD1A0\uD070\uCFE0\uD0A4\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
472
396
  console.log("\uD1A0\uD070\uCFE0\uD0A4\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", {
473
- accessToken: cookieClient.getCookie("accessToken")
397
+ accessToken: getCookie("accessToken")
474
398
  });
475
399
  };
476
400
  const handleDeleteCustomCookie = () => {
477
- cookieClient.deleteCookie("x-channel-appversion");
478
- cookieClient.deleteCookie("x-channel-deviceid");
479
- cookieClient.deleteCookie("x-channel-devicemodel");
480
- cookieClient.deleteCookie("x-channel-formfactor");
481
- cookieClient.deleteCookie("x-channel-loginchannel");
482
- cookieClient.deleteCookie("x-channel-logintype");
483
- cookieClient.deleteCookie("x-channel-platformname");
484
- cookieClient.deleteCookie("x-channel-platformversion");
485
- cookieClient.deleteCookie("x-channel-screenid");
486
- cookieClient.deleteCookie("x-channel-business-work-division-code");
401
+ deleteCookie("x-channel-appversion");
402
+ deleteCookie("x-channel-deviceid");
403
+ deleteCookie("x-channel-devicemodel");
404
+ deleteCookie("x-channel-formfactor");
405
+ deleteCookie("x-channel-loginchannel");
406
+ deleteCookie("x-channel-logintype");
407
+ deleteCookie("x-channel-platformname");
408
+ deleteCookie("x-channel-platformversion");
409
+ deleteCookie("x-channel-screenid");
410
+ deleteCookie("x-channel-business-work-division-code");
487
411
  alert("\uCEE4\uC2A4\uD140\uCFE0\uD0A4\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
488
412
  console.log("\uCEE4\uC2A4\uD140\uCFE0\uD0A4\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", {
489
- "x-channel-appversion": cookieClient.getCookie("x-channel-appversion"),
490
- "x-channel-deviceid": cookieClient.getCookie("x-channel-deviceid"),
491
- "x-channel-devicemodel": cookieClient.getCookie("x-channel-devicemodel"),
492
- "x-channel-formfactor": cookieClient.getCookie("x-channel-formfactor"),
493
- "x-channel-loginchannel": cookieClient.getCookie("x-channel-loginchannel"),
494
- "x-channel-logintype": cookieClient.getCookie("x-channel-logintype"),
495
- "x-channel-platformname": cookieClient.getCookie("x-channel-platformname"),
496
- "x-channel-platformversion": cookieClient.getCookie("x-channel-platformversion"),
497
- "x-channel-screenid": cookieClient.getCookie("x-channel-screenid"),
498
- "x-channel-business-work-division-code": cookieClient.getCookie("x-channel-business-work-division-code")
413
+ "x-channel-appversion": getCookie("x-channel-appversion"),
414
+ "x-channel-deviceid": getCookie("x-channel-deviceid"),
415
+ "x-channel-devicemodel": getCookie("x-channel-devicemodel"),
416
+ "x-channel-formfactor": getCookie("x-channel-formfactor"),
417
+ "x-channel-loginchannel": getCookie("x-channel-loginchannel"),
418
+ "x-channel-logintype": getCookie("x-channel-logintype"),
419
+ "x-channel-platformname": getCookie("x-channel-platformname"),
420
+ "x-channel-platformversion": getCookie("x-channel-platformversion"),
421
+ "x-channel-screenid": getCookie("x-channel-screenid"),
422
+ "x-channel-business-work-division-code": getCookie("x-channel-business-work-division-code")
499
423
  });
500
424
  };
501
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "\uCD08\uAE30\uD654")), /* @__PURE__ */ React7.createElement("ul", null, /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React7.createElement("button", { onClick: () => {
502
- window.location.reload();
503
- } }, "\uC0C8\uB85C\uACE0\uCE68")), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React7.createElement("button", { onClick: handleDeleteHostCookie }, "Host \uC0AD\uC81C")), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React7.createElement("button", { onClick: handleDeleteCustomCookie }, "\uCEE4\uC2A4\uD140(x-channel-) \uC0AD\uC81C")), /* @__PURE__ */ React7.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React7.createElement("button", { onClick: handleDeleteTokenCookie }, "\uD1A0\uD070 \uC0AD\uC81C"))));
425
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "\uCD08\uAE30\uD654")), /* @__PURE__ */ React8.createElement("ul", null, /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React8.createElement(
426
+ "button",
427
+ {
428
+ onClick: () => {
429
+ window.location.reload();
430
+ }
431
+ },
432
+ "\uC0C8\uB85C\uACE0\uCE68"
433
+ )), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React8.createElement("button", { onClick: handleDeleteHostCookie }, "Host \uC0AD\uC81C")), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React8.createElement("button", { onClick: handleDeleteCustomCookie }, "\uCEE4\uC2A4\uD140(x-channel-) \uC0AD\uC81C")), /* @__PURE__ */ React8.createElement("li", { style: menuItemStyle }, /* @__PURE__ */ React8.createElement("button", { onClick: handleDeleteTokenCookie }, "\uD1A0\uD070 \uC0AD\uC81C"))));
504
434
  }
505
435
 
506
436
  // src/components/menu-panel.tsx
507
437
  var MenuPanel = ({ menuItems: menuItems2, onMenuItemClick, onClose, serviceCode }) => {
508
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: debugMenuPanelStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "Debug Menu"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("ul", null, menuItems2.map((item) => /* @__PURE__ */ React7.createElement("li", { key: item.id, onClick: () => onMenuItemClick(item.component), style: menuItemStyle }, item.label))), serviceCode === "dsp" && /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(FormFactor, null), /* @__PURE__ */ React7.createElement(ChangeHost, null), /* @__PURE__ */ React7.createElement(InitRefresh, null))));
438
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: debugMenuPanelStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "Debug Menu"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("ul", null, menuItems2.map((item) => /* @__PURE__ */ React8.createElement("li", { key: item.id, onClick: () => onMenuItemClick(item.component), style: menuItemStyle }, item.label))), serviceCode === "dsp" && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(FormFactor, null), /* @__PURE__ */ React8.createElement(ChangeHost, null), /* @__PURE__ */ React8.createElement(InitRefresh, null), /* @__PURE__ */ React8.createElement(FileConvert, null))));
509
439
  };
510
440
  var menu_panel_default = MenuPanel;
511
441
  var globalLogs = [];
@@ -581,7 +511,7 @@ var LogMessage = ({ entry }) => {
581
511
  return String(part);
582
512
  });
583
513
  const style = { ...logMessageStyle, ...logTypeStyles[entry.type] };
584
- return /* @__PURE__ */ React7.createElement("pre", { style }, messageParts.join(" "));
514
+ return /* @__PURE__ */ React8.createElement("pre", { style }, messageParts.join(" "));
585
515
  };
586
516
  var ConsoleLogPanel = ({ onClose }) => {
587
517
  const { logs, clearLogs } = useConsoleLog();
@@ -599,15 +529,15 @@ var ConsoleLogPanel = ({ onClose }) => {
599
529
  }
600
530
  }, [filteredLogs]);
601
531
  const segmentOptions = ["all", "log", "warn", "error"];
602
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "Console Logs"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("div", { style: panelToolbarStyle }, /* @__PURE__ */ React7.createElement("div", null, segmentOptions.map((option) => /* @__PURE__ */ React7.createElement("button", { key: option, onClick: () => setFilter(option), disabled: filter === option }, option.charAt(0).toUpperCase() + option.slice(1)))), /* @__PURE__ */ React7.createElement("button", { onClick: clearLogs, style: clearButtonStyle }, "Clear")), /* @__PURE__ */ React7.createElement("div", { style: logListContainerStyle, ref: logContainerRef }, filteredLogs.map((log) => /* @__PURE__ */ React7.createElement("div", { key: log.id, style: logItemStyle }, /* @__PURE__ */ React7.createElement("span", { style: logTimestampStyle }, log.timestamp), /* @__PURE__ */ React7.createElement(LogMessage, { entry: log }))))));
532
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "Console Logs"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("div", { style: panelToolbarStyle }, /* @__PURE__ */ React8.createElement("div", null, segmentOptions.map((option) => /* @__PURE__ */ React8.createElement("button", { key: option, onClick: () => setFilter(option), disabled: filter === option }, option.charAt(0).toUpperCase() + option.slice(1)))), /* @__PURE__ */ React8.createElement("button", { onClick: clearLogs, style: clearButtonStyle }, "Clear")), /* @__PURE__ */ React8.createElement("div", { style: logListContainerStyle, ref: logContainerRef }, filteredLogs.map((log) => /* @__PURE__ */ React8.createElement("div", { key: log.id, style: logItemStyle }, /* @__PURE__ */ React8.createElement("span", { style: logTimestampStyle }, log.timestamp), /* @__PURE__ */ React8.createElement(LogMessage, { entry: log }))))));
603
533
  };
604
534
  var console_log_panel_default = ConsoleLogPanel;
605
535
  var LoginPanel = ({ onClose, onLogin }) => {
606
536
  const [selectedTypeId, setSelectedTypeId] = useState(loginTypes[0]?.id || "");
607
537
  const [formData, setFormData] = useState({});
608
- const [mode, setMode] = useState(cookieClient.getCookie("dsp-debug-mode") === "on");
538
+ const [mode, setMode] = useState(getCookie("dsp-debug-mode") === "on");
609
539
  const [stepValidationOff, SetStepValidationOff] = useState(
610
- cookieClient.getCookie("Debug-Step-Validation-Off") === "true"
540
+ getCookie("Debug-Step-Validation-Off") === "true"
611
541
  );
612
542
  const selectedType = useMemo(() => loginTypes.find((t) => t.id === selectedTypeId), [selectedTypeId]);
613
543
  const handleInputChange = (e) => {
@@ -624,43 +554,43 @@ var LoginPanel = ({ onClose, onLogin }) => {
624
554
  const handleDebugOn = (e) => {
625
555
  const checkbox = e.target;
626
556
  if (checkbox.checked) {
627
- cookieClient.setCookie("dsp-debug-mode", "on", { path: "/" });
557
+ setCookie("dsp-debug-mode", "on", { path: "/" });
628
558
  setMode(true);
629
559
  } else {
630
- cookieClient.setCookie("dsp-debug-mode", "off", { path: "/" });
560
+ setCookie("dsp-debug-mode", "off", { path: "/" });
631
561
  setMode(false);
632
562
  }
633
563
  };
634
564
  const handleStepValidationOff = (e) => {
635
565
  const checkbox = e.target;
636
566
  if (checkbox.checked) {
637
- cookieClient.setCookie("Debug-Step-Validation-Off", "true", { path: "/" });
567
+ setCookie("Debug-Step-Validation-Off", "true", { path: "/" });
638
568
  SetStepValidationOff(true);
639
569
  } else {
640
- cookieClient.setCookie("Debug-Step-Validation-Off", "false", { path: "/" });
570
+ setCookie("Debug-Step-Validation-Off", "false", { path: "/" });
641
571
  SetStepValidationOff(false);
642
572
  }
643
573
  };
644
574
  const handleTermsPathPolyNo = (e) => {
645
575
  const val = e.target.value.trim();
646
576
  if (!val) {
647
- cookieClient.deleteCookie("Debug-Terms-PolyNo");
577
+ deleteCookie("Debug-Terms-PolyNo");
648
578
  } else {
649
- cookieClient.setCookie("Debug-Terms-PolyNo", val, { path: "/" });
579
+ setCookie("Debug-Terms-PolyNo", val, { path: "/" });
650
580
  }
651
581
  };
652
582
  const handleTermsPathSaleDate = (e) => {
653
583
  const val = e.target.value.trim();
654
584
  if (!val) {
655
- cookieClient.deleteCookie("Debug-Terms-SaleDate");
585
+ deleteCookie("Debug-Terms-SaleDate");
656
586
  } else {
657
- cookieClient.setCookie("Debug-Terms-SaleDate", val, { path: "/" });
587
+ setCookie("Debug-Terms-SaleDate", val, { path: "/" });
658
588
  }
659
589
  };
660
590
  useEffect(() => {
661
591
  setFormData({});
662
592
  }, [selectedType]);
663
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "\uAC04\uD3B8 \uB85C\uADF8\uC778"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("form", { style: loginFormContainerStyle, onSubmit: handleSubmit }, /* @__PURE__ */ React7.createElement("div", null, /* @__PURE__ */ React7.createElement("ul", { style: { listStyleType: "circle" } }, /* @__PURE__ */ React7.createElement("li", null, /* @__PURE__ */ React7.createElement("label", { htmlFor: "debug-on" }, "Debug On"), /* @__PURE__ */ React7.createElement("input", { type: "checkbox", id: "debug-on", onChange: handleDebugOn, checked: mode }), /* @__PURE__ */ React7.createElement("ul", { style: { listStyleType: "square", paddingLeft: "20px" } }, /* @__PURE__ */ React7.createElement("li", null, "(\uCFE0\uD0A4\uC5D0 \uC14B\uD305\uB41C \uD1A0\uD070\uAC12\uC73C\uB85C \uD5E4\uB354\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4. \uAC04\uD3B8\uB85C\uADF8\uC778 \uC0AC\uC6A9\uC2DC \uD544\uC218\uCCB4\uD06C)"))), /* @__PURE__ */ React7.createElement("li", null, /* @__PURE__ */ React7.createElement("label", { htmlFor: "step-validation-off" }, "\uC11C\uC2DD Validation Off"), /* @__PURE__ */ React7.createElement(
593
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "\uAC04\uD3B8 \uB85C\uADF8\uC778"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("form", { style: loginFormContainerStyle, onSubmit: handleSubmit }, /* @__PURE__ */ React8.createElement("div", null, /* @__PURE__ */ React8.createElement("ul", { style: { listStyleType: "circle" } }, /* @__PURE__ */ React8.createElement("li", null, /* @__PURE__ */ React8.createElement("label", { htmlFor: "debug-on" }, "Debug On"), /* @__PURE__ */ React8.createElement("input", { type: "checkbox", id: "debug-on", onChange: handleDebugOn, checked: mode }), /* @__PURE__ */ React8.createElement("ul", { style: { listStyleType: "square", paddingLeft: "20px" } }, /* @__PURE__ */ React8.createElement("li", null, "(\uCFE0\uD0A4\uC5D0 \uC14B\uD305\uB41C \uD1A0\uD070\uAC12\uC73C\uB85C \uD5E4\uB354\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4. \uAC04\uD3B8\uB85C\uADF8\uC778 \uC0AC\uC6A9\uC2DC \uD544\uC218\uCCB4\uD06C)"))), /* @__PURE__ */ React8.createElement("li", null, /* @__PURE__ */ React8.createElement("label", { htmlFor: "step-validation-off" }, "\uC11C\uC2DD Validation Off"), /* @__PURE__ */ React8.createElement(
664
594
  "input",
665
595
  {
666
596
  type: "checkbox",
@@ -668,7 +598,7 @@ var LoginPanel = ({ onClose, onLogin }) => {
668
598
  onChange: handleStepValidationOff,
669
599
  checked: stepValidationOff
670
600
  }
671
- ), /* @__PURE__ */ React7.createElement("ul", { style: { listStyleType: "square", paddingLeft: "20px" } }, /* @__PURE__ */ React7.createElement("li", null, "(\uC11C\uC2DD \uB2E8\uACC4 \uC774\uB3D9\uC2DC, validation\uC744 \uB044\uACE0 \uBBF8\uC791\uC131 \uB2E8\uACC4\uB3C4 \uC774\uB3D9\uAC00\uB2A5\uD558\uB3C4\uB85D \uD569\uB2C8\uB2E4.)"))), /* @__PURE__ */ React7.createElement("li", null, /* @__PURE__ */ React7.createElement("label", { htmlFor: "terms-path-poly-no" }, "\uC57D\uAD00 polyNo"), /* @__PURE__ */ React7.createElement(
601
+ ), /* @__PURE__ */ React8.createElement("ul", { style: { listStyleType: "square", paddingLeft: "20px" } }, /* @__PURE__ */ React8.createElement("li", null, "(\uC11C\uC2DD \uB2E8\uACC4 \uC774\uB3D9\uC2DC, validation\uC744 \uB044\uACE0 \uBBF8\uC791\uC131 \uB2E8\uACC4\uB3C4 \uC774\uB3D9\uAC00\uB2A5\uD558\uB3C4\uB85D \uD569\uB2C8\uB2E4.)"))), /* @__PURE__ */ React8.createElement("li", null, /* @__PURE__ */ React8.createElement("label", { htmlFor: "terms-path-poly-no" }, "\uC57D\uAD00 polyNo"), /* @__PURE__ */ React8.createElement(
672
602
  "input",
673
603
  {
674
604
  type: "text",
@@ -676,7 +606,7 @@ var LoginPanel = ({ onClose, onLogin }) => {
676
606
  onChange: handleTermsPathPolyNo,
677
607
  placeholder: "polyNo,saleDate\uB458\uB2E4\uC785\uB825"
678
608
  }
679
- )), /* @__PURE__ */ React7.createElement("li", null, /* @__PURE__ */ React7.createElement("label", { htmlFor: "terms-path-sale-date" }, "\uC57D\uAD00 saleDate"), /* @__PURE__ */ React7.createElement(
609
+ )), /* @__PURE__ */ React8.createElement("li", null, /* @__PURE__ */ React8.createElement("label", { htmlFor: "terms-path-sale-date" }, "\uC57D\uAD00 saleDate"), /* @__PURE__ */ React8.createElement(
680
610
  "input",
681
611
  {
682
612
  type: "text",
@@ -684,7 +614,7 @@ var LoginPanel = ({ onClose, onLogin }) => {
684
614
  onChange: handleTermsPathSaleDate,
685
615
  placeholder: "polyNo,saleDate\uB458\uB2E4\uC785\uB825"
686
616
  }
687
- ), /* @__PURE__ */ React7.createElement("br", null), /* @__PURE__ */ React7.createElement("strong", null, "\uC57D\uAD00\uD655\uC778\uD6C4 \uD574\uB2F9\uCFE0\uD0A4 \uBC18\uB4DC\uC2DC \uC0AD\uC81C"))), /* @__PURE__ */ React7.createElement("br", null), " ", /* @__PURE__ */ React7.createElement("br", null), /* @__PURE__ */ React7.createElement("label", { htmlFor: "login-type-select" }, "\uB85C\uADF8\uC778 \uC720\uD615"), /* @__PURE__ */ React7.createElement("select", { id: "login-type-select", value: selectedTypeId, onChange: (e) => setSelectedTypeId(e.target.value) }, loginTypes.map((type) => /* @__PURE__ */ React7.createElement("option", { key: type.id, value: type.id }, type.label)))), selectedType?.fields.map((field) => /* @__PURE__ */ React7.createElement("div", { key: field.name }, /* @__PURE__ */ React7.createElement("label", { htmlFor: field.name }, field.label), /* @__PURE__ */ React7.createElement(
617
+ ), /* @__PURE__ */ React8.createElement("br", null), /* @__PURE__ */ React8.createElement("strong", null, "\uC57D\uAD00\uD655\uC778\uD6C4 \uD574\uB2F9\uCFE0\uD0A4 \uBC18\uB4DC\uC2DC \uC0AD\uC81C"))), /* @__PURE__ */ React8.createElement("br", null), " ", /* @__PURE__ */ React8.createElement("br", null), /* @__PURE__ */ React8.createElement("label", { htmlFor: "login-type-select" }, "\uB85C\uADF8\uC778 \uC720\uD615"), /* @__PURE__ */ React8.createElement("select", { id: "login-type-select", value: selectedTypeId, onChange: (e) => setSelectedTypeId(e.target.value) }, loginTypes.map((type) => /* @__PURE__ */ React8.createElement("option", { key: type.id, value: type.id }, type.label)))), selectedType?.fields.map((field) => /* @__PURE__ */ React8.createElement("div", { key: field.name }, /* @__PURE__ */ React8.createElement("label", { htmlFor: field.name }, field.label), /* @__PURE__ */ React8.createElement(
688
618
  "input",
689
619
  {
690
620
  type: field.type,
@@ -695,7 +625,7 @@ var LoginPanel = ({ onClose, onLogin }) => {
695
625
  onChange: handleInputChange,
696
626
  required: true
697
627
  }
698
- ))), /* @__PURE__ */ React7.createElement("div", { style: formActionsStyle }, /* @__PURE__ */ React7.createElement("button", { type: "submit" }, "\uB85C\uADF8\uC778")))));
628
+ ))), /* @__PURE__ */ React8.createElement("div", { style: formActionsStyle }, /* @__PURE__ */ React8.createElement("button", { type: "submit" }, "\uB85C\uADF8\uC778")))));
699
629
  };
700
630
  var login_panel_default = LoginPanel;
701
631
  var SEARCH_SECTIONS = [
@@ -796,9 +726,9 @@ var NetworkLog = ({ onClose }) => {
796
726
  };
797
727
  const renderLogContent = (log) => {
798
728
  const logInfo = getLogInfo(log);
799
- return /* @__PURE__ */ React7.createElement("pre", null, JSON.stringify(logInfo, null, 2));
729
+ return /* @__PURE__ */ React8.createElement("pre", null, JSON.stringify(logInfo, null, 2));
800
730
  };
801
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "\uB124\uD2B8\uC6CC\uD06C \uB85C\uADF8"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("div", { style: networkLogContainerStyle }, /* @__PURE__ */ React7.createElement("div", { style: searchContainerStyle }, /* @__PURE__ */ React7.createElement("select", { value: searchSection, onChange: (e) => setSearchSection(e.target.value) }, SEARCH_SECTIONS.map((option) => /* @__PURE__ */ React7.createElement("option", { key: option.value, value: option.value }, option.label))), /* @__PURE__ */ React7.createElement(
731
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "\uB124\uD2B8\uC6CC\uD06C \uB85C\uADF8"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("div", { style: networkLogContainerStyle }, /* @__PURE__ */ React8.createElement("div", { style: searchContainerStyle }, /* @__PURE__ */ React8.createElement("select", { value: searchSection, onChange: (e) => setSearchSection(e.target.value) }, SEARCH_SECTIONS.map((option) => /* @__PURE__ */ React8.createElement("option", { key: option.value, value: option.value }, option.label))), /* @__PURE__ */ React8.createElement(
802
732
  "input",
803
733
  {
804
734
  type: "text",
@@ -807,14 +737,14 @@ var NetworkLog = ({ onClose }) => {
807
737
  onChange: (e) => setSearchTerm(e.target.value),
808
738
  style: flex1Style
809
739
  }
810
- ), /* @__PURE__ */ React7.createElement("label", null, /* @__PURE__ */ React7.createElement("input", { type: "checkbox", id: "hold-checkbox", checked: isHold, onChange: toggleHold }), "Hold"), /* @__PURE__ */ React7.createElement("button", { onClick: clear }, "clear")), isHold && /* @__PURE__ */ React7.createElement("div", { style: holdButtonsContainerStyle }, /* @__PURE__ */ React7.createElement("button", { onClick: () => playAllRequests() }, "REQ Resolve"), /* @__PURE__ */ React7.createElement("button", { onClick: () => playAllResponses() }, "RES Resolve")), /* @__PURE__ */ React7.createElement("div", { style: logListStyle }, filteredLogs.length === 0 ? /* @__PURE__ */ React7.createElement("p", null, "\uD45C\uC2DC\uD560 \uB85C\uADF8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.") : /* @__PURE__ */ React7.createElement("div", null, filteredLogs.map((log, index) => /* @__PURE__ */ React7.createElement("details", { key: index }, /* @__PURE__ */ React7.createElement("summary", { style: logSummaryStyle }, renderLogSummary(log)), /* @__PURE__ */ React7.createElement("div", { style: logContentStyle }, renderLogContent(log)))))))));
740
+ ), /* @__PURE__ */ React8.createElement("label", null, /* @__PURE__ */ React8.createElement("input", { type: "checkbox", id: "hold-checkbox", checked: isHold, onChange: toggleHold }), "Hold"), /* @__PURE__ */ React8.createElement("button", { onClick: clear }, "clear")), isHold && /* @__PURE__ */ React8.createElement("div", { style: holdButtonsContainerStyle }, /* @__PURE__ */ React8.createElement("button", { onClick: () => playAllRequests() }, "REQ Resolve"), /* @__PURE__ */ React8.createElement("button", { onClick: () => playAllResponses() }, "RES Resolve")), /* @__PURE__ */ React8.createElement("div", { style: logListStyle }, filteredLogs.length === 0 ? /* @__PURE__ */ React8.createElement("p", null, "\uD45C\uC2DC\uD560 \uB85C\uADF8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.") : /* @__PURE__ */ React8.createElement("div", null, filteredLogs.map((log, index) => /* @__PURE__ */ React8.createElement("details", { key: index }, /* @__PURE__ */ React8.createElement("summary", { style: logSummaryStyle }, renderLogSummary(log)), /* @__PURE__ */ React8.createElement("div", { style: logContentStyle }, renderLogContent(log)))))))));
811
741
  };
812
742
  var network_log_default = NetworkLog;
813
743
  var LocationInfo = () => {
814
744
  return Object.keys(location).map((key) => {
815
745
  const val = location[key];
816
746
  if (typeof val === "string") {
817
- return /* @__PURE__ */ React7.createElement("div", { key }, key, ": ", val, " ", val && /* @__PURE__ */ React7.createElement("button", { onClick: () => navigator.clipboard.writeText(val) }, "\uBCF5\uC0AC"));
747
+ return /* @__PURE__ */ React8.createElement("div", { key }, key, ": ", val, " ", val && /* @__PURE__ */ React8.createElement("button", { onClick: () => navigator.clipboard.writeText(val) }, "\uBCF5\uC0AC"));
818
748
  }
819
749
  });
820
750
  };
@@ -825,7 +755,7 @@ var PageNavigationPanel = ({ onClose }) => {
825
755
  self.location.href = url;
826
756
  }
827
757
  };
828
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "\uD398\uC774\uC9C0 \uC815\uBCF4"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("div", { style: pageNavigationContentStyle }, /* @__PURE__ */ React7.createElement("br", null), /* @__PURE__ */ React7.createElement("br", null), "\uD398\uC774\uC9C0\uC815\uBCF4 :", /* @__PURE__ */ React7.createElement("span", { style: { whiteSpace: "normal", wordBreak: "break-all" } }, LocationInfo()), /* @__PURE__ */ React7.createElement("br", null), /* @__PURE__ */ React7.createElement("br", null), "\uD398\uC774\uC9C0\uC774\uB3D9 :", /* @__PURE__ */ React7.createElement(
758
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "\uD398\uC774\uC9C0 \uC815\uBCF4"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("div", { style: pageNavigationContentStyle }, /* @__PURE__ */ React8.createElement("br", null), /* @__PURE__ */ React8.createElement("br", null), "\uD398\uC774\uC9C0\uC815\uBCF4 :", /* @__PURE__ */ React8.createElement("span", { style: { whiteSpace: "normal", wordBreak: "break-all" } }, LocationInfo()), /* @__PURE__ */ React8.createElement("br", null), /* @__PURE__ */ React8.createElement("br", null), "\uD398\uC774\uC9C0\uC774\uB3D9 :", /* @__PURE__ */ React8.createElement(
829
759
  "input",
830
760
  {
831
761
  type: "text",
@@ -834,7 +764,7 @@ var PageNavigationPanel = ({ onClose }) => {
834
764
  placeholder: "\uC774\uB3D9\uD560 URL\uC744 \uC785\uB825\uD558\uC138\uC694 (\uC608: /main)",
835
765
  style: flex1Style
836
766
  }
837
- ), /* @__PURE__ */ React7.createElement("button", { onClick: handleNavigate }, "\uC774\uB3D9"))));
767
+ ), /* @__PURE__ */ React8.createElement("button", { onClick: handleNavigate }, "\uC774\uB3D9"))));
838
768
  };
839
769
  var page_navigation_panel_default = PageNavigationPanel;
840
770
  var logTypeStyles2 = {
@@ -860,7 +790,7 @@ var ResultMessage = ({ log }) => {
860
790
  });
861
791
  const prefix = log.type === "return" ? "\u21A9 " : "";
862
792
  const style = { ...logMessageStyle, ...logTypeStyles2[log.type] };
863
- return /* @__PURE__ */ React7.createElement("pre", { style }, prefix, messageParts.join(" "));
793
+ return /* @__PURE__ */ React8.createElement("pre", { style }, prefix, messageParts.join(" "));
864
794
  };
865
795
  var ScriptExecutorPanel = ({ onClose }) => {
866
796
  const [code, setCode] = useState('// \uC5EC\uAE30\uC5D0 \uC2E4\uD589\uD560 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694\nconsole.log("Hello, World!");');
@@ -907,7 +837,7 @@ var ScriptExecutorPanel = ({ onClose }) => {
907
837
  const handleClear = () => {
908
838
  setResults([]);
909
839
  };
910
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: { ...debugFeaturePanelStyle, ...scriptExecutorContentStyle } }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, "\uC2A4\uD06C\uB9BD\uD2B8 \uC2E4\uD589"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("div", { style: scriptExecutorContentStyle }, /* @__PURE__ */ React7.createElement("div", { style: scriptInputSectionStyle }, /* @__PURE__ */ React7.createElement(
840
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: { ...debugFeaturePanelStyle, ...scriptExecutorContentStyle } }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, "\uC2A4\uD06C\uB9BD\uD2B8 \uC2E4\uD589"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("div", { style: scriptExecutorContentStyle }, /* @__PURE__ */ React8.createElement("div", { style: scriptInputSectionStyle }, /* @__PURE__ */ React8.createElement(
911
841
  "textarea",
912
842
  {
913
843
  style: scriptTextareaStyle,
@@ -915,18 +845,70 @@ var ScriptExecutorPanel = ({ onClose }) => {
915
845
  onChange: (e) => setCode(e.target.value),
916
846
  spellCheck: "false"
917
847
  }
918
- ), /* @__PURE__ */ React7.createElement("div", { style: scriptActionsStyle }, /* @__PURE__ */ React7.createElement("button", { onClick: handleExecute }, "\uC2E4\uD589 (\u25B6)"), /* @__PURE__ */ React7.createElement("button", { onClick: handleClear }, "\uACB0\uACFC \uC9C0\uC6B0\uAE30"))), /* @__PURE__ */ React7.createElement("div", { style: scriptOutputSectionStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h3", { style: h3Style }, "\uACB0\uACFC")), /* @__PURE__ */ React7.createElement("div", { style: logListContainerStyle }, results.map((log) => /* @__PURE__ */ React7.createElement("div", { key: log.id, style: logItemStyle }, /* @__PURE__ */ React7.createElement("span", { style: logTimestampStyle }, log.timestamp), /* @__PURE__ */ React7.createElement(ResultMessage, { log }))))))));
848
+ ), /* @__PURE__ */ React8.createElement("div", { style: scriptActionsStyle }, /* @__PURE__ */ React8.createElement("button", { onClick: handleExecute }, "\uC2E4\uD589 (\u25B6)"), /* @__PURE__ */ React8.createElement("button", { onClick: handleClear }, "\uACB0\uACFC \uC9C0\uC6B0\uAE30"))), /* @__PURE__ */ React8.createElement("div", { style: scriptOutputSectionStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h3", { style: h3Style }, "\uACB0\uACFC")), /* @__PURE__ */ React8.createElement("div", { style: logListContainerStyle }, results.map((log) => /* @__PURE__ */ React8.createElement("div", { key: log.id, style: logItemStyle }, /* @__PURE__ */ React8.createElement("span", { style: logTimestampStyle }, log.timestamp), /* @__PURE__ */ React8.createElement(ResultMessage, { log }))))))));
919
849
  };
920
850
  var script_executor_panel_default = ScriptExecutorPanel;
851
+ var useStorage = (storageType) => {
852
+ const [items, setItems] = useState([]);
853
+ const loadItems = useCallback(() => {
854
+ const newItems = [];
855
+ if (storageType === "localStorage") {
856
+ for (let i = 0; i < localStorage.length; i++) {
857
+ const key = localStorage.key(i);
858
+ if (key) {
859
+ newItems.push({ key, value: localStorage.getItem(key) || "" });
860
+ }
861
+ }
862
+ } else {
863
+ const cookies = document.cookie.split(";");
864
+ cookies.forEach((cookie) => {
865
+ const parts = cookie.split("=");
866
+ const key = parts.shift()?.trim();
867
+ if (key) {
868
+ newItems.push({ key, value: decodeURIComponent(parts.join("=")) });
869
+ }
870
+ });
871
+ }
872
+ setItems(newItems);
873
+ }, [storageType]);
874
+ useEffect(() => {
875
+ loadItems();
876
+ }, [loadItems]);
877
+ const setItem = useCallback(
878
+ (key, value) => {
879
+ if (storageType === "localStorage") {
880
+ localStorage.setItem(key, value);
881
+ } else {
882
+ setCookie(key, value);
883
+ }
884
+ loadItems();
885
+ },
886
+ [storageType, loadItems]
887
+ );
888
+ const removeItem = useCallback(
889
+ (key) => {
890
+ if (storageType === "localStorage") {
891
+ localStorage.removeItem(key);
892
+ } else {
893
+ deleteCookie(key);
894
+ }
895
+ loadItems();
896
+ },
897
+ [storageType, loadItems]
898
+ );
899
+ return { items, setItem, removeItem, loadItems };
900
+ };
901
+
902
+ // src/features/storage/storage-panel.tsx
921
903
  var ValueDisplay = ({ value }) => {
922
904
  try {
923
905
  const parsed = JSON.parse(value);
924
906
  if (typeof parsed === "object" && parsed !== null) {
925
- return /* @__PURE__ */ React7.createElement("pre", { style: logContentStyle }, JSON.stringify(parsed, null, 2));
907
+ return /* @__PURE__ */ React8.createElement("pre", { style: logContentStyle }, JSON.stringify(parsed, null, 2));
926
908
  }
927
909
  } catch (e) {
928
910
  }
929
- return /* @__PURE__ */ React7.createElement("div", { style: logContentStyle }, value);
911
+ return /* @__PURE__ */ React8.createElement("div", { style: logContentStyle }, value);
930
912
  };
931
913
  var EditableRow = ({ item, onSave, onRemove }) => {
932
914
  const [isEditing, setIsEditing] = useState(false);
@@ -939,7 +921,7 @@ var EditableRow = ({ item, onSave, onRemove }) => {
939
921
  setValue(item.value);
940
922
  setIsEditing(true);
941
923
  };
942
- return /* @__PURE__ */ React7.createElement("details", null, /* @__PURE__ */ React7.createElement("summary", null, item.key), /* @__PURE__ */ React7.createElement("div", null, isEditing ? /* @__PURE__ */ React7.createElement("button", { onClick: handleSave }, "Save") : /* @__PURE__ */ React7.createElement("button", { onClick: handleEdit }, "Edit"), /* @__PURE__ */ React7.createElement("button", { onClick: () => onRemove(item.key) }, "Remove"), isEditing ? /* @__PURE__ */ React7.createElement("textarea", { value, onChange: (e) => setValue(e.target.value), style: textareaStyle }) : /* @__PURE__ */ React7.createElement(ValueDisplay, { value: item.value })));
924
+ return /* @__PURE__ */ React8.createElement("details", null, /* @__PURE__ */ React8.createElement("summary", null, item.key), /* @__PURE__ */ React8.createElement("div", null, isEditing ? /* @__PURE__ */ React8.createElement("button", { onClick: handleSave }, "Save") : /* @__PURE__ */ React8.createElement("button", { onClick: handleEdit }, "Edit"), /* @__PURE__ */ React8.createElement("button", { onClick: () => onRemove(item.key) }, "Remove"), isEditing ? /* @__PURE__ */ React8.createElement("textarea", { value, onChange: (e) => setValue(e.target.value), style: textareaStyle }) : /* @__PURE__ */ React8.createElement(ValueDisplay, { value: item.value })));
943
925
  };
944
926
  var StoragePanel = ({ onClose, storageType }) => {
945
927
  const { items, setItem, removeItem } = useStorage(storageType);
@@ -952,7 +934,7 @@ var StoragePanel = ({ onClose, storageType }) => {
952
934
  (item) => item.key.toLowerCase().includes(filter.toLowerCase()) || item.value.toLowerCase().includes(filter.toLowerCase())
953
935
  );
954
936
  }, [items, filter]);
955
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React7.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React7.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React7.createElement("h2", { style: h2Style }, storageType === "localStorage" ? "Local Storage" : "Cookies"), /* @__PURE__ */ React7.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React7.createElement("div", { style: panelToolbarStyle }, /* @__PURE__ */ React7.createElement(
937
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { style: modalOverlayStyle, onClick: onClose }), /* @__PURE__ */ React8.createElement("div", { style: debugFeaturePanelStyle }, /* @__PURE__ */ React8.createElement("div", { style: panelHeaderStyle }, /* @__PURE__ */ React8.createElement("h2", { style: h2Style }, storageType === "localStorage" ? "Local Storage" : "Cookies"), /* @__PURE__ */ React8.createElement("button", { onClick: onClose }, "X")), /* @__PURE__ */ React8.createElement("div", { style: panelToolbarStyle }, /* @__PURE__ */ React8.createElement(
956
938
  "input",
957
939
  {
958
940
  type: "text",
@@ -961,7 +943,7 @@ var StoragePanel = ({ onClose, storageType }) => {
961
943
  onChange: (e) => setFilter(e.target.value),
962
944
  style: storageSearchInputStyle
963
945
  }
964
- )), /* @__PURE__ */ React7.createElement("div", { style: storageTableContainerStyle }, filteredItems.map((item) => /* @__PURE__ */ React7.createElement(EditableRow, { key: item.key, item, onSave: setItem, onRemove: removeItem })))));
946
+ )), /* @__PURE__ */ React8.createElement("div", { style: storageTableContainerStyle }, filteredItems.map((item) => /* @__PURE__ */ React8.createElement(EditableRow, { key: item.key, item, onSave: setItem, onRemove: removeItem })))));
965
947
  };
966
948
  var storage_panel_default = StoragePanel;
967
949
 
@@ -1001,13 +983,13 @@ var menuItems = [
1001
983
  id: "local-storage",
1002
984
  label: "\uB85C\uCEEC \uC2A4\uD1A0\uB9AC\uC9C0 \uAD00\uB9AC",
1003
985
  // StoragePanel은 재사용 가능한 컴포넌트이므로, props를 통해 어떤 스토리지를 다룰지 지정합니다.
1004
- component: (props) => /* @__PURE__ */ React7.createElement(storage_panel_default, { ...props, storageType: "localStorage" }),
986
+ component: (props) => /* @__PURE__ */ React8.createElement(storage_panel_default, { ...props, storageType: "localStorage" }),
1005
987
  display: true
1006
988
  },
1007
989
  {
1008
990
  id: "cookie-management",
1009
991
  label: "\uCFE0\uD0A4 \uAD00\uB9AC",
1010
- component: (props) => /* @__PURE__ */ React7.createElement(storage_panel_default, { ...props, storageType: "cookie" }),
992
+ component: (props) => /* @__PURE__ */ React8.createElement(storage_panel_default, { ...props, storageType: "cookie" }),
1011
993
  display: true
1012
994
  },
1013
995
  {
@@ -1083,9 +1065,9 @@ var DebugTool = ({
1083
1065
  );
1084
1066
  if (activeFeature) {
1085
1067
  const FeatureComponent = activeFeature;
1086
- return /* @__PURE__ */ React7.createElement(FeatureComponent, { onClose: handleCloseFeature, onLogin });
1068
+ return /* @__PURE__ */ React8.createElement(FeatureComponent, { onClose: handleCloseFeature, onLogin });
1087
1069
  }
1088
- return /* @__PURE__ */ React7.createElement(
1070
+ return /* @__PURE__ */ React8.createElement(
1089
1071
  "div",
1090
1072
  {
1091
1073
  style: {
@@ -1095,8 +1077,8 @@ var DebugTool = ({
1095
1077
  zIndex: 9999
1096
1078
  }
1097
1079
  },
1098
- /* @__PURE__ */ React7.createElement(floating_button_default, { onClick: toggleMenu }),
1099
- isMenuOpen && /* @__PURE__ */ React7.createElement(
1080
+ /* @__PURE__ */ React8.createElement(floating_button_default, { onClick: toggleMenu }),
1081
+ isMenuOpen && /* @__PURE__ */ React8.createElement(
1100
1082
  menu_panel_default,
1101
1083
  {
1102
1084
  menuItems: availableMenuItems,
@@ -1108,6 +1090,9 @@ var DebugTool = ({
1108
1090
  );
1109
1091
  };
1110
1092
  function addRequestLog(config) {
1093
+ if (!isClient()) {
1094
+ return;
1095
+ }
1111
1096
  const env = getEnvironmentFromHostname(location.hostname);
1112
1097
  if (env !== "prd") {
1113
1098
  const { addRequest, isHold, holdRequest } = useDebugStore.getState();
@@ -1130,6 +1115,9 @@ function addRequestLog(config) {
1130
1115
  }
1131
1116
  }
1132
1117
  function addResponseLog(response) {
1118
+ if (!isClient()) {
1119
+ return;
1120
+ }
1133
1121
  const env = getEnvironmentFromHostname(location.hostname);
1134
1122
  if (env !== "prd") {
1135
1123
  const { addResponse, isHold, holdResponse } = useDebugStore.getState();
@@ -1179,17 +1167,19 @@ function addErrorLog(error) {
1179
1167
  }
1180
1168
  }
1181
1169
  }
1182
-
1183
- // src/debug-utils.ts
1184
1170
  function isDebugStepValidationOff() {
1185
- const debugStepValidationOff = cookieClient.getCookie("Debug-Step-Validation-Off") === "true";
1171
+ const debugStepValidationOff = getCookie("Debug-Step-Validation-Off") === "true";
1186
1172
  return debugStepValidationOff;
1187
1173
  }
1188
1174
  function isDebugMode() {
1189
- const debugMode = cookieClient.getCookie("dsp-debug-mode") === "on";
1175
+ const debugMode = getCookie("dsp-debug-mode") === "on";
1190
1176
  return debugMode;
1191
1177
  }
1178
+ function getDebugFileConvertType() {
1179
+ const fileConvertType = getCookie(fileConvertTypeCookieKey);
1180
+ return fileConvertType;
1181
+ }
1192
1182
 
1193
- export { DebugTool, addErrorLog, addRequestLog, addResponseLog, isDebugMode, isDebugStepValidationOff };
1183
+ export { DebugTool, addErrorLog, addRequestLog, addResponseLog, getDebugFileConvertType, isDebugMode, isDebugStepValidationOff };
1194
1184
  //# sourceMappingURL=index.js.map
1195
1185
  //# sourceMappingURL=index.js.map