next 15.2.0-canary.75 → 15.2.0-canary.76

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.

Potentially problematic release.


This version of next might be problematic. Click here for more details.

Files changed (120) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/index.js +2 -2
  3. package/dist/build/swc/index.js +1 -1
  4. package/dist/build/webpack-config.js +2 -2
  5. package/dist/client/app-bootstrap.js +1 -1
  6. package/dist/client/app-dir/form.d.ts +2 -43
  7. package/dist/client/app-dir/form.js +20 -144
  8. package/dist/client/app-dir/form.js.map +1 -1
  9. package/dist/client/components/react-dev-overlay/shared.d.ts +2 -0
  10. package/dist/client/components/react-dev-overlay/shared.js +10 -0
  11. package/dist/client/components/react-dev-overlay/shared.js.map +1 -1
  12. package/dist/client/components/react-dev-overlay/ui/components/call-stack-frame/call-stack-frame.d.ts +1 -1
  13. package/dist/client/components/react-dev-overlay/ui/components/call-stack-frame/call-stack-frame.js +11 -3
  14. package/dist/client/components/react-dev-overlay/ui/components/call-stack-frame/call-stack-frame.js.map +1 -1
  15. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-indicator.d.ts +3 -4
  16. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-indicator.js +45 -9
  17. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
  18. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.d.ts +4 -4
  19. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js +5 -4
  20. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js.map +1 -1
  21. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/route-info.d.ts +1 -1
  22. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/route-info.js +1 -1
  23. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/route-info.js.map +1 -1
  24. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.d.ts +1 -1
  25. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js +1 -1
  26. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js.map +1 -1
  27. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.d.ts +10 -0
  28. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js +254 -0
  29. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js.map +1 -0
  30. package/dist/client/components/react-dev-overlay/ui/components/shadow-portal.js +12 -0
  31. package/dist/client/components/react-dev-overlay/ui/components/shadow-portal.js.map +1 -1
  32. package/dist/client/components/react-dev-overlay/ui/icons/dark-icon.d.ts +1 -0
  33. package/dist/client/components/react-dev-overlay/ui/icons/dark-icon.js +34 -0
  34. package/dist/client/components/react-dev-overlay/ui/icons/dark-icon.js.map +1 -0
  35. package/dist/client/components/react-dev-overlay/ui/icons/external.d.ts +1 -0
  36. package/dist/client/components/react-dev-overlay/ui/icons/external.js +31 -3
  37. package/dist/client/components/react-dev-overlay/ui/icons/external.js.map +1 -1
  38. package/dist/client/components/react-dev-overlay/ui/icons/eye-icon.d.ts +1 -0
  39. package/dist/client/components/react-dev-overlay/ui/icons/eye-icon.js +33 -0
  40. package/dist/client/components/react-dev-overlay/ui/icons/eye-icon.js.map +1 -0
  41. package/dist/client/components/react-dev-overlay/ui/icons/gear-icon.d.ts +1 -0
  42. package/dist/client/components/react-dev-overlay/ui/icons/gear-icon.js +34 -0
  43. package/dist/client/components/react-dev-overlay/ui/icons/gear-icon.js.map +1 -0
  44. package/dist/client/components/react-dev-overlay/ui/icons/light-icon.d.ts +1 -0
  45. package/dist/client/components/react-dev-overlay/ui/icons/light-icon.js +48 -0
  46. package/dist/client/components/react-dev-overlay/ui/icons/light-icon.js.map +1 -0
  47. package/dist/client/components/react-dev-overlay/ui/styles/base.js +14 -2
  48. package/dist/client/components/react-dev-overlay/ui/styles/base.js.map +1 -1
  49. package/dist/client/components/react-dev-overlay/ui/styles/colors.js +16 -4
  50. package/dist/client/components/react-dev-overlay/ui/styles/colors.js.map +1 -1
  51. package/dist/client/components/react-dev-overlay/ui/styles/component-styles.js +3 -1
  52. package/dist/client/components/react-dev-overlay/ui/styles/component-styles.js.map +1 -1
  53. package/dist/client/form-shared.d.ts +50 -0
  54. package/dist/client/form-shared.js +155 -0
  55. package/dist/client/form-shared.js.map +1 -0
  56. package/dist/client/form.d.ts +6 -41
  57. package/dist/client/form.js +38 -196
  58. package/dist/client/form.js.map +1 -1
  59. package/dist/client/index.js +1 -1
  60. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +3 -3
  61. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
  62. package/dist/compiled/next-server/app-page.runtime.dev.js +3 -3
  63. package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
  64. package/dist/esm/build/index.js +2 -2
  65. package/dist/esm/build/swc/index.js +1 -1
  66. package/dist/esm/build/webpack-config.js +2 -2
  67. package/dist/esm/client/app-bootstrap.js +1 -1
  68. package/dist/esm/client/app-dir/form.js +17 -141
  69. package/dist/esm/client/app-dir/form.js.map +1 -1
  70. package/dist/esm/client/components/react-dev-overlay/shared.js +2 -0
  71. package/dist/esm/client/components/react-dev-overlay/shared.js.map +1 -1
  72. package/dist/esm/client/components/react-dev-overlay/ui/components/call-stack-frame/call-stack-frame.js +12 -4
  73. package/dist/esm/client/components/react-dev-overlay/ui/components/call-stack-frame/call-stack-frame.js.map +1 -1
  74. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-indicator.js +44 -9
  75. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
  76. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js +5 -4
  77. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js.map +1 -1
  78. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/route-info.js +1 -1
  79. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/route-info.js.map +1 -1
  80. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js +1 -1
  81. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js.map +1 -1
  82. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js +225 -0
  83. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js.map +1 -0
  84. package/dist/esm/client/components/react-dev-overlay/ui/components/shadow-portal.js +12 -0
  85. package/dist/esm/client/components/react-dev-overlay/ui/components/shadow-portal.js.map +1 -1
  86. package/dist/esm/client/components/react-dev-overlay/ui/icons/dark-icon.js +18 -0
  87. package/dist/esm/client/components/react-dev-overlay/ui/icons/dark-icon.js.map +1 -0
  88. package/dist/esm/client/components/react-dev-overlay/ui/icons/external.js +16 -0
  89. package/dist/esm/client/components/react-dev-overlay/ui/icons/external.js.map +1 -1
  90. package/dist/esm/client/components/react-dev-overlay/ui/icons/eye-icon.js +17 -0
  91. package/dist/esm/client/components/react-dev-overlay/ui/icons/eye-icon.js.map +1 -0
  92. package/dist/esm/client/components/react-dev-overlay/ui/icons/gear-icon.js +18 -0
  93. package/dist/esm/client/components/react-dev-overlay/ui/icons/gear-icon.js.map +1 -0
  94. package/dist/esm/client/components/react-dev-overlay/ui/icons/light-icon.js +32 -0
  95. package/dist/esm/client/components/react-dev-overlay/ui/icons/light-icon.js.map +1 -0
  96. package/dist/esm/client/components/react-dev-overlay/ui/styles/base.js +14 -2
  97. package/dist/esm/client/components/react-dev-overlay/ui/styles/base.js.map +1 -1
  98. package/dist/esm/client/components/react-dev-overlay/ui/styles/colors.js +16 -4
  99. package/dist/esm/client/components/react-dev-overlay/ui/styles/colors.js.map +1 -1
  100. package/dist/esm/client/components/react-dev-overlay/ui/styles/component-styles.js +3 -1
  101. package/dist/esm/client/components/react-dev-overlay/ui/styles/component-styles.js.map +1 -1
  102. package/dist/esm/client/form-shared.js +103 -0
  103. package/dist/esm/client/form-shared.js.map +1 -0
  104. package/dist/esm/client/form.js +35 -193
  105. package/dist/esm/client/form.js.map +1 -1
  106. package/dist/esm/client/index.js +1 -1
  107. package/dist/esm/server/config.js +1 -1
  108. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  109. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  110. package/dist/esm/server/lib/app-info-log.js +1 -1
  111. package/dist/esm/server/lib/start-server.js +1 -1
  112. package/dist/server/config.js +1 -1
  113. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  114. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  115. package/dist/server/lib/app-info-log.js +1 -1
  116. package/dist/server/lib/start-server.js +1 -1
  117. package/dist/telemetry/anonymous-meta.js +1 -1
  118. package/dist/telemetry/events/session-stopped.js +2 -2
  119. package/dist/telemetry/events/version.js +2 -2
  120. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.tsx"],"sourcesContent":["import { DevToolsInfo } from './dev-tools-info'\nimport { CopyButton } from '../../../copy-button'\n\nexport function TurbopackInfo({\n isOpen,\n setIsOpen,\n setPreviousOpen,\n ...props\n}: {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n setPreviousOpen: (isOpen: boolean) => void\n style?: React.CSSProperties\n ref?: React.RefObject<HTMLElement | null>\n}) {\n return (\n <DevToolsInfo\n title=\"Turbopack\"\n learnMoreLink=\"https://nextjs.org/docs/app/api-reference/turbopack\"\n setIsOpen={setIsOpen}\n setPreviousOpen={setPreviousOpen}\n {...props}\n >\n <article className=\"dev-tools-info-article\">\n <p className=\"dev-tools-info-paragraph\">\n Turbopack is an incremental bundler optimized for JavaScript and\n TypeScript, written in Rust, and built into Next.js. Turbopack can be\n used in Next.js in both the{' '}\n <code className=\"dev-tools-info-code\">pages</code> and{' '}\n <code className=\"dev-tools-info-code\">app</code> directories for\n faster local development.\n </p>\n <p className=\"dev-tools-info-paragraph\">\n To enable Turbopack, use the{' '}\n <code className=\"dev-tools-info-code\">--turbopack</code> flag when\n running the Next.js development server.\n </p>\n </article>\n\n <div className=\"dev-tools-info-code-block-container\">\n <div className=\"dev-tools-info-code-block\">\n <CopyButton\n actionLabel=\"Copy Next.js Turbopack Command\"\n successLabel=\"Next.js Turbopack Command Copied\"\n content={'--turbopack'}\n className=\"dev-tools-info-copy-button\"\n />\n <pre className=\"dev-tools-info-code-block-pre\">\n <code>\n <div className=\"dev-tools-info-code-block-line\">{' '}</div>\n <div className=\"dev-tools-info-code-block-line\">{'{'}</div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"scripts\"\n </span>\n : {'{'}\n </div>\n <div className=\"dev-tools-info-code-block-line dev-tools-info-highlight\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"dev\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next dev --turbopack\"\n </span>\n ,\n </div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"build\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next build\"\n </span>\n ,\n </div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"start\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next start\"\n </span>\n ,\n </div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"lint\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next lint\"\n </span>\n </div>\n <div className=\"dev-tools-info-code-block-line\">{' }'}</div>\n <div className=\"dev-tools-info-code-block-line\">{'}'}</div>\n <div className=\"dev-tools-info-code-block-line\">{' '}</div>\n </code>\n </pre>\n </div>\n </div>\n </DevToolsInfo>\n )\n}\n\nexport const DEV_TOOLS_INFO_TURBOPACK_INFO_STYLES = `\n .dev-tools-info-code {\n background: var(--color-gray-400);\n color: var(--color-gray-1000);\n font-family: var(--font-stack-mono);\n padding: 2px 4px;\n margin: 0;\n font-size: var(--size-13);\n white-space: break-spaces;\n border-radius: var(--rounded-md-2);\n }\n\n .dev-tools-info-code-block-container {\n padding: 6px;\n }\n\n .dev-tools-info-code-block {\n position: relative;\n background: var(--color-background-200);\n border: 1px solid var(--color-gray-alpha-400);\n border-radius: var(--rounded-md-2);\n min-width: 326px;\n }\n\n .dev-tools-info-code-block-pre {\n margin: 0;\n font-family: var(--font-stack-mono);\n font-size: var(--size-12);\n }\n\n .dev-tools-info-copy-button {\n position: absolute;\n\n display: flex;\n justify-content: center;\n align-items: center;\n right: 8px;\n top: 8px;\n padding: 4px;\n height: var(--size-24);\n width: var(--size-24);\n border-radius: var(--rounded-md-2);\n border: 1px solid var(--color-gray-alpha-400);\n background: var(--color-background-100);\n }\n\n .dev-tools-info-code-block-line {\n display: block;\n line-height: 1.5;\n padding: 0 16px;\n }\n\n .dev-tools-info-code-block-line.dev-tools-info-highlight {\n border-left: 2px solid var(--color-blue-900);\n background: var(--color-blue-400);\n }\n\n .dev-tools-info-code-block-json-key {\n color: var(--color-syntax-keyword);\n }\n\n .dev-tools-info-code-block-json-value {\n color: var(--color-syntax-link);\n }\n`\n"],"names":["DEV_TOOLS_INFO_TURBOPACK_INFO_STYLES","TurbopackInfo","isOpen","setIsOpen","setPreviousOpen","props","DevToolsInfo","title","learnMoreLink","article","className","p","code","div","CopyButton","actionLabel","successLabel","content","pre","span"],"mappings":";;;;;;;;;;;;;;;IAgHaA,oCAAoC;eAApCA;;IA7GGC,aAAa;eAAbA;;;;8BAHa;4BACF;AAEpB,SAASA,cAAc,KAW7B;IAX6B,IAAA,EAC5BC,MAAM,EACNC,SAAS,EACTC,eAAe,EACf,GAAGC,OAOJ,GAX6B;IAY5B,qBACE,sBAACC,0BAAY;QACXC,OAAM;QACNC,eAAc;QACdL,WAAWA;QACXC,iBAAiBA;QAChB,GAAGC,KAAK;;0BAET,sBAACI;gBAAQC,WAAU;;kCACjB,sBAACC;wBAAED,WAAU;;4BAA2B;4BAGV;0CAC5B,qBAACE;gCAAKF,WAAU;0CAAsB;;4BAAY;4BAAK;0CACvD,qBAACE;gCAAKF,WAAU;0CAAsB;;4BAAU;;;kCAGlD,sBAACC;wBAAED,WAAU;;4BAA2B;4BACT;0CAC7B,qBAACE;gCAAKF,WAAU;0CAAsB;;4BAAkB;;;;;0BAK5D,qBAACG;gBAAIH,WAAU;0BACb,cAAA,sBAACG;oBAAIH,WAAU;;sCACb,qBAACI,sBAAU;4BACTC,aAAY;4BACZC,cAAa;4BACbC,SAAS;4BACTP,WAAU;;sCAEZ,qBAACQ;4BAAIR,WAAU;sCACb,cAAA,sBAACE;;kDACC,qBAACC;wCAAIH,WAAU;kDAAkC;;kDACjD,qBAACG;wCAAIH,WAAU;kDAAkC;;kDACjD,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACJ;;;kDAEL,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;4CAEhD;;;kDAGT,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;4CAEhD;;;kDAGT,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;4CAEhD;;;kDAGT,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;;;kDAIzD,qBAACG;wCAAIH,WAAU;kDAAkC;;kDACjD,qBAACG;wCAAIH,WAAU;kDAAkC;;kDACjD,qBAACG;wCAAIH,WAAU;kDAAkC;;;;;;;;;;AAO/D;AAEO,MAAMV,uCAAwC"}
1
+ {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.tsx"],"sourcesContent":["import { DevToolsInfo } from './dev-tools-info'\nimport { CopyButton } from '../../../copy-button'\n\nexport function TurbopackInfo({\n isOpen,\n setIsOpen,\n setPreviousOpen,\n ...props\n}: {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n setPreviousOpen: (isOpen: boolean) => void\n style?: React.CSSProperties\n ref?: React.RefObject<HTMLElement | null>\n}) {\n return (\n <DevToolsInfo\n title=\"Turbopack\"\n learnMoreLink=\"https://nextjs.org/docs/app/api-reference/turbopack\"\n setIsOpen={setIsOpen}\n setPreviousOpen={setPreviousOpen}\n {...props}\n >\n <article className=\"dev-tools-info-article\">\n <p className=\"dev-tools-info-paragraph\">\n Turbopack is an incremental bundler optimized for JavaScript and\n TypeScript, written in Rust, and built into Next.js. Turbopack can be\n used in Next.js in both the{' '}\n <code className=\"dev-tools-info-code\">pages</code> and{' '}\n <code className=\"dev-tools-info-code\">app</code> directories for\n faster local development.\n </p>\n <p className=\"dev-tools-info-paragraph\">\n To enable Turbopack, use the{' '}\n <code className=\"dev-tools-info-code\">--turbopack</code> flag when\n running the Next.js development server.\n </p>\n </article>\n\n <div className=\"dev-tools-info-code-block-container\">\n <div className=\"dev-tools-info-code-block\">\n <CopyButton\n actionLabel=\"Copy Next.js Turbopack Command\"\n successLabel=\"Next.js Turbopack Command Copied\"\n content={'--turbopack'}\n className=\"dev-tools-info-copy-button\"\n />\n <pre className=\"dev-tools-info-code-block-pre\">\n <code>\n <div className=\"dev-tools-info-code-block-line\">{' '}</div>\n <div className=\"dev-tools-info-code-block-line\">{'{'}</div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"scripts\"\n </span>\n : {'{'}\n </div>\n <div className=\"dev-tools-info-code-block-line dev-tools-info-highlight\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"dev\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next dev --turbopack\"\n </span>\n ,\n </div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"build\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next build\"\n </span>\n ,\n </div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"start\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next start\"\n </span>\n ,\n </div>\n <div className=\"dev-tools-info-code-block-line\">\n {' '}\n <span className=\"dev-tools-info-code-block-json-key\">\n \"lint\"\n </span>\n :{' '}\n <span className=\"dev-tools-info-code-block-json-value\">\n \"next lint\"\n </span>\n </div>\n <div className=\"dev-tools-info-code-block-line\">{' }'}</div>\n <div className=\"dev-tools-info-code-block-line\">{'}'}</div>\n <div className=\"dev-tools-info-code-block-line\">{' '}</div>\n </code>\n </pre>\n </div>\n </div>\n </DevToolsInfo>\n )\n}\n\nexport const DEV_TOOLS_INFO_TURBOPACK_INFO_STYLES = `\n .dev-tools-info-code {\n background: var(--color-gray-400);\n color: var(--color-gray-1000);\n font-family: var(--font-stack-monospace);\n padding: 2px 4px;\n margin: 0;\n font-size: var(--size-13);\n white-space: break-spaces;\n border-radius: var(--rounded-md-2);\n }\n\n .dev-tools-info-code-block-container {\n padding: 6px;\n }\n\n .dev-tools-info-code-block {\n position: relative;\n background: var(--color-background-200);\n border: 1px solid var(--color-gray-alpha-400);\n border-radius: var(--rounded-md-2);\n min-width: 326px;\n }\n\n .dev-tools-info-code-block-pre {\n margin: 0;\n font-family: var(--font-stack-monospace);\n font-size: var(--size-12);\n }\n\n .dev-tools-info-copy-button {\n position: absolute;\n\n display: flex;\n justify-content: center;\n align-items: center;\n right: 8px;\n top: 8px;\n padding: 4px;\n height: var(--size-24);\n width: var(--size-24);\n border-radius: var(--rounded-md-2);\n border: 1px solid var(--color-gray-alpha-400);\n background: var(--color-background-100);\n }\n\n .dev-tools-info-code-block-line {\n display: block;\n line-height: 1.5;\n padding: 0 16px;\n }\n\n .dev-tools-info-code-block-line.dev-tools-info-highlight {\n border-left: 2px solid var(--color-blue-900);\n background: var(--color-blue-400);\n }\n\n .dev-tools-info-code-block-json-key {\n color: var(--color-syntax-keyword);\n }\n\n .dev-tools-info-code-block-json-value {\n color: var(--color-syntax-link);\n }\n`\n"],"names":["DEV_TOOLS_INFO_TURBOPACK_INFO_STYLES","TurbopackInfo","isOpen","setIsOpen","setPreviousOpen","props","DevToolsInfo","title","learnMoreLink","article","className","p","code","div","CopyButton","actionLabel","successLabel","content","pre","span"],"mappings":";;;;;;;;;;;;;;;IAgHaA,oCAAoC;eAApCA;;IA7GGC,aAAa;eAAbA;;;;8BAHa;4BACF;AAEpB,SAASA,cAAc,KAW7B;IAX6B,IAAA,EAC5BC,MAAM,EACNC,SAAS,EACTC,eAAe,EACf,GAAGC,OAOJ,GAX6B;IAY5B,qBACE,sBAACC,0BAAY;QACXC,OAAM;QACNC,eAAc;QACdL,WAAWA;QACXC,iBAAiBA;QAChB,GAAGC,KAAK;;0BAET,sBAACI;gBAAQC,WAAU;;kCACjB,sBAACC;wBAAED,WAAU;;4BAA2B;4BAGV;0CAC5B,qBAACE;gCAAKF,WAAU;0CAAsB;;4BAAY;4BAAK;0CACvD,qBAACE;gCAAKF,WAAU;0CAAsB;;4BAAU;;;kCAGlD,sBAACC;wBAAED,WAAU;;4BAA2B;4BACT;0CAC7B,qBAACE;gCAAKF,WAAU;0CAAsB;;4BAAkB;;;;;0BAK5D,qBAACG;gBAAIH,WAAU;0BACb,cAAA,sBAACG;oBAAIH,WAAU;;sCACb,qBAACI,sBAAU;4BACTC,aAAY;4BACZC,cAAa;4BACbC,SAAS;4BACTP,WAAU;;sCAEZ,qBAACQ;4BAAIR,WAAU;sCACb,cAAA,sBAACE;;kDACC,qBAACC;wCAAIH,WAAU;kDAAkC;;kDACjD,qBAACG;wCAAIH,WAAU;kDAAkC;;kDACjD,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACJ;;;kDAEL,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;4CAEhD;;;kDAGT,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;4CAEhD;;;kDAGT,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;4CAEhD;;;kDAGT,sBAACG;wCAAIH,WAAU;;4CACZ;0DACD,qBAACS;gDAAKT,WAAU;0DAAqC;;4CAE9C;4CACL;0DACF,qBAACS;gDAAKT,WAAU;0DAAuC;;;;kDAIzD,qBAACG;wCAAIH,WAAU;kDAAkC;;kDACjD,qBAACG;wCAAIH,WAAU;kDAAkC;;kDACjD,qBAACG;wCAAIH,WAAU;kDAAkC;;;;;;;;;;AAO/D;AAEO,MAAMV,uCAAwC"}
@@ -0,0 +1,10 @@
1
+ import type { DevToolsIndicatorPosition } from '../dev-tools-indicator';
2
+ export declare function UserPreferences({ isOpen, setPosition, position, hide, ...props }: {
3
+ isOpen: boolean;
4
+ setPosition: (position: DevToolsIndicatorPosition) => void;
5
+ position: DevToolsIndicatorPosition;
6
+ hide: () => void;
7
+ style?: React.CSSProperties;
8
+ ref?: React.RefObject<HTMLElement | null>;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare const DEV_TOOLS_INFO_USER_PREFERENCES_STYLES: string;
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ 0 && (module.exports = {
6
+ DEV_TOOLS_INFO_USER_PREFERENCES_STYLES: null,
7
+ UserPreferences: null
8
+ });
9
+ function _export(target, all) {
10
+ for(var name in all)Object.defineProperty(target, name, {
11
+ enumerable: true,
12
+ get: all[name]
13
+ });
14
+ }
15
+ _export(exports, {
16
+ DEV_TOOLS_INFO_USER_PREFERENCES_STYLES: function() {
17
+ return DEV_TOOLS_INFO_USER_PREFERENCES_STYLES;
18
+ },
19
+ UserPreferences: function() {
20
+ return UserPreferences;
21
+ }
22
+ });
23
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
24
+ const _tagged_template_literal_loose = require("@swc/helpers/_/_tagged_template_literal_loose");
25
+ const _jsxruntime = require("react/jsx-runtime");
26
+ const _react = require("react");
27
+ const _devtoolsinfo = require("./dev-tools-info");
28
+ const _css = require("../../../../../utils/css");
29
+ const _eyeicon = /*#__PURE__*/ _interop_require_default._(require("../../../../icons/eye-icon"));
30
+ const _shared = require("../../../../../shared");
31
+ const _lighticon = /*#__PURE__*/ _interop_require_default._(require("../../../../icons/light-icon"));
32
+ const _darkicon = /*#__PURE__*/ _interop_require_default._(require("../../../../icons/dark-icon"));
33
+ function _templateObject() {
34
+ const data = _tagged_template_literal_loose._([
35
+ "\n .preferences-container {\n padding: 8px 6px;\n width: 100%;\n }\n\n @media (min-width: 576px) {\n .preferences-container {\n width: 480px;\n }\n }\n\n .preference-section:first-child {\n padding-top: 0;\n }\n\n .preference-section {\n padding: 12px 0;\n border-bottom: 1px solid var(--color-gray-400);\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 24px;\n }\n\n .preference-section:last-child {\n border-bottom: none;\n }\n\n .preference-header {\n margin-bottom: 0;\n flex: 1;\n }\n\n .preference-header h2 {\n font-size: var(--size-14);\n font-weight: 500;\n color: var(--color-gray-1000);\n margin: 0;\n }\n\n .preference-description {\n color: var(--color-gray-900);\n font-size: var(--size-14);\n margin: 0;\n }\n\n .preference-icon {\n display: flex;\n align-items: center;\n width: 16px;\n height: 16px;\n }\n\n .select-button,\n .action-button {\n display: flex;\n align-items: center;\n gap: 8px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-400);\n border-radius: var(--rounded-lg);\n font-weight: 400;\n font-size: var(--size-14);\n color: var(--color-gray-1000);\n padding: 6px 8px;\n\n &:hover {\n background: var(--color-gray-100);\n }\n }\n\n .preference-control-select {\n padding: 6px 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n border-radius: var(--rounded-lg);\n border: 1px solid var(--color-gray-400);\n\n &:hover {\n background: var(--color-gray-100);\n }\n\n &:focus-within {\n outline: 5px auto -webkit-focus-ring-color;\n }\n }\n\n .preference-control-select select {\n font-size: var(--size-14);\n font-weight: 400;\n border: none;\n padding: 0 6px 0 0;\n border-radius: 0;\n outline: none;\n }\n\n :global(.icon) {\n width: 18px;\n height: 18px;\n color: #666;\n }\n"
36
+ ]);
37
+ _templateObject = function() {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function getInitialPreference() {
43
+ if (typeof localStorage === 'undefined') {
44
+ return 'system';
45
+ }
46
+ const theme = localStorage.getItem(_shared.STORAGE_KEY_THEME);
47
+ return theme === 'dark' || theme === 'light' ? theme : 'system';
48
+ }
49
+ function UserPreferences(param) {
50
+ let { isOpen, setPosition, position, hide, ...props } = param;
51
+ // derive initial theme from system preference
52
+ const [theme, setTheme] = (0, _react.useState)(getInitialPreference());
53
+ const handleThemeChange = (e)=>{
54
+ const portal = document.querySelector('nextjs-portal');
55
+ if (!portal) return;
56
+ setTheme(e.target.value);
57
+ if (e.target.value === 'system') {
58
+ portal.classList.remove('dark');
59
+ portal.classList.remove('light');
60
+ localStorage.removeItem(_shared.STORAGE_KEY_THEME);
61
+ return;
62
+ }
63
+ if (e.target.value === 'dark') {
64
+ portal.classList.add('dark');
65
+ portal.classList.remove('light');
66
+ localStorage.setItem(_shared.STORAGE_KEY_THEME, 'dark');
67
+ } else {
68
+ portal.classList.remove('dark');
69
+ portal.classList.add('light');
70
+ localStorage.setItem(_shared.STORAGE_KEY_THEME, 'light');
71
+ }
72
+ };
73
+ function handlePositionChange(e) {
74
+ setPosition(e.target.value);
75
+ localStorage.setItem(_shared.STORAGE_KEY_POSITION, e.target.value);
76
+ }
77
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_devtoolsinfo.DevToolsInfo, {
78
+ title: "Preferences",
79
+ ...props,
80
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
81
+ className: "preferences-container",
82
+ children: [
83
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
84
+ className: "preference-section",
85
+ children: [
86
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
87
+ className: "preference-header",
88
+ children: [
89
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("h2", {
90
+ children: "Theme"
91
+ }),
92
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
93
+ className: "preference-description",
94
+ children: "Select your theme preference."
95
+ })
96
+ ]
97
+ }),
98
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
99
+ className: "preference-control-select",
100
+ children: [
101
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
102
+ className: "preference-icon",
103
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ThemeIcon, {
104
+ theme: theme
105
+ })
106
+ }),
107
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("select", {
108
+ className: "select-button",
109
+ value: theme,
110
+ onChange: handleThemeChange,
111
+ children: [
112
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
113
+ value: "system",
114
+ children: "System"
115
+ }),
116
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
117
+ value: "light",
118
+ children: "Light"
119
+ }),
120
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
121
+ value: "dark",
122
+ children: "Dark"
123
+ })
124
+ ]
125
+ })
126
+ ]
127
+ })
128
+ ]
129
+ }),
130
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
131
+ className: "preference-section",
132
+ children: [
133
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
134
+ className: "preference-header",
135
+ children: [
136
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("h2", {
137
+ children: "Position"
138
+ }),
139
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
140
+ className: "preference-description",
141
+ children: "Adjust the placement of your dev tools."
142
+ })
143
+ ]
144
+ }),
145
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
146
+ className: "preference-control-select",
147
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("select", {
148
+ className: "select-button",
149
+ value: position,
150
+ onChange: handlePositionChange,
151
+ children: [
152
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
153
+ value: "bottom-left",
154
+ children: "Bottom Left"
155
+ }),
156
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
157
+ value: "bottom-right",
158
+ children: "Bottom Right"
159
+ }),
160
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
161
+ value: "top-left",
162
+ children: "Top Left"
163
+ }),
164
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("option", {
165
+ value: "top-right",
166
+ children: "Top Right"
167
+ })
168
+ ]
169
+ })
170
+ })
171
+ ]
172
+ }),
173
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
174
+ className: "preference-section",
175
+ children: [
176
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
177
+ className: "preference-header",
178
+ children: [
179
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("h2", {
180
+ children: "Hide Dev Tools for this session"
181
+ }),
182
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
183
+ className: "preference-description",
184
+ children: "Hide Dev Tools until you restart your dev server, or 1 day."
185
+ })
186
+ ]
187
+ }),
188
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
189
+ className: "preference-control",
190
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("button", {
191
+ "data-hide-dev-tools": true,
192
+ className: "action-button",
193
+ onClick: hide,
194
+ children: [
195
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
196
+ className: "preference-icon",
197
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_eyeicon.default, {})
198
+ }),
199
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
200
+ children: "Hide"
201
+ })
202
+ ]
203
+ })
204
+ })
205
+ ]
206
+ }),
207
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
208
+ className: "preference-section",
209
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
210
+ className: "preference-header",
211
+ children: [
212
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("h2", {
213
+ children: "Disable Dev Tools for this project"
214
+ }),
215
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
216
+ className: "preference-description",
217
+ children: [
218
+ "To disable this UI completely, set",
219
+ ' ',
220
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("code", {
221
+ className: "dev-tools-info-code",
222
+ children: "devIndicators: false"
223
+ }),
224
+ ' ',
225
+ "in your ",
226
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("code", {
227
+ className: "dev-tools-info-code",
228
+ children: "next.config"
229
+ }),
230
+ ' ',
231
+ "file."
232
+ ]
233
+ })
234
+ ]
235
+ })
236
+ })
237
+ ]
238
+ })
239
+ });
240
+ }
241
+ function ThemeIcon(param) {
242
+ let { theme } = param;
243
+ const activeTheme = theme === 'system' ? window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : theme;
244
+ return activeTheme === 'dark' ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_darkicon.default, {}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_lighticon.default, {});
245
+ }
246
+ const DEV_TOOLS_INFO_USER_PREFERENCES_STYLES = (0, _css.css)(_templateObject());
247
+
248
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
249
+ Object.defineProperty(exports.default, '__esModule', { value: true });
250
+ Object.assign(exports.default, exports);
251
+ module.exports = exports.default;
252
+ }
253
+
254
+ //# sourceMappingURL=user-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { DevToolsInfo } from './dev-tools-info'\nimport { css } from '../../../../../utils/css'\nimport type { DevToolsIndicatorPosition } from '../dev-tools-indicator'\nimport EyeIcon from '../../../../icons/eye-icon'\nimport { STORAGE_KEY_POSITION, STORAGE_KEY_THEME } from '../../../../../shared'\nimport LightIcon from '../../../../icons/light-icon'\nimport DarkIcon from '../../../../icons/dark-icon'\n\nfunction getInitialPreference() {\n if (typeof localStorage === 'undefined') {\n return 'system'\n }\n\n const theme = localStorage.getItem(STORAGE_KEY_THEME)\n return theme === 'dark' || theme === 'light' ? theme : 'system'\n}\n\nexport function UserPreferences({\n isOpen,\n setPosition,\n position,\n hide,\n ...props\n}: {\n isOpen: boolean\n setPosition: (position: DevToolsIndicatorPosition) => void\n position: DevToolsIndicatorPosition\n hide: () => void\n style?: React.CSSProperties\n ref?: React.RefObject<HTMLElement | null>\n}) {\n // derive initial theme from system preference\n const [theme, setTheme] = useState(getInitialPreference())\n\n const handleThemeChange = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const portal = document.querySelector('nextjs-portal')\n if (!portal) return\n\n setTheme(e.target.value)\n\n if (e.target.value === 'system') {\n portal.classList.remove('dark')\n portal.classList.remove('light')\n localStorage.removeItem(STORAGE_KEY_THEME)\n return\n }\n\n if (e.target.value === 'dark') {\n portal.classList.add('dark')\n portal.classList.remove('light')\n localStorage.setItem(STORAGE_KEY_THEME, 'dark')\n } else {\n portal.classList.remove('dark')\n portal.classList.add('light')\n localStorage.setItem(STORAGE_KEY_THEME, 'light')\n }\n }\n\n function handlePositionChange(e: React.ChangeEvent<HTMLSelectElement>) {\n setPosition(e.target.value as DevToolsIndicatorPosition)\n localStorage.setItem(STORAGE_KEY_POSITION, e.target.value)\n }\n\n return (\n <DevToolsInfo title=\"Preferences\" {...props}>\n <div className=\"preferences-container\">\n <div className=\"preference-section\">\n <div className=\"preference-header\">\n <h2>Theme</h2>\n <p className=\"preference-description\">\n Select your theme preference.\n </p>\n </div>\n <div className=\"preference-control-select\">\n <div className=\"preference-icon\">\n <ThemeIcon theme={theme as 'dark' | 'light' | 'system'} />\n </div>\n <select\n className=\"select-button\"\n value={theme}\n onChange={handleThemeChange}\n >\n <option value=\"system\">System</option>\n <option value=\"light\">Light</option>\n <option value=\"dark\">Dark</option>\n </select>\n </div>\n </div>\n\n <div className=\"preference-section\">\n <div className=\"preference-header\">\n <h2>Position</h2>\n <p className=\"preference-description\">\n Adjust the placement of your dev tools.\n </p>\n </div>\n <div className=\"preference-control-select\">\n <select\n className=\"select-button\"\n value={position}\n onChange={handlePositionChange}\n >\n <option value=\"bottom-left\">Bottom Left</option>\n <option value=\"bottom-right\">Bottom Right</option>\n <option value=\"top-left\">Top Left</option>\n <option value=\"top-right\">Top Right</option>\n </select>\n </div>\n </div>\n\n <div className=\"preference-section\">\n <div className=\"preference-header\">\n <h2>Hide Dev Tools for this session</h2>\n <p className=\"preference-description\">\n Hide Dev Tools until you restart your dev server, or 1 day.\n </p>\n </div>\n <div className=\"preference-control\">\n <button\n data-hide-dev-tools\n className=\"action-button\"\n onClick={hide}\n >\n <div className=\"preference-icon\">\n <EyeIcon />\n </div>\n <span>Hide</span>\n </button>\n </div>\n </div>\n\n <div className=\"preference-section\">\n <div className=\"preference-header\">\n <h2>Disable Dev Tools for this project</h2>\n <p className=\"preference-description\">\n To disable this UI completely, set{' '}\n <code className=\"dev-tools-info-code\">devIndicators: false</code>{' '}\n in your <code className=\"dev-tools-info-code\">next.config</code>{' '}\n file.\n </p>\n </div>\n </div>\n </div>\n </DevToolsInfo>\n )\n}\n\nfunction ThemeIcon({ theme }: { theme: 'dark' | 'light' | 'system' }) {\n const activeTheme =\n theme === 'system'\n ? window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : theme\n\n return activeTheme === 'dark' ? <DarkIcon /> : <LightIcon />\n}\n\nexport const DEV_TOOLS_INFO_USER_PREFERENCES_STYLES = css`\n .preferences-container {\n padding: 8px 6px;\n width: 100%;\n }\n\n @media (min-width: 576px) {\n .preferences-container {\n width: 480px;\n }\n }\n\n .preference-section:first-child {\n padding-top: 0;\n }\n\n .preference-section {\n padding: 12px 0;\n border-bottom: 1px solid var(--color-gray-400);\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 24px;\n }\n\n .preference-section:last-child {\n border-bottom: none;\n }\n\n .preference-header {\n margin-bottom: 0;\n flex: 1;\n }\n\n .preference-header h2 {\n font-size: var(--size-14);\n font-weight: 500;\n color: var(--color-gray-1000);\n margin: 0;\n }\n\n .preference-description {\n color: var(--color-gray-900);\n font-size: var(--size-14);\n margin: 0;\n }\n\n .preference-icon {\n display: flex;\n align-items: center;\n width: 16px;\n height: 16px;\n }\n\n .select-button,\n .action-button {\n display: flex;\n align-items: center;\n gap: 8px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-400);\n border-radius: var(--rounded-lg);\n font-weight: 400;\n font-size: var(--size-14);\n color: var(--color-gray-1000);\n padding: 6px 8px;\n\n &:hover {\n background: var(--color-gray-100);\n }\n }\n\n .preference-control-select {\n padding: 6px 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n border-radius: var(--rounded-lg);\n border: 1px solid var(--color-gray-400);\n\n &:hover {\n background: var(--color-gray-100);\n }\n\n &:focus-within {\n outline: 5px auto -webkit-focus-ring-color;\n }\n }\n\n .preference-control-select select {\n font-size: var(--size-14);\n font-weight: 400;\n border: none;\n padding: 0 6px 0 0;\n border-radius: 0;\n outline: none;\n }\n\n :global(.icon) {\n width: 18px;\n height: 18px;\n color: #666;\n }\n`\n"],"names":["DEV_TOOLS_INFO_USER_PREFERENCES_STYLES","UserPreferences","getInitialPreference","localStorage","theme","getItem","STORAGE_KEY_THEME","isOpen","setPosition","position","hide","props","setTheme","useState","handleThemeChange","e","portal","document","querySelector","target","value","classList","remove","removeItem","add","setItem","handlePositionChange","STORAGE_KEY_POSITION","DevToolsInfo","title","div","className","h2","p","ThemeIcon","select","onChange","option","button","data-hide-dev-tools","onClick","EyeIcon","span","code","activeTheme","window","matchMedia","matches","DarkIcon","LightIcon","css"],"mappings":";;;;;;;;;;;;;;;IA+JaA,sCAAsC;eAAtCA;;IA7IGC,eAAe;eAAfA;;;;;;uBAlBS;8BACI;qBACT;kEAEA;wBACoC;oEAClC;mEACD;;;;;;;;;;AAErB,SAASC;IACP,IAAI,OAAOC,iBAAiB,aAAa;QACvC,OAAO;IACT;IAEA,MAAMC,QAAQD,aAAaE,OAAO,CAACC,yBAAiB;IACpD,OAAOF,UAAU,UAAUA,UAAU,UAAUA,QAAQ;AACzD;AAEO,SAASH,gBAAgB,KAa/B;IAb+B,IAAA,EAC9BM,MAAM,EACNC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJ,GAAGC,OAQJ,GAb+B;IAc9B,8CAA8C;IAC9C,MAAM,CAACP,OAAOQ,SAAS,GAAGC,IAAAA,eAAQ,EAACX;IAEnC,MAAMY,oBAAoB,CAACC;QACzB,MAAMC,SAASC,SAASC,aAAa,CAAC;QACtC,IAAI,CAACF,QAAQ;QAEbJ,SAASG,EAAEI,MAAM,CAACC,KAAK;QAEvB,IAAIL,EAAEI,MAAM,CAACC,KAAK,KAAK,UAAU;YAC/BJ,OAAOK,SAAS,CAACC,MAAM,CAAC;YACxBN,OAAOK,SAAS,CAACC,MAAM,CAAC;YACxBnB,aAAaoB,UAAU,CAACjB,yBAAiB;YACzC;QACF;QAEA,IAAIS,EAAEI,MAAM,CAACC,KAAK,KAAK,QAAQ;YAC7BJ,OAAOK,SAAS,CAACG,GAAG,CAAC;YACrBR,OAAOK,SAAS,CAACC,MAAM,CAAC;YACxBnB,aAAasB,OAAO,CAACnB,yBAAiB,EAAE;QAC1C,OAAO;YACLU,OAAOK,SAAS,CAACC,MAAM,CAAC;YACxBN,OAAOK,SAAS,CAACG,GAAG,CAAC;YACrBrB,aAAasB,OAAO,CAACnB,yBAAiB,EAAE;QAC1C;IACF;IAEA,SAASoB,qBAAqBX,CAAuC;QACnEP,YAAYO,EAAEI,MAAM,CAACC,KAAK;QAC1BjB,aAAasB,OAAO,CAACE,4BAAoB,EAAEZ,EAAEI,MAAM,CAACC,KAAK;IAC3D;IAEA,qBACE,qBAACQ,0BAAY;QAACC,OAAM;QAAe,GAAGlB,KAAK;kBACzC,cAAA,sBAACmB;YAAIC,WAAU;;8BACb,sBAACD;oBAAIC,WAAU;;sCACb,sBAACD;4BAAIC,WAAU;;8CACb,qBAACC;8CAAG;;8CACJ,qBAACC;oCAAEF,WAAU;8CAAyB;;;;sCAIxC,sBAACD;4BAAIC,WAAU;;8CACb,qBAACD;oCAAIC,WAAU;8CACb,cAAA,qBAACG;wCAAU9B,OAAOA;;;8CAEpB,sBAAC+B;oCACCJ,WAAU;oCACVX,OAAOhB;oCACPgC,UAAUtB;;sDAEV,qBAACuB;4CAAOjB,OAAM;sDAAS;;sDACvB,qBAACiB;4CAAOjB,OAAM;sDAAQ;;sDACtB,qBAACiB;4CAAOjB,OAAM;sDAAO;;;;;;;;8BAK3B,sBAACU;oBAAIC,WAAU;;sCACb,sBAACD;4BAAIC,WAAU;;8CACb,qBAACC;8CAAG;;8CACJ,qBAACC;oCAAEF,WAAU;8CAAyB;;;;sCAIxC,qBAACD;4BAAIC,WAAU;sCACb,cAAA,sBAACI;gCACCJ,WAAU;gCACVX,OAAOX;gCACP2B,UAAUV;;kDAEV,qBAACW;wCAAOjB,OAAM;kDAAc;;kDAC5B,qBAACiB;wCAAOjB,OAAM;kDAAe;;kDAC7B,qBAACiB;wCAAOjB,OAAM;kDAAW;;kDACzB,qBAACiB;wCAAOjB,OAAM;kDAAY;;;;;;;8BAKhC,sBAACU;oBAAIC,WAAU;;sCACb,sBAACD;4BAAIC,WAAU;;8CACb,qBAACC;8CAAG;;8CACJ,qBAACC;oCAAEF,WAAU;8CAAyB;;;;sCAIxC,qBAACD;4BAAIC,WAAU;sCACb,cAAA,sBAACO;gCACCC,qBAAmB;gCACnBR,WAAU;gCACVS,SAAS9B;;kDAET,qBAACoB;wCAAIC,WAAU;kDACb,cAAA,qBAACU,gBAAO;;kDAEV,qBAACC;kDAAK;;;;;;;8BAKZ,qBAACZ;oBAAIC,WAAU;8BACb,cAAA,sBAACD;wBAAIC,WAAU;;0CACb,qBAACC;0CAAG;;0CACJ,sBAACC;gCAAEF,WAAU;;oCAAyB;oCACD;kDACnC,qBAACY;wCAAKZ,WAAU;kDAAsB;;oCAA4B;oCAAI;kDAC9D,qBAACY;wCAAKZ,WAAU;kDAAsB;;oCAAmB;oCAAI;;;;;;;;;AAQnF;AAEA,SAASG,UAAU,KAAiD;IAAjD,IAAA,EAAE9B,KAAK,EAA0C,GAAjD;IACjB,MAAMwC,cACJxC,UAAU,WACNyC,OAAOC,UAAU,CAAC,gCAAgCC,OAAO,GACvD,SACA,UACF3C;IAEN,OAAOwC,gBAAgB,uBAAS,qBAACI,iBAAQ,sBAAM,qBAACC,kBAAS;AAC3D;AAEO,MAAMjD,6CAAyCkD,QAAG"}
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "ShadowPortal", {
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
13
  const _reactdom = require("react-dom");
14
+ const _shared = require("../../shared");
14
15
  function ShadowPortal(param) {
15
16
  let { children } = param;
16
17
  let portalNode = _react.useRef(null);
@@ -19,6 +20,17 @@ function ShadowPortal(param) {
19
20
  _react.useLayoutEffect(()=>{
20
21
  const ownerDocument = document;
21
22
  portalNode.current = ownerDocument.createElement('nextjs-portal');
23
+ // load default color preference from localstorage
24
+ if (typeof localStorage !== 'undefined') {
25
+ const theme = localStorage.getItem(_shared.STORAGE_KEY_THEME);
26
+ if (theme === 'dark') {
27
+ portalNode.current.classList.add('dark');
28
+ portalNode.current.classList.remove('light');
29
+ } else if (theme === 'light') {
30
+ portalNode.current.classList.remove('dark');
31
+ portalNode.current.classList.add('light');
32
+ }
33
+ }
22
34
  shadowNode.current = portalNode.current.attachShadow({
23
35
  mode: 'open'
24
36
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/components/shadow-portal.tsx"],"sourcesContent":["import * as React from 'react'\nimport { createPortal } from 'react-dom'\n\nexport function ShadowPortal({ children }: { children: React.ReactNode }) {\n let portalNode = React.useRef<HTMLElement | null>(null)\n let shadowNode = React.useRef<ShadowRoot | null>(null)\n let [, forceUpdate] = React.useState<{} | undefined>()\n\n React.useLayoutEffect(() => {\n const ownerDocument = document\n portalNode.current = ownerDocument.createElement('nextjs-portal')\n shadowNode.current = portalNode.current.attachShadow({ mode: 'open' })\n ownerDocument.body.appendChild(portalNode.current)\n forceUpdate({})\n return () => {\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current)\n }\n }\n }, [])\n\n return shadowNode.current\n ? createPortal(children, shadowNode.current as any)\n : null\n}\n"],"names":["ShadowPortal","children","portalNode","React","useRef","shadowNode","forceUpdate","useState","useLayoutEffect","ownerDocument","document","current","createElement","attachShadow","mode","body","appendChild","removeChild","createPortal"],"mappings":";;;;+BAGgBA;;;eAAAA;;;;iEAHO;0BACM;AAEtB,SAASA,aAAa,KAA2C;IAA3C,IAAA,EAAEC,QAAQ,EAAiC,GAA3C;IAC3B,IAAIC,aAAaC,OAAMC,MAAM,CAAqB;IAClD,IAAIC,aAAaF,OAAMC,MAAM,CAAoB;IACjD,IAAI,GAAGE,YAAY,GAAGH,OAAMI,QAAQ;IAEpCJ,OAAMK,eAAe,CAAC;QACpB,MAAMC,gBAAgBC;QACtBR,WAAWS,OAAO,GAAGF,cAAcG,aAAa,CAAC;QACjDP,WAAWM,OAAO,GAAGT,WAAWS,OAAO,CAACE,YAAY,CAAC;YAAEC,MAAM;QAAO;QACpEL,cAAcM,IAAI,CAACC,WAAW,CAACd,WAAWS,OAAO;QACjDL,YAAY,CAAC;QACb,OAAO;YACL,IAAIJ,WAAWS,OAAO,IAAIT,WAAWS,OAAO,CAACF,aAAa,EAAE;gBAC1DP,WAAWS,OAAO,CAACF,aAAa,CAACM,IAAI,CAACE,WAAW,CAACf,WAAWS,OAAO;YACtE;QACF;IACF,GAAG,EAAE;IAEL,OAAON,WAAWM,OAAO,iBACrBO,IAAAA,sBAAY,EAACjB,UAAUI,WAAWM,OAAO,IACzC;AACN"}
1
+ {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/components/shadow-portal.tsx"],"sourcesContent":["import * as React from 'react'\nimport { createPortal } from 'react-dom'\nimport { STORAGE_KEY_THEME } from '../../shared'\n\nexport function ShadowPortal({ children }: { children: React.ReactNode }) {\n let portalNode = React.useRef<HTMLElement | null>(null)\n let shadowNode = React.useRef<ShadowRoot | null>(null)\n let [, forceUpdate] = React.useState<{} | undefined>()\n\n React.useLayoutEffect(() => {\n const ownerDocument = document\n portalNode.current = ownerDocument.createElement('nextjs-portal')\n // load default color preference from localstorage\n if (typeof localStorage !== 'undefined') {\n const theme = localStorage.getItem(STORAGE_KEY_THEME)\n if (theme === 'dark') {\n portalNode.current.classList.add('dark')\n portalNode.current.classList.remove('light')\n } else if (theme === 'light') {\n portalNode.current.classList.remove('dark')\n portalNode.current.classList.add('light')\n }\n }\n\n shadowNode.current = portalNode.current.attachShadow({ mode: 'open' })\n ownerDocument.body.appendChild(portalNode.current)\n forceUpdate({})\n return () => {\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current)\n }\n }\n }, [])\n\n return shadowNode.current\n ? createPortal(children, shadowNode.current as any)\n : null\n}\n"],"names":["ShadowPortal","children","portalNode","React","useRef","shadowNode","forceUpdate","useState","useLayoutEffect","ownerDocument","document","current","createElement","localStorage","theme","getItem","STORAGE_KEY_THEME","classList","add","remove","attachShadow","mode","body","appendChild","removeChild","createPortal"],"mappings":";;;;+BAIgBA;;;eAAAA;;;;iEAJO;0BACM;wBACK;AAE3B,SAASA,aAAa,KAA2C;IAA3C,IAAA,EAAEC,QAAQ,EAAiC,GAA3C;IAC3B,IAAIC,aAAaC,OAAMC,MAAM,CAAqB;IAClD,IAAIC,aAAaF,OAAMC,MAAM,CAAoB;IACjD,IAAI,GAAGE,YAAY,GAAGH,OAAMI,QAAQ;IAEpCJ,OAAMK,eAAe,CAAC;QACpB,MAAMC,gBAAgBC;QACtBR,WAAWS,OAAO,GAAGF,cAAcG,aAAa,CAAC;QACjD,kDAAkD;QAClD,IAAI,OAAOC,iBAAiB,aAAa;YACvC,MAAMC,QAAQD,aAAaE,OAAO,CAACC,yBAAiB;YACpD,IAAIF,UAAU,QAAQ;gBACpBZ,WAAWS,OAAO,CAACM,SAAS,CAACC,GAAG,CAAC;gBACjChB,WAAWS,OAAO,CAACM,SAAS,CAACE,MAAM,CAAC;YACtC,OAAO,IAAIL,UAAU,SAAS;gBAC5BZ,WAAWS,OAAO,CAACM,SAAS,CAACE,MAAM,CAAC;gBACpCjB,WAAWS,OAAO,CAACM,SAAS,CAACC,GAAG,CAAC;YACnC;QACF;QAEAb,WAAWM,OAAO,GAAGT,WAAWS,OAAO,CAACS,YAAY,CAAC;YAAEC,MAAM;QAAO;QACpEZ,cAAca,IAAI,CAACC,WAAW,CAACrB,WAAWS,OAAO;QACjDL,YAAY,CAAC;QACb,OAAO;YACL,IAAIJ,WAAWS,OAAO,IAAIT,WAAWS,OAAO,CAACF,aAAa,EAAE;gBAC1DP,WAAWS,OAAO,CAACF,aAAa,CAACa,IAAI,CAACE,WAAW,CAACtB,WAAWS,OAAO;YACtE;QACF;IACF,GAAG,EAAE;IAEL,OAAON,WAAWM,OAAO,iBACrBc,IAAAA,sBAAY,EAACxB,UAAUI,WAAWM,OAAO,IACzC;AACN"}
@@ -0,0 +1 @@
1
+ export default function DarkIcon(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DarkIcon;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ function DarkIcon() {
13
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("svg", {
14
+ "data-testid": "geist-icon",
15
+ height: "16",
16
+ strokeLinejoin: "round",
17
+ viewBox: "0 0 16 16",
18
+ width: "16",
19
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("path", {
20
+ fillRule: "evenodd",
21
+ clipRule: "evenodd",
22
+ d: "M1.5 8.00005C1.5 5.53089 2.99198 3.40932 5.12349 2.48889C4.88136 3.19858 4.75 3.95936 4.75 4.7501C4.75 8.61609 7.88401 11.7501 11.75 11.7501C11.8995 11.7501 12.048 11.7454 12.1953 11.7361C11.0955 13.1164 9.40047 14.0001 7.5 14.0001C4.18629 14.0001 1.5 11.3138 1.5 8.00005ZM6.41706 0.577759C2.78784 1.1031 0 4.22536 0 8.00005C0 12.1422 3.35786 15.5001 7.5 15.5001C10.5798 15.5001 13.2244 13.6438 14.3792 10.9921L13.4588 9.9797C12.9218 10.155 12.3478 10.2501 11.75 10.2501C8.71243 10.2501 6.25 7.78767 6.25 4.7501C6.25 3.63431 6.58146 2.59823 7.15111 1.73217L6.41706 0.577759ZM13.25 1V1.75V2.75L14.25 2.75H15V4.25H14.25H13.25V5.25V6H11.75V5.25V4.25H10.75L10 4.25V2.75H10.75L11.75 2.75V1.75V1H13.25Z",
23
+ fill: "currentColor"
24
+ })
25
+ });
26
+ }
27
+
28
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
29
+ Object.defineProperty(exports.default, '__esModule', { value: true });
30
+ Object.assign(exports.default, exports);
31
+ module.exports = exports.default;
32
+ }
33
+
34
+ //# sourceMappingURL=dark-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/icons/dark-icon.tsx"],"sourcesContent":["export default function DarkIcon() {\n return (\n <svg\n data-testid=\"geist-icon\"\n height=\"16\"\n strokeLinejoin=\"round\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.5 8.00005C1.5 5.53089 2.99198 3.40932 5.12349 2.48889C4.88136 3.19858 4.75 3.95936 4.75 4.7501C4.75 8.61609 7.88401 11.7501 11.75 11.7501C11.8995 11.7501 12.048 11.7454 12.1953 11.7361C11.0955 13.1164 9.40047 14.0001 7.5 14.0001C4.18629 14.0001 1.5 11.3138 1.5 8.00005ZM6.41706 0.577759C2.78784 1.1031 0 4.22536 0 8.00005C0 12.1422 3.35786 15.5001 7.5 15.5001C10.5798 15.5001 13.2244 13.6438 14.3792 10.9921L13.4588 9.9797C12.9218 10.155 12.3478 10.2501 11.75 10.2501C8.71243 10.2501 6.25 7.78767 6.25 4.7501C6.25 3.63431 6.58146 2.59823 7.15111 1.73217L6.41706 0.577759ZM13.25 1V1.75V2.75L14.25 2.75H15V4.25H14.25H13.25V5.25V6H11.75V5.25V4.25H10.75L10 4.25V2.75H10.75L11.75 2.75V1.75V1H13.25Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n )\n}\n"],"names":["DarkIcon","svg","data-testid","height","strokeLinejoin","viewBox","width","path","fillRule","clipRule","d","fill"],"mappings":";;;;+BAAA;;;eAAwBA;;;;AAAT,SAASA;IACtB,qBACE,qBAACC;QACCC,eAAY;QACZC,QAAO;QACPC,gBAAe;QACfC,SAAQ;QACRC,OAAM;kBAEN,cAAA,qBAACC;YACCC,UAAS;YACTC,UAAS;YACTC,GAAE;YACFC,MAAK;;;AAIb"}
@@ -1 +1,2 @@
1
1
  export declare function ExternalIcon(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
2
+ export declare function SourceMappingErrorIcon(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -2,10 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "ExternalIcon", {
6
- enumerable: true,
7
- get: function() {
5
+ 0 && (module.exports = {
6
+ ExternalIcon: null,
7
+ SourceMappingErrorIcon: null
8
+ });
9
+ function _export(target, all) {
10
+ for(var name in all)Object.defineProperty(target, name, {
11
+ enumerable: true,
12
+ get: all[name]
13
+ });
14
+ }
15
+ _export(exports, {
16
+ ExternalIcon: function() {
8
17
  return ExternalIcon;
18
+ },
19
+ SourceMappingErrorIcon: function() {
20
+ return SourceMappingErrorIcon;
9
21
  }
10
22
  });
11
23
  const _jsxruntime = require("react/jsx-runtime");
@@ -25,6 +37,22 @@ function ExternalIcon(props) {
25
37
  })
26
38
  });
27
39
  }
40
+ function SourceMappingErrorIcon(props) {
41
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("svg", {
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ height: "16",
44
+ strokeLinejoin: "round",
45
+ viewBox: "-4 -4 24 24",
46
+ width: "16",
47
+ ...props,
48
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("path", {
49
+ fillRule: "evenodd",
50
+ clipRule: "evenodd",
51
+ d: "M8.55846 2H7.44148L1.88975 13.5H14.1102L8.55846 2ZM9.90929 1.34788C9.65902 0.829456 9.13413 0.5 8.55846 0.5H7.44148C6.86581 0.5 6.34092 0.829454 6.09065 1.34787L0.192608 13.5653C-0.127943 14.2293 0.355835 15 1.09316 15H14.9068C15.6441 15 16.1279 14.2293 15.8073 13.5653L9.90929 1.34788ZM8.74997 4.75V5.5V8V8.75H7.24997V8V5.5V4.75H8.74997ZM7.99997 12C8.55226 12 8.99997 11.5523 8.99997 11C8.99997 10.4477 8.55226 10 7.99997 10C7.44769 10 6.99997 10.4477 6.99997 11C6.99997 11.5523 7.44769 12 7.99997 12Z",
52
+ fill: "currentColor"
53
+ })
54
+ });
55
+ }
28
56
 
29
57
  if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
30
58
  Object.defineProperty(exports.default, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/icons/external.tsx"],"sourcesContent":["export function ExternalIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n fill=\"currentColor\"\n d=\"M11.5 9.75V11.25C11.5 11.3881 11.3881 11.5 11.25 11.5H4.75C4.61193 11.5 4.5 11.3881 4.5 11.25L4.5 4.75C4.5 4.61193 4.61193 4.5 4.75 4.5H6.25H7V3H6.25H4.75C3.7835 3 3 3.7835 3 4.75V11.25C3 12.2165 3.7835 13 4.75 13H11.25C12.2165 13 13 12.2165 13 11.25V9.75V9H11.5V9.75ZM8.5 3H9.25H12.2495C12.6637 3 12.9995 3.33579 12.9995 3.75V6.75V7.5H11.4995V6.75V5.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L10.4388 4.5H9.25H8.5V3Z\"\n />\n </svg>\n )\n}\n"],"names":["ExternalIcon","props","svg","xmlns","width","height","viewBox","fill","path","fillRule","clipRule","d"],"mappings":";;;;+BAAgBA;;;eAAAA;;;;AAAT,SAASA,aAAaC,KAAoC;IAC/D,qBACE,qBAACC;QACCC,OAAM;QACNC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACJ,GAAGN,KAAK;kBAET,cAAA,qBAACO;YACCC,UAAS;YACTC,UAAS;YACTH,MAAK;YACLI,GAAE;;;AAIV"}
1
+ {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/icons/external.tsx"],"sourcesContent":["export function ExternalIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n fill=\"currentColor\"\n d=\"M11.5 9.75V11.25C11.5 11.3881 11.3881 11.5 11.25 11.5H4.75C4.61193 11.5 4.5 11.3881 4.5 11.25L4.5 4.75C4.5 4.61193 4.61193 4.5 4.75 4.5H6.25H7V3H6.25H4.75C3.7835 3 3 3.7835 3 4.75V11.25C3 12.2165 3.7835 13 4.75 13H11.25C12.2165 13 13 12.2165 13 11.25V9.75V9H11.5V9.75ZM8.5 3H9.25H12.2495C12.6637 3 12.9995 3.33579 12.9995 3.75V6.75V7.5H11.4995V6.75V5.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L10.4388 4.5H9.25H8.5V3Z\"\n />\n </svg>\n )\n}\n\nexport function SourceMappingErrorIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"16\"\n strokeLinejoin=\"round\"\n viewBox=\"-4 -4 24 24\"\n width=\"16\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.55846 2H7.44148L1.88975 13.5H14.1102L8.55846 2ZM9.90929 1.34788C9.65902 0.829456 9.13413 0.5 8.55846 0.5H7.44148C6.86581 0.5 6.34092 0.829454 6.09065 1.34787L0.192608 13.5653C-0.127943 14.2293 0.355835 15 1.09316 15H14.9068C15.6441 15 16.1279 14.2293 15.8073 13.5653L9.90929 1.34788ZM8.74997 4.75V5.5V8V8.75H7.24997V8V5.5V4.75H8.74997ZM7.99997 12C8.55226 12 8.99997 11.5523 8.99997 11C8.99997 10.4477 8.55226 10 7.99997 10C7.44769 10 6.99997 10.4477 6.99997 11C6.99997 11.5523 7.44769 12 7.99997 12Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n )\n}\n"],"names":["ExternalIcon","SourceMappingErrorIcon","props","svg","xmlns","width","height","viewBox","fill","path","fillRule","clipRule","d","strokeLinejoin"],"mappings":";;;;;;;;;;;;;;;IAAgBA,YAAY;eAAZA;;IAoBAC,sBAAsB;eAAtBA;;;;AApBT,SAASD,aAAaE,KAAoC;IAC/D,qBACE,qBAACC;QACCC,OAAM;QACNC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACJ,GAAGN,KAAK;kBAET,cAAA,qBAACO;YACCC,UAAS;YACTC,UAAS;YACTH,MAAK;YACLI,GAAE;;;AAIV;AAEO,SAASX,uBAAuBC,KAAoC;IACzE,qBACE,qBAACC;QACCC,OAAM;QACNE,QAAO;QACPO,gBAAe;QACfN,SAAQ;QACRF,OAAM;QACL,GAAGH,KAAK;kBAET,cAAA,qBAACO;YACCC,UAAS;YACTC,UAAS;YACTC,GAAE;YACFJ,MAAK;;;AAIb"}
@@ -0,0 +1 @@
1
+ export default function EyeIcon(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return EyeIcon;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ function EyeIcon() {
13
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("svg", {
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ width: "16",
16
+ height: "16",
17
+ fill: "none",
18
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("path", {
19
+ fill: "currentColor",
20
+ fillRule: "evenodd",
21
+ d: "m.191 2.063.56.498 13.5 12 .561.498.997-1.121-.56-.498-1.81-1.608 2.88-3.342v-.98l-3.204-3.72C10.645.923 6.365.686 3.594 3.08L1.748 1.44 1.188.94.19 2.063ZM14.761 8l-2.442 2.836-1.65-1.466a3.001 3.001 0 0 0-4.342-3.86l-1.6-1.422a5.253 5.253 0 0 1 7.251.682L14.76 8ZM7.526 6.576l1.942 1.727a1.499 1.499 0 0 0-1.942-1.727Zm-7.845.935 1.722-2 1.137.979L1.24 8l2.782 3.23A5.25 5.25 0 0 0 9.9 12.703l.54 1.4a6.751 6.751 0 0 1-7.555-1.892L-.318 8.49v-.98Z",
22
+ clipRule: "evenodd"
23
+ })
24
+ });
25
+ }
26
+
27
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
28
+ Object.defineProperty(exports.default, '__esModule', { value: true });
29
+ Object.assign(exports.default, exports);
30
+ module.exports = exports.default;
31
+ }
32
+
33
+ //# sourceMappingURL=eye-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/icons/eye-icon.tsx"],"sourcesContent":["export default function EyeIcon() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\">\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"m.191 2.063.56.498 13.5 12 .561.498.997-1.121-.56-.498-1.81-1.608 2.88-3.342v-.98l-3.204-3.72C10.645.923 6.365.686 3.594 3.08L1.748 1.44 1.188.94.19 2.063ZM14.761 8l-2.442 2.836-1.65-1.466a3.001 3.001 0 0 0-4.342-3.86l-1.6-1.422a5.253 5.253 0 0 1 7.251.682L14.76 8ZM7.526 6.576l1.942 1.727a1.499 1.499 0 0 0-1.942-1.727Zm-7.845.935 1.722-2 1.137.979L1.24 8l2.782 3.23A5.25 5.25 0 0 0 9.9 12.703l.54 1.4a6.751 6.751 0 0 1-7.555-1.892L-.318 8.49v-.98Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )\n}\n"],"names":["EyeIcon","svg","xmlns","width","height","fill","path","fillRule","d","clipRule"],"mappings":";;;;+BAAA;;;eAAwBA;;;;AAAT,SAASA;IACtB,qBACE,qBAACC;QAAIC,OAAM;QAA6BC,OAAM;QAAKC,QAAO;QAAKC,MAAK;kBAClE,cAAA,qBAACC;YACCD,MAAK;YACLE,UAAS;YACTC,GAAE;YACFC,UAAS;;;AAIjB"}
@@ -0,0 +1 @@
1
+ export default function GearIcon(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return GearIcon;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ function GearIcon() {
13
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("svg", {
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ width: "16",
16
+ height: "16",
17
+ viewBox: "0 0 20 20",
18
+ fill: "none",
19
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("path", {
20
+ fill: "currentColor",
21
+ fillRule: "evenodd",
22
+ d: "m9.7 3.736.045-.236h.51l.044.236a2.024 2.024 0 0 0 1.334 1.536c.19.066.375.143.554.23.618.301 1.398.29 2.03-.143l.199-.136.36.361-.135.199a2.024 2.024 0 0 0-.143 2.03c.087.179.164.364.23.554.224.65.783 1.192 1.536 1.334l.236.044v.51l-.236.044a2.024 2.024 0 0 0-1.536 1.334 4.95 4.95 0 0 1-.23.554 2.024 2.024 0 0 0 .143 2.03l.136.199-.361.36-.199-.135a2.024 2.024 0 0 0-2.03-.143c-.179.087-.364.164-.554.23a2.024 2.024 0 0 0-1.334 1.536l-.044.236h-.51l-.044-.236a2.024 2.024 0 0 0-1.334-1.536 4.952 4.952 0 0 1-.554-.23 2.024 2.024 0 0 0-2.03.143l-.199.136-.36-.361.135-.199a2.024 2.024 0 0 0 .143-2.03 4.958 4.958 0 0 1-.23-.554 2.024 2.024 0 0 0-1.536-1.334l-.236-.044v-.51l.236-.044a2.024 2.024 0 0 0 1.536-1.334 4.96 4.96 0 0 1 .23-.554 2.024 2.024 0 0 0-.143-2.03l-.136-.199.361-.36.199.135a2.024 2.024 0 0 0 2.03.143c.179-.087.364-.164.554-.23a2.024 2.024 0 0 0 1.334-1.536ZM8.5 2h3l.274 1.46c.034.185.17.333.348.394.248.086.49.186.722.3.17.082.37.074.526-.033l1.226-.839 2.122 2.122-.84 1.226a.524.524 0 0 0-.032.526c.114.233.214.474.3.722.061.177.21.314.394.348L18 8.5v3l-1.46.274a.524.524 0 0 0-.394.348 6.47 6.47 0 0 1-.3.722.524.524 0 0 0 .033.526l.839 1.226-2.122 2.122-1.226-.84a.524.524 0 0 0-.526-.032 6.477 6.477 0 0 1-.722.3.524.524 0 0 0-.348.394L11.5 18h-3l-.274-1.46a.524.524 0 0 0-.348-.394 6.477 6.477 0 0 1-.722-.3.524.524 0 0 0-.526.033l-1.226.839-2.122-2.122.84-1.226a.524.524 0 0 0 .032-.526 6.453 6.453 0 0 1-.3-.722.524.524 0 0 0-.394-.348L2 11.5v-3l1.46-.274a.524.524 0 0 0 .394-.348c.086-.248.186-.49.3-.722a.524.524 0 0 0-.033-.526l-.839-1.226 2.122-2.122 1.226.84a.524.524 0 0 0 .526.032 6.46 6.46 0 0 1 .722-.3.524.524 0 0 0 .348-.394L8.5 2Zm3 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm1.5 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z",
23
+ clipRule: "evenodd"
24
+ })
25
+ });
26
+ }
27
+
28
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
29
+ Object.defineProperty(exports.default, '__esModule', { value: true });
30
+ Object.assign(exports.default, exports);
31
+ module.exports = exports.default;
32
+ }
33
+
34
+ //# sourceMappingURL=gear-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/icons/gear-icon.tsx"],"sourcesContent":["export default function GearIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"m9.7 3.736.045-.236h.51l.044.236a2.024 2.024 0 0 0 1.334 1.536c.19.066.375.143.554.23.618.301 1.398.29 2.03-.143l.199-.136.36.361-.135.199a2.024 2.024 0 0 0-.143 2.03c.087.179.164.364.23.554.224.65.783 1.192 1.536 1.334l.236.044v.51l-.236.044a2.024 2.024 0 0 0-1.536 1.334 4.95 4.95 0 0 1-.23.554 2.024 2.024 0 0 0 .143 2.03l.136.199-.361.36-.199-.135a2.024 2.024 0 0 0-2.03-.143c-.179.087-.364.164-.554.23a2.024 2.024 0 0 0-1.334 1.536l-.044.236h-.51l-.044-.236a2.024 2.024 0 0 0-1.334-1.536 4.952 4.952 0 0 1-.554-.23 2.024 2.024 0 0 0-2.03.143l-.199.136-.36-.361.135-.199a2.024 2.024 0 0 0 .143-2.03 4.958 4.958 0 0 1-.23-.554 2.024 2.024 0 0 0-1.536-1.334l-.236-.044v-.51l.236-.044a2.024 2.024 0 0 0 1.536-1.334 4.96 4.96 0 0 1 .23-.554 2.024 2.024 0 0 0-.143-2.03l-.136-.199.361-.36.199.135a2.024 2.024 0 0 0 2.03.143c.179-.087.364-.164.554-.23a2.024 2.024 0 0 0 1.334-1.536ZM8.5 2h3l.274 1.46c.034.185.17.333.348.394.248.086.49.186.722.3.17.082.37.074.526-.033l1.226-.839 2.122 2.122-.84 1.226a.524.524 0 0 0-.032.526c.114.233.214.474.3.722.061.177.21.314.394.348L18 8.5v3l-1.46.274a.524.524 0 0 0-.394.348 6.47 6.47 0 0 1-.3.722.524.524 0 0 0 .033.526l.839 1.226-2.122 2.122-1.226-.84a.524.524 0 0 0-.526-.032 6.477 6.477 0 0 1-.722.3.524.524 0 0 0-.348.394L11.5 18h-3l-.274-1.46a.524.524 0 0 0-.348-.394 6.477 6.477 0 0 1-.722-.3.524.524 0 0 0-.526.033l-1.226.839-2.122-2.122.84-1.226a.524.524 0 0 0 .032-.526 6.453 6.453 0 0 1-.3-.722.524.524 0 0 0-.394-.348L2 11.5v-3l1.46-.274a.524.524 0 0 0 .394-.348c.086-.248.186-.49.3-.722a.524.524 0 0 0-.033-.526l-.839-1.226 2.122-2.122 1.226.84a.524.524 0 0 0 .526.032 6.46 6.46 0 0 1 .722-.3.524.524 0 0 0 .348-.394L8.5 2Zm3 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm1.5 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )\n}\n"],"names":["GearIcon","svg","xmlns","width","height","viewBox","fill","path","fillRule","d","clipRule"],"mappings":";;;;+BAAA;;;eAAwBA;;;;AAAT,SAASA;IACtB,qBACE,qBAACC;QACCC,OAAM;QACNC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;kBAEL,cAAA,qBAACC;YACCD,MAAK;YACLE,UAAS;YACTC,GAAE;YACFC,UAAS;;;AAIjB"}
@@ -0,0 +1 @@
1
+ export default function LightIcon(): import("react/jsx-runtime").JSX.Element;