@sudobility/testomniac_ui 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/components/cells/BundleCell.d.ts +3 -1
  2. package/dist/components/cells/BundleCell.d.ts.map +1 -1
  3. package/dist/components/cells/BundleCell.js +7 -3
  4. package/dist/components/cells/BundleCell.js.map +1 -1
  5. package/dist/components/cells/InteractionCell.d.ts +5 -1
  6. package/dist/components/cells/InteractionCell.d.ts.map +1 -1
  7. package/dist/components/cells/InteractionCell.js +6 -2
  8. package/dist/components/cells/InteractionCell.js.map +1 -1
  9. package/dist/components/cells/ListCell.d.ts +3 -1
  10. package/dist/components/cells/ListCell.d.ts.map +1 -1
  11. package/dist/components/cells/ListCell.js +2 -2
  12. package/dist/components/cells/ListCell.js.map +1 -1
  13. package/dist/components/cells/PersonaCell.d.ts +3 -1
  14. package/dist/components/cells/PersonaCell.d.ts.map +1 -1
  15. package/dist/components/cells/PersonaCell.js +7 -2
  16. package/dist/components/cells/PersonaCell.js.map +1 -1
  17. package/dist/components/cells/ScaffoldCell.d.ts +3 -1
  18. package/dist/components/cells/ScaffoldCell.d.ts.map +1 -1
  19. package/dist/components/cells/ScaffoldCell.js +10 -4
  20. package/dist/components/cells/ScaffoldCell.js.map +1 -1
  21. package/dist/components/cells/ScenarioCell.d.ts +3 -1
  22. package/dist/components/cells/ScenarioCell.d.ts.map +1 -1
  23. package/dist/components/cells/ScenarioCell.js +5 -1
  24. package/dist/components/cells/ScenarioCell.js.map +1 -1
  25. package/dist/components/cells/SurfaceCell.d.ts +3 -1
  26. package/dist/components/cells/SurfaceCell.d.ts.map +1 -1
  27. package/dist/components/cells/SurfaceCell.js +5 -2
  28. package/dist/components/cells/SurfaceCell.js.map +1 -1
  29. package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -1
  30. package/dist/components/dashboard/DashboardSidebar.js +13 -4
  31. package/dist/components/dashboard/DashboardSidebar.js.map +1 -1
  32. package/dist/components/data/DataTable.d.ts.map +1 -1
  33. package/dist/components/data/DataTable.js +12 -10
  34. package/dist/components/data/DataTable.js.map +1 -1
  35. package/dist/components/pages/PagesListView.d.ts.map +1 -1
  36. package/dist/components/pages/PagesListView.js +6 -5
  37. package/dist/components/pages/PagesListView.js.map +1 -1
  38. package/dist/components/pages/PagesMapView.d.ts +3 -1
  39. package/dist/components/pages/PagesMapView.d.ts.map +1 -1
  40. package/dist/components/pages/PagesMapView.js +2 -2
  41. package/dist/components/pages/PagesMapView.js.map +1 -1
  42. package/dist/components/ui/AddButton.d.ts +19 -0
  43. package/dist/components/ui/AddButton.d.ts.map +1 -0
  44. package/dist/components/ui/AddButton.js +12 -0
  45. package/dist/components/ui/AddButton.js.map +1 -0
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/pages/BundleDetailPage.d.ts.map +1 -1
  51. package/dist/pages/BundleDetailPage.js +2 -2
  52. package/dist/pages/BundleDetailPage.js.map +1 -1
  53. package/dist/pages/BundlesPage.d.ts.map +1 -1
  54. package/dist/pages/BundlesPage.js +3 -2
  55. package/dist/pages/BundlesPage.js.map +1 -1
  56. package/dist/pages/CreateProductPage.d.ts +11 -0
  57. package/dist/pages/CreateProductPage.d.ts.map +1 -0
  58. package/dist/pages/CreateProductPage.js +146 -0
  59. package/dist/pages/CreateProductPage.js.map +1 -0
  60. package/dist/pages/DashboardOverview.d.ts.map +1 -1
  61. package/dist/pages/DashboardOverview.js +2 -2
  62. package/dist/pages/DashboardOverview.js.map +1 -1
  63. package/dist/pages/FindingsListPage.js +50 -44
  64. package/dist/pages/FindingsListPage.js.map +1 -1
  65. package/dist/pages/PageDetailPage.d.ts.map +1 -1
  66. package/dist/pages/PageDetailPage.js +11 -8
  67. package/dist/pages/PageDetailPage.js.map +1 -1
  68. package/dist/pages/PageGraphPage.d.ts.map +1 -1
  69. package/dist/pages/PageGraphPage.js +2 -1
  70. package/dist/pages/PageGraphPage.js.map +1 -1
  71. package/dist/pages/PageStateDetailPage.d.ts.map +1 -1
  72. package/dist/pages/PageStateDetailPage.js +10 -10
  73. package/dist/pages/PageStateDetailPage.js.map +1 -1
  74. package/dist/pages/PagesPage.d.ts.map +1 -1
  75. package/dist/pages/PagesPage.js +6 -5
  76. package/dist/pages/PagesPage.js.map +1 -1
  77. package/dist/pages/PatternsPage.d.ts.map +1 -1
  78. package/dist/pages/PatternsPage.js +8 -8
  79. package/dist/pages/PatternsPage.js.map +1 -1
  80. package/dist/pages/PersonasPage.d.ts.map +1 -1
  81. package/dist/pages/PersonasPage.js +3 -2
  82. package/dist/pages/PersonasPage.js.map +1 -1
  83. package/dist/pages/RunSurfaceRunDetailPage.d.ts.map +1 -1
  84. package/dist/pages/RunSurfaceRunDetailPage.js +4 -4
  85. package/dist/pages/RunSurfaceRunDetailPage.js.map +1 -1
  86. package/dist/pages/RunSurfaceRunsPage.d.ts.map +1 -1
  87. package/dist/pages/RunSurfaceRunsPage.js +2 -2
  88. package/dist/pages/RunSurfaceRunsPage.js.map +1 -1
  89. package/dist/pages/RunTestInteractionRunDetailPage.d.ts.map +1 -1
  90. package/dist/pages/RunTestInteractionRunDetailPage.js +2 -2
  91. package/dist/pages/RunTestInteractionRunDetailPage.js.map +1 -1
  92. package/dist/pages/RunTestInteractionRunsPage.d.ts.map +1 -1
  93. package/dist/pages/RunTestInteractionRunsPage.js +2 -2
  94. package/dist/pages/RunTestInteractionRunsPage.js.map +1 -1
  95. package/dist/pages/RunnerGraphPage.d.ts.map +1 -1
  96. package/dist/pages/RunnerGraphPage.js +2 -1
  97. package/dist/pages/RunnerGraphPage.js.map +1 -1
  98. package/dist/pages/RunnerSettingsPage.d.ts.map +1 -1
  99. package/dist/pages/RunnerSettingsPage.js +2 -1
  100. package/dist/pages/RunnerSettingsPage.js.map +1 -1
  101. package/dist/pages/ScaffoldDetailPage.d.ts.map +1 -1
  102. package/dist/pages/ScaffoldDetailPage.js +3 -3
  103. package/dist/pages/ScaffoldDetailPage.js.map +1 -1
  104. package/dist/pages/ScaffoldsPage.d.ts.map +1 -1
  105. package/dist/pages/ScaffoldsPage.js +4 -3
  106. package/dist/pages/ScaffoldsPage.js.map +1 -1
  107. package/dist/pages/ScanProgressPage.d.ts.map +1 -1
  108. package/dist/pages/ScanProgressPage.js +2 -2
  109. package/dist/pages/ScanProgressPage.js.map +1 -1
  110. package/dist/pages/SchedulesPage.d.ts.map +1 -1
  111. package/dist/pages/SchedulesPage.js +34 -33
  112. package/dist/pages/SchedulesPage.js.map +1 -1
  113. package/dist/pages/StartScanPage.d.ts.map +1 -1
  114. package/dist/pages/StartScanPage.js +3 -3
  115. package/dist/pages/StartScanPage.js.map +1 -1
  116. package/dist/pages/TestInteractionDetailPage.d.ts.map +1 -1
  117. package/dist/pages/TestInteractionDetailPage.js +5 -5
  118. package/dist/pages/TestInteractionDetailPage.js.map +1 -1
  119. package/dist/pages/TestInteractionsPage.d.ts.map +1 -1
  120. package/dist/pages/TestInteractionsPage.js +10 -40
  121. package/dist/pages/TestInteractionsPage.js.map +1 -1
  122. package/dist/pages/TestRunDetailPage.d.ts.map +1 -1
  123. package/dist/pages/TestRunDetailPage.js +4 -3
  124. package/dist/pages/TestRunDetailPage.js.map +1 -1
  125. package/dist/pages/TestRunsListPage.d.ts.map +1 -1
  126. package/dist/pages/TestRunsListPage.js +24 -1
  127. package/dist/pages/TestRunsListPage.js.map +1 -1
  128. package/dist/pages/TestScenarioDetailPage.d.ts.map +1 -1
  129. package/dist/pages/TestScenarioDetailPage.js +5 -5
  130. package/dist/pages/TestScenarioDetailPage.js.map +1 -1
  131. package/dist/pages/TestScenariosPage.d.ts.map +1 -1
  132. package/dist/pages/TestScenariosPage.js +8 -7
  133. package/dist/pages/TestScenariosPage.js.map +1 -1
  134. package/dist/pages/TestSurfaceDetailPage.d.ts.map +1 -1
  135. package/dist/pages/TestSurfaceDetailPage.js +3 -5
  136. package/dist/pages/TestSurfaceDetailPage.js.map +1 -1
  137. package/dist/pages/TestSurfacesListPage.d.ts.map +1 -1
  138. package/dist/pages/TestSurfacesListPage.js +11 -10
  139. package/dist/pages/TestSurfacesListPage.js.map +1 -1
  140. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"PagesListView.d.ts","sourceRoot":"","sources":["../../../src/components/pages/PagesListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAKjE,UAAU,kBAAkB;IAC1B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,kBAAkB,+BA8F9F"}
1
+ {"version":3,"file":"PagesListView.d.ts","sourceRoot":"","sources":["../../../src/components/pages/PagesListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMjE,UAAU,kBAAkB;IAC1B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,kBAAkB,+BA0E9F"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { buildArtifactUrl } from '@sudobility/testomniac_client';
3
+ import { CardGrid } from '@sudobility/components';
3
4
  import { useLocalizedNavigate } from '../../hooks/useLocalizedNavigate';
4
5
  import { useEnvRoutes } from '../../context/routing';
5
6
  export function PagesListView({ pages, runId, screenshotsByPageId, apiUrl }) {
@@ -9,10 +10,10 @@ export function PagesListView({ pages, runId, screenshotsByPageId, apiUrl }) {
9
10
  if (sorted.length === 0) {
10
11
  return (_jsx("div", { className: "py-8 text-center text-gray-500 dark:text-gray-400", children: "No pages discovered." }));
11
12
  }
12
- return (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-gray-200 dark:border-gray-700", children: [_jsx("th", { className: "px-3 py-2 text-left text-xs font-medium uppercase tracking-wider text-gray-500 dark:text-gray-400 w-16", children: "Preview" }), _jsx("th", { className: "px-3 py-2 text-left text-xs font-medium uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Path" }), _jsx("th", { className: "px-3 py-2 text-left text-xs font-medium uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Route Key" }), _jsx("th", { className: "px-3 py-2 text-left text-xs font-medium uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Status" })] }) }), _jsx("tbody", { children: sorted.map(page => {
13
- const isExternal = page.relativePath.startsWith('http');
14
- const screenshotPath = screenshotsByPageId?.get(page.id);
15
- return (_jsxs("tr", { onClick: () => navigate(runId ? r.runPage(runId, page.id) : r.page(page.id)), className: "cursor-pointer border-b border-gray-100 dark:border-gray-800 hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors", children: [_jsx("td", { className: "px-3 py-3", children: _jsx("div", { className: "w-12 h-8 rounded overflow-hidden bg-gray-100 dark:bg-gray-800 flex items-center justify-center", children: screenshotPath && apiUrl ? (_jsx("img", { src: buildArtifactUrl(apiUrl, screenshotPath, { thumbnail: true }), alt: "", className: "w-full h-full object-cover object-top", loading: "lazy" })) : (_jsxs("svg", { className: "w-4 h-4 text-gray-300 dark:text-gray-600", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("path", { d: "M3 15l5-5 4 4 3-3 6 6" })] })) }) }), _jsx("td", { className: "px-3 py-3 text-gray-900 dark:text-gray-100", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate max-w-md", children: page.relativePath }), isExternal && (_jsx("span", { className: "shrink-0 rounded bg-gray-100 px-1.5 py-0.5 text-[11px] text-gray-500 dark:bg-gray-800 dark:text-gray-400", children: "external" }))] }) }), _jsx("td", { className: "px-3 py-3 text-gray-600 dark:text-gray-300", children: page.routeKey ?? (_jsx("span", { className: "text-gray-400 dark:text-gray-600", children: "\u2014" })) }), _jsx("td", { className: "px-3 py-3", children: page.requiresLogin && (_jsx("span", { className: "rounded bg-yellow-100 px-1.5 py-0.5 text-xs text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300", children: "Login" })) })] }, page.id));
16
- }) })] }) }));
13
+ return (_jsx(CardGrid, { children: sorted.map(page => {
14
+ const isExternal = page.relativePath.startsWith('http');
15
+ const screenshotPath = screenshotsByPageId?.get(page.id);
16
+ return (_jsxs("div", { role: "button", tabIndex: 0, onClick: () => navigate(runId ? r.runPage(runId, page.id) : r.page(page.id)), className: "flex flex-col overflow-hidden rounded-lg border border-gray-200 bg-white text-left transition-colors dark:border-gray-700 dark:bg-gray-800 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700/40", children: [_jsx("div", { className: "aspect-[16/9] w-full shrink-0 overflow-hidden border-b border-gray-200 bg-gray-100 dark:border-gray-700 dark:bg-gray-900 flex items-center justify-center", children: screenshotPath && apiUrl ? (_jsx("img", { src: buildArtifactUrl(apiUrl, screenshotPath, { thumbnail: true }), alt: "", className: "h-full w-full object-cover object-top", loading: "lazy" })) : (_jsxs("svg", { className: "h-8 w-8 text-gray-300 dark:text-gray-600", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("path", { d: "M3 15l5-5 4 4 3-3 6 6" })] })) }), _jsxs("div", { className: "min-w-0 flex-1 p-3", children: [_jsx("div", { className: "truncate text-sm font-medium text-gray-900 dark:text-gray-100", children: page.relativePath }), _jsxs("div", { className: "mt-1.5 flex flex-wrap items-center gap-1", children: [page.routeKey && (_jsx("span", { className: "rounded bg-gray-100 px-1.5 py-0.5 text-[11px] text-gray-500 dark:bg-gray-700 dark:text-gray-400", children: page.routeKey })), page.requiresLogin && (_jsx("span", { className: "rounded bg-yellow-100 px-1.5 py-0.5 text-[11px] text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300", children: "Login" })), isExternal && (_jsx("span", { className: "rounded bg-gray-100 px-1.5 py-0.5 text-[11px] text-gray-500 dark:bg-gray-700 dark:text-gray-400", children: "external" }))] })] })] }, page.id));
17
+ }) }));
17
18
  }
18
19
  //# sourceMappingURL=PagesListView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagesListView.js","sourceRoot":"","sources":["../../../src/components/pages/PagesListView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PagesListView.js","sourceRoot":"","sources":["../../../src/components/pages/PagesListView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAWrD,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAsB;IAC7F,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAEvF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CACL,cAAK,SAAS,EAAC,mDAAmD,qCAA2B,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,QAAQ,cACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzD,OAAO,CACL,eAEE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC5E,SAAS,EAAC,sMAAsM,aAEhN,cAAK,SAAS,EAAC,2JAA2J,YACvK,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,CAC1B,cACE,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAClE,GAAG,EAAC,EAAE,EACN,SAAS,EAAC,uCAAuC,EACjD,OAAO,EAAC,MAAM,GACd,CACH,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAC,0CAA0C,EACpD,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,aAEjB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EAClD,eAAM,CAAC,EAAC,uBAAuB,GAAG,IAC9B,CACP,GACG,EACN,eAAK,SAAS,EAAC,oBAAoB,aACjC,cAAK,SAAS,EAAC,+DAA+D,YAC3E,IAAI,CAAC,YAAY,GACd,EACN,eAAK,SAAS,EAAC,0CAA0C,aACtD,IAAI,CAAC,QAAQ,IAAI,CAChB,eAAM,SAAS,EAAC,iGAAiG,YAC9G,IAAI,CAAC,QAAQ,GACT,CACR,EACA,IAAI,CAAC,aAAa,IAAI,CACrB,eAAM,SAAS,EAAC,4GAA4G,sBAErH,CACR,EACA,UAAU,IAAI,CACb,eAAM,SAAS,EAAC,iGAAiG,yBAE1G,CACR,IACG,IACF,KAhDD,IAAI,CAAC,EAAE,CAiDR,CACP,CAAC;QACJ,CAAC,CAAC,GACO,CACZ,CAAC;AACJ,CAAC"}
@@ -9,7 +9,9 @@ interface PagesMapViewProps {
9
9
  /** Map of pageId → screenshot artifact path (from page states) */
10
10
  screenshotsByPageId?: Map<number, string>;
11
11
  apiUrl?: string;
12
+ /** When true, the map fills its parent's height instead of a fixed 600px box. */
13
+ fill?: boolean;
12
14
  }
13
- export declare function PagesMapView({ pages, testInteractions, runId, screenshotsByPageId, apiUrl, }: PagesMapViewProps): import("react").JSX.Element;
15
+ export declare function PagesMapView({ pages, testInteractions, runId, screenshotsByPageId, apiUrl, fill, }: PagesMapViewProps): import("react").JSX.Element;
14
16
  export {};
15
17
  //# sourceMappingURL=PagesMapView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagesMapView.d.ts","sourceRoot":"","sources":["../../../src/components/pages/PagesMapView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAkB1F,OAAO,8BAA8B,CAAC;AA6HtC,UAAU,iBAAiB;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,MAAM,GACP,EAAE,iBAAiB,+BAgOnB"}
1
+ {"version":3,"file":"PagesMapView.d.ts","sourceRoot":"","sources":["../../../src/components/pages/PagesMapView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAkB1F,OAAO,8BAA8B,CAAC;AA6HtC,UAAU,iBAAiB;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,MAAM,EACN,IAAY,GACb,EAAE,iBAAiB,+BAoOnB"}
@@ -58,7 +58,7 @@ function getPathDepth(path) {
58
58
  return 0;
59
59
  return path.split('/').filter(Boolean).length;
60
60
  }
61
- export function PagesMapView({ pages, testInteractions, runId, screenshotsByPageId, apiUrl, }) {
61
+ export function PagesMapView({ pages, testInteractions, runId, screenshotsByPageId, apiUrl, fill = false, }) {
62
62
  const { navigate } = useLocalizedNavigate();
63
63
  const r = useEnvRoutes();
64
64
  const { initialNodes, initialEdges, hiddenInteractionCount } = useMemo(() => {
@@ -226,6 +226,6 @@ export function PagesMapView({ pages, testInteractions, runId, screenshotsByPage
226
226
  if (pages.length === 0) {
227
227
  return (_jsx("div", { className: "flex h-[500px] items-center justify-center rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800", children: _jsx("p", { className: "text-gray-500 dark:text-gray-400", children: "No page connections to display. Run a scan to discover navigation flows." }) }));
228
228
  }
229
- return (_jsxs("div", { className: "space-y-2", children: [hiddenInteractionCount > 0 && (_jsxs("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: [hiddenInteractionCount, " interaction", hiddenInteractionCount === 1 ? '' : 's', " omitted (no cross-page connection)."] })), _jsx("div", { className: "h-[600px] w-full overflow-hidden rounded-lg border border-gray-200 dark:border-gray-700", children: _jsxs(ReactFlow, { nodes: nodes, edges: edges, nodeTypes: nodeTypes, edgeTypes: edgeTypes, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onNodeDoubleClick: handleNodeDoubleClick, fitView: true, className: "bg-gray-50 dark:bg-gray-900", children: [_jsx(Background, {}), _jsx(Controls, {}), _jsx(MiniMap, {})] }) })] }));
229
+ return (_jsxs("div", { className: fill ? 'flex h-full flex-col gap-2' : 'space-y-2', children: [hiddenInteractionCount > 0 && (_jsxs("p", { className: "flex-shrink-0 text-xs text-gray-500 dark:text-gray-400", children: [hiddenInteractionCount, " interaction", hiddenInteractionCount === 1 ? '' : 's', " omitted (no cross-page connection)."] })), _jsx("div", { className: `w-full overflow-hidden rounded-lg border border-gray-200 dark:border-gray-700 ${fill ? 'min-h-0 flex-1' : 'h-[600px]'}`, children: _jsxs(ReactFlow, { nodes: nodes, edges: edges, nodeTypes: nodeTypes, edgeTypes: edgeTypes, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onNodeDoubleClick: handleNodeDoubleClick, fitView: true, className: "bg-gray-50 dark:bg-gray-900", children: [_jsx(Background, {}), _jsx(Controls, {}), _jsx(MiniMap, {})] }) })] }));
230
230
  }
231
231
  //# sourceMappingURL=PagesMapView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagesMapView.js","sourceRoot":"","sources":["../../../src/components/pages/PagesMapView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PagesMapView.js","sourceRoot":"","sources":["../../../src/components/pages/PagesMapView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ interface AddButtonProps {
2
+ /** Accessible label for the add action, e.g. "New Bundle". */
3
+ label: string;
4
+ onClick: () => void;
5
+ /**
6
+ * When the add button toggles an inline form, pass the open state — the icon
7
+ * switches to a close (×) glyph while the form is open.
8
+ */
9
+ active?: boolean;
10
+ disabled?: boolean;
11
+ }
12
+ /**
13
+ * Compact primary-colored "+" icon button used for all "add object" actions
14
+ * (New Bundle / New Scenario / New Persona / …), for visual consistency.
15
+ * Switches to a "×" when `active` (its form is open).
16
+ */
17
+ export declare function AddButton({ label, onClick, active, disabled }: AddButtonProps): import("react").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=AddButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddButton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/AddButton.tsx"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAc,EAAE,QAAQ,EAAE,EAAE,cAAc,+BAcrF"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { PlusIcon, XMarkIcon } from '@heroicons/react/20/solid';
3
+ import { Button } from '@sudobility/components';
4
+ /**
5
+ * Compact primary-colored "+" icon button used for all "add object" actions
6
+ * (New Bundle / New Scenario / New Persona / …), for visual consistency.
7
+ * Switches to a "×" when `active` (its form is open).
8
+ */
9
+ export function AddButton({ label, onClick, active = false, disabled }) {
10
+ return (_jsx(Button, { type: "button", variant: "primary", size: "icon", onClick: onClick, disabled: disabled, "aria-label": active ? `Cancel ${label}` : label, title: active ? 'Cancel' : label, children: active ? _jsx(XMarkIcon, { className: "h-5 w-5" }) : _jsx(PlusIcon, { className: "h-5 w-5" }) }));
11
+ }
12
+ //# sourceMappingURL=AddButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddButton.js","sourceRoot":"","sources":["../../../src/components/ui/AddButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAchD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAkB;IACpF,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,gBACN,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAC9C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAE/B,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,GACvE,CACV,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './components/cells';
8
8
  export * from './components/data';
9
9
  export * from './components/scanner';
10
10
  export { SelectField, type SelectOption } from './components/forms/SelectField';
11
+ export { AddButton } from './components/ui/AddButton';
11
12
  export { DashboardSidebar } from './components/dashboard/DashboardSidebar';
12
13
  export { ScriptPanel } from './components/scripts/ScriptPanel';
13
14
  export { AddScenarioForm } from './components/scenarios/AddScenarioForm';
@@ -21,6 +22,7 @@ export { getPriorityConfig, type PriorityConfig } from './config/priorityConfig'
21
22
  export { formatDateTime } from './utils/formatDateTime';
22
23
  export { DashboardOverview } from './pages/DashboardOverview';
23
24
  export { StartScanPage } from './pages/StartScanPage';
25
+ export { CreateProductPage } from './pages/CreateProductPage';
24
26
  export { ScanProgressPage } from './pages/ScanProgressPage';
25
27
  export { BundlesPage } from './pages/BundlesPage';
26
28
  export { BundleDetailPage } from './pages/BundleDetailPage';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ export * from './components/cells';
19
19
  export * from './components/data';
20
20
  export * from './components/scanner';
21
21
  export { SelectField } from './components/forms/SelectField';
22
+ export { AddButton } from './components/ui/AddButton';
22
23
  export { DashboardSidebar } from './components/dashboard/DashboardSidebar';
23
24
  export { ScriptPanel } from './components/scripts/ScriptPanel';
24
25
  export { AddScenarioForm } from './components/scenarios/AddScenarioForm';
@@ -38,6 +39,7 @@ export { formatDateTime } from './utils/formatDateTime';
38
39
  // ===========================================================================
39
40
  export { DashboardOverview } from './pages/DashboardOverview';
40
41
  export { StartScanPage } from './pages/StartScanPage';
42
+ export { CreateProductPage } from './pages/CreateProductPage';
41
43
  export { ScanProgressPage } from './pages/ScanProgressPage';
42
44
  export { BundlesPage } from './pages/BundlesPage';
43
45
  export { BundleDetailPage } from './pages/BundleDetailPage';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BundleDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/BundleDetailPage.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,gBAAgB,gCAkV/B"}
1
+ {"version":3,"file":"BundleDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/BundleDetailPage.tsx"],"names":[],"mappings":"AA4BA,wBAAgB,gBAAgB,gCAyW/B"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useMemo } from 'react';
3
3
  import { useRunnerTestSurfaceBundles, useBundleSurfaces, useBundleInteractions, useBundleScenarios, useUpdateTestSurfaceBundle, useDeleteTestSurfaceBundle, useRemoveFromBundle, } from '@sudobility/testomniac_client';
4
- import { ActionButton, Button, Tabs, TabsList, TabsTrigger } from '@sudobility/components';
4
+ import { ActionButton, Button, Tabs, TabsList, TabsTrigger, ContentLayout, CardGrid, } from '@sudobility/components';
5
5
  import { SEOHead, useTestomniacApi } from '../context/config';
6
6
  import { useRouteParams, useEnvRoutes } from '../context/routing';
7
7
  import { SurfaceCell, InteractionCell, ScenarioCell } from '../components/cells';
@@ -146,7 +146,7 @@ export function BundleDetailPage() {
146
146
  { key: 'interactions', label: 'Interactions', count: interactions.length },
147
147
  { key: 'scenarios', label: 'Scenarios', count: scenarios.length },
148
148
  ];
149
- return (_jsxs("div", { className: "p-4 sm:p-6", children: [_jsx(SEOHead, { title: bundle.title, description: "", noIndex: true }), _jsx(BackLink, { label: "Bundles", onClick: () => navigate(r.bundles()) }), _jsxs("div", { className: "mb-6", children: [editing ? (_jsxs("div", { className: "space-y-3", children: [_jsx("input", { type: "text", value: editTitle, onChange: e => setEditTitle(e.target.value), className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 text-lg font-bold" }), _jsx("input", { type: "text", value: editDescription, onChange: e => setEditDescription(e.target.value), placeholder: "Description (optional)", className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 text-sm" }), error && _jsx("p", { className: "text-sm text-red-600 dark:text-red-400", children: error }), _jsxs("div", { className: "flex gap-2", children: [_jsx(ActionButton, { variant: "primary", isLoading: isUpdating, loadingText: "Saving...", onClick: handleSave, disabled: !editTitle.trim(), children: "Save" }), _jsx(Button, { variant: "outline", type: "button", onClick: () => setEditing(false), children: "Cancel" })] })] })) : (_jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: bundle.title }), bundle.description && (_jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400 mt-1", children: bundle.description }))] }), !isDiscovery && (_jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { variant: "outline", type: "button", onClick: startEdit, children: "Edit" }), _jsx(Button, { variant: "destructive-outline", type: "button", onClick: handleDelete, children: "Delete" })] }))] })), !editing && error && (_jsx("p", { className: "text-sm text-red-600 dark:text-red-400 mt-2", children: error }))] }), _jsx(Tabs, { value: tab, onValueChange: v => setTab(v), className: "mb-4", children: _jsx(TabsList, { children: tabs.map(t => (_jsxs(TabsTrigger, { value: t.key, children: [t.label, t.count > 0 && (_jsxs("span", { className: "ml-1.5 text-xs text-gray-400 dark:text-gray-500", children: ["(", t.count, ")"] }))] }, t.key))) }) }), _jsxs("div", { className: "space-y-2", children: [tab === 'surfaces' && (_jsxs(_Fragment, { children: [surfacesLoading && _jsx(LoadingState, {}), !surfacesLoading && surfaces.length === 0 && _jsx(EmptyState, { label: "surfaces" }), surfaces.map(s => (_jsx(SurfaceCell, { surface: s, onClick: () => navigate(r.testSurface(s.id)), actions: renderRemoveAction('surfaces', s.id) }, s.id)))] })), tab === 'interactions' && (_jsxs(_Fragment, { children: [interactionsLoading && _jsx(LoadingState, {}), !interactionsLoading && interactions.length === 0 && (_jsx(EmptyState, { label: "interactions" })), interactions.map(i => (_jsx(InteractionCell, { interaction: i, onClick: () => navigate(r.testInteraction(i.id)), actions: renderRemoveAction('interactions', i.id) }, i.id)))] })), tab === 'scenarios' && (_jsxs(_Fragment, { children: [scenariosLoading && _jsx(LoadingState, {}), !scenariosLoading && scenarios.length === 0 && _jsx(EmptyState, { label: "scenarios" }), scenarios.map(s => (_jsx(ScenarioCell, { scenario: s, onClick: () => navigate(r.testScenario(s.id)), actions: renderRemoveAction('scenarios', s.id) }, s.id)))] }))] })] }));
149
+ return (_jsx(ContentLayout, { header: _jsxs("div", { className: "border-b border-gray-200 bg-white px-4 pb-4 pt-4 dark:border-gray-800 dark:bg-gray-900 sm:px-6 sm:pt-6", children: [_jsx(SEOHead, { title: bundle.title, description: "", noIndex: true }), _jsx(BackLink, { label: "Bundles", onClick: () => navigate(r.bundles()) }), _jsxs("div", { className: "mb-6", children: [editing ? (_jsxs("div", { className: "space-y-3", children: [_jsx("input", { type: "text", value: editTitle, onChange: e => setEditTitle(e.target.value), className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 text-lg font-bold" }), _jsx("input", { type: "text", value: editDescription, onChange: e => setEditDescription(e.target.value), placeholder: "Description (optional)", className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 text-sm" }), error && _jsx("p", { className: "text-sm text-red-600 dark:text-red-400", children: error }), _jsxs("div", { className: "flex gap-2", children: [_jsx(ActionButton, { variant: "primary", isLoading: isUpdating, loadingText: "Saving...", onClick: handleSave, disabled: !editTitle.trim(), children: "Save" }), _jsx(Button, { variant: "outline", type: "button", onClick: () => setEditing(false), children: "Cancel" })] })] })) : (_jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: bundle.title }), bundle.description && (_jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400 mt-1", children: bundle.description }))] }), !isDiscovery && (_jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { variant: "outline", type: "button", onClick: startEdit, children: "Edit" }), _jsx(Button, { variant: "destructive-outline", type: "button", onClick: handleDelete, children: "Delete" })] }))] })), !editing && error && (_jsx("p", { className: "text-sm text-red-600 dark:text-red-400 mt-2", children: error }))] })] }), children: _jsxs("div", { className: "px-4 py-4 sm:px-6", children: [_jsx(Tabs, { value: tab, onValueChange: v => setTab(v), className: "mb-4", children: _jsx(TabsList, { children: tabs.map(t => (_jsxs(TabsTrigger, { value: t.key, children: [t.label, t.count > 0 && (_jsxs("span", { className: "ml-1.5 text-xs text-gray-400 dark:text-gray-500", children: ["(", t.count, ")"] }))] }, t.key))) }) }), _jsxs("div", { children: [tab === 'surfaces' && (_jsxs(_Fragment, { children: [surfacesLoading && _jsx(LoadingState, {}), !surfacesLoading && surfaces.length === 0 && _jsx(EmptyState, { label: "surfaces" }), surfaces.length > 0 && (_jsx(CardGrid, { children: surfaces.map(s => (_jsx(SurfaceCell, { surface: s, variant: "tile", onClick: () => navigate(r.testSurface(s.id)), actions: renderRemoveAction('surfaces', s.id) }, s.id))) }))] })), tab === 'interactions' && (_jsxs(_Fragment, { children: [interactionsLoading && _jsx(LoadingState, {}), !interactionsLoading && interactions.length === 0 && (_jsx(EmptyState, { label: "interactions" })), interactions.length > 0 && (_jsx(CardGrid, { children: interactions.map(i => (_jsx(InteractionCell, { interaction: i, variant: "tile", onClick: () => navigate(r.testInteraction(i.id)), actions: renderRemoveAction('interactions', i.id) }, i.id))) }))] })), tab === 'scenarios' && (_jsxs(_Fragment, { children: [scenariosLoading && _jsx(LoadingState, {}), !scenariosLoading && scenarios.length === 0 && _jsx(EmptyState, { label: "scenarios" }), scenarios.length > 0 && (_jsx(CardGrid, { children: scenarios.map(s => (_jsx(ScenarioCell, { scenario: s, variant: "tile", onClick: () => navigate(r.testScenario(s.id)), actions: renderRemoveAction('scenarios', s.id) }, s.id))) }))] }))] })] }) }));
150
150
  }
151
151
  function LoadingState() {
152
152
  return (_jsx("div", { className: "text-sm text-gray-400 dark:text-gray-500 py-8 text-center", children: "Loading..." }));
@@ -1 +1 @@
1
- {"version":3,"file":"BundleDetailPage.js","sourceRoot":"","sources":["../../src/pages/BundleDetailPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BundleDetailPage.js","sourceRoot":"","sources":["../../src/pages/BundleDetailPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BundlesPage.d.ts","sourceRoot":"","sources":["../../src/pages/BundlesPage.tsx"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,gCA6I1B"}
1
+ {"version":3,"file":"BundlesPage.d.ts","sourceRoot":"","sources":["../../src/pages/BundlesPage.tsx"],"names":[],"mappings":"AAuBA,wBAAgB,WAAW,gCAsJ1B"}
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { useRunnerTestSurfaceBundles, useCreateTestSurfaceBundle, } from '@sudobility/testomniac_client';
4
- import { Button, ActionButton, Card, Input, Label } from '@sudobility/components';
4
+ import { Button, ActionButton, Card, Input, Label, ContentLayout, CardGrid, } from '@sudobility/components';
5
5
  import { SEOHead, useTestomniacApi } from '../context/config';
6
+ import { AddButton } from '../components/ui/AddButton';
6
7
  import { BundleCell } from '../components/cells';
7
8
  import { useDashboardEnvironmentContext } from '../hooks/useDashboardEnvironmentContext';
8
9
  import { useEnvRoutes } from '../context/routing';
@@ -56,6 +57,6 @@ export function BundlesPage() {
56
57
  if (contextError || error) {
57
58
  return (_jsx("div", { className: "p-6", children: _jsxs("div", { className: "text-center text-red-600 dark:text-red-400 py-8", children: ["Error: ", contextError || error] }) }));
58
59
  }
59
- return (_jsxs("div", { className: "p-4 sm:p-6", children: [_jsx(SEOHead, { title: "Bundles", description: "", noIndex: true }), _jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between mb-6", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Test Bundles" }), primaryRunner && (_jsx(Button, { variant: "primary", onClick: () => setShowForm(!showForm), children: showForm ? 'Cancel' : 'New Bundle' }))] }), showForm && (_jsxs(Card, { variant: "bordered", className: "mb-6 space-y-3", children: [_jsxs("div", { children: [_jsx(Label, { className: "mb-1 block", children: "Title" }), _jsx(Input, { type: "text", value: title, onChange: e => setTitle(e.target.value), placeholder: "e.g., Checkout Flow Tests", className: "w-full" })] }), _jsxs("div", { children: [_jsx(Label, { className: "mb-1 block", children: "Description" }), _jsx(Input, { type: "text", value: description, onChange: e => setDescription(e.target.value), placeholder: "Optional description", className: "w-full" })] }), formError && _jsx("p", { className: "text-sm text-red-600 dark:text-red-400", children: formError }), _jsxs("div", { className: "flex gap-2", children: [_jsx(ActionButton, { type: "button", variant: "primary", onClick: handleCreate, disabled: !title.trim(), isLoading: isCreating, loadingText: "Creating...", children: "Create Bundle" }), _jsx(Button, { variant: "outline", type: "button", onClick: () => setShowForm(false), children: "Cancel" })] })] })), bundles.length === 0 && !showForm ? (_jsx(EmptyState, { title: "No bundles yet", description: "Bundles are created during discovery scans or can be composed manually." })) : (_jsx("div", { className: "space-y-2", children: bundles.map((bundle) => (_jsx(BundleCell, { bundle: bundle, onClick: () => navigate(r.bundle(bundle.id)) }, bundle.id))) }))] }));
60
+ return (_jsx(ContentLayout, { header: _jsxs("div", { className: "border-b border-gray-200 bg-white px-4 pb-4 pt-4 dark:border-gray-800 dark:bg-gray-900 sm:px-6 sm:pt-6", children: [_jsx(SEOHead, { title: "Bundles", description: "", noIndex: true }), _jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Test Bundles" }), primaryRunner && (_jsx(AddButton, { label: "New Bundle", active: showForm, onClick: () => setShowForm(!showForm) }))] })] }), children: _jsxs("div", { className: "px-4 py-4 sm:px-6", children: [showForm && (_jsxs(Card, { variant: "bordered", className: "mb-6 space-y-3", children: [_jsxs("div", { children: [_jsx(Label, { className: "mb-1 block", children: "Title" }), _jsx(Input, { type: "text", value: title, onChange: e => setTitle(e.target.value), placeholder: "e.g., Checkout Flow Tests", className: "w-full" })] }), _jsxs("div", { children: [_jsx(Label, { className: "mb-1 block", children: "Description" }), _jsx(Input, { type: "text", value: description, onChange: e => setDescription(e.target.value), placeholder: "Optional description", className: "w-full" })] }), formError && _jsx("p", { className: "text-sm text-red-600 dark:text-red-400", children: formError }), _jsxs("div", { className: "flex gap-2", children: [_jsx(ActionButton, { type: "button", variant: "primary", onClick: handleCreate, disabled: !title.trim(), isLoading: isCreating, loadingText: "Creating...", children: "Create Bundle" }), _jsx(Button, { variant: "outline", type: "button", onClick: () => setShowForm(false), children: "Cancel" })] })] })), bundles.length === 0 && !showForm ? (_jsx(EmptyState, { title: "No bundles yet", description: "Bundles are created during discovery scans or can be composed manually." })) : (_jsx(CardGrid, { children: bundles.map((bundle) => (_jsx(BundleCell, { bundle: bundle, variant: "tile", onClick: () => navigate(r.bundle(bundle.id)) }, bundle.id))) }))] }) }));
60
61
  }
61
62
  //# sourceMappingURL=BundlesPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BundlesPage.js","sourceRoot":"","sources":["../../src/pages/BundlesPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BundlesPage.js","sourceRoot":"","sources":["../../src/pages/BundlesPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Dashboard "Create Product" page. Mirrors the extension's scan-setup UI:
3
+ * enter a URL, pick environment / expertises / scan depth / optional login, and
4
+ * start a scan. Unlike the extension, the resulting run is created WITHOUT an
5
+ * owner (see `useCreateProductFlow`), so the server-side runner picks it up.
6
+ *
7
+ * If the URL already belongs to a product in this workspace, the page surfaces
8
+ * that and offers to open it instead of creating a duplicate.
9
+ */
10
+ export declare function CreateProductPage(): import("react").JSX.Element;
11
+ //# sourceMappingURL=CreateProductPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateProductPage.d.ts","sourceRoot":"","sources":["../../src/pages/CreateProductPage.tsx"],"names":[],"mappings":"AA+BA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,gCA+WhC"}
@@ -0,0 +1,146 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState } from 'react';
3
+ import { useQueryClient } from '@tanstack/react-query';
4
+ import { useResolveProductByUrl } from '@sudobility/testomniac_client';
5
+ import { useCreateProductFlow, useProductSelectionStore, EXPERTISE_OPTIONS, DEFAULT_EXPERTISE_SLUGS, SCAN_MODE_OPTIONS, environmentOptions, resolveEnvironmentContext, } from '@sudobility/testomniac_lib';
6
+ import { Select, SelectTrigger, SelectContent, SelectItem, SelectValue, } from '@sudobility/components';
7
+ import { useTestomniacApi } from '../context/config';
8
+ import { useRouteParams, useRoutes } from '../context/routing';
9
+ import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
10
+ const labelCls = 'block text-[11px] font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400 mb-1';
11
+ const inputCls = 'w-full rounded-md border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900 px-2.5 py-1.5 text-sm text-gray-900 dark:text-gray-100 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500/40';
12
+ /**
13
+ * Dashboard "Create Product" page. Mirrors the extension's scan-setup UI:
14
+ * enter a URL, pick environment / expertises / scan depth / optional login, and
15
+ * start a scan. Unlike the extension, the resulting run is created WITHOUT an
16
+ * owner (see `useCreateProductFlow`), so the server-side runner picks it up.
17
+ *
18
+ * If the URL already belongs to a product in this workspace, the page surfaces
19
+ * that and offers to open it instead of creating a duplicate.
20
+ */
21
+ export function CreateProductPage() {
22
+ const { entitySlug } = useRouteParams();
23
+ const routes = useRoutes();
24
+ const { navigate } = useLocalizedNavigate();
25
+ const { networkClient, token, baseUrl } = useTestomniacApi();
26
+ const queryClient = useQueryClient();
27
+ const setSelectedProductId = useProductSelectionStore(s => s.setSelectedProductId);
28
+ const [url, setUrl] = useState('');
29
+ const [debouncedUrl, setDebouncedUrl] = useState('');
30
+ const [selectedEnvironment, setSelectedEnvironment] = useState('production');
31
+ const [customEnvironmentLabel, setCustomEnvironmentLabel] = useState('');
32
+ const [selectedExpertiseSlugs, setSelectedExpertiseSlugs] = useState(DEFAULT_EXPERTISE_SLUGS);
33
+ const [scanMode, setScanMode] = useState('full');
34
+ const [continueWithLogin, setContinueWithLogin] = useState(false);
35
+ const [loginUrl, setLoginUrl] = useState('');
36
+ const [credEmail, setCredEmail] = useState('');
37
+ const [credPassword, setCredPassword] = useState('');
38
+ const [userDataJson, setUserDataJson] = useState('{}');
39
+ // Debounce the URL before the existing-product lookup fires.
40
+ useEffect(() => {
41
+ const handle = setTimeout(() => setDebouncedUrl(url.trim()), 500);
42
+ return () => clearTimeout(handle);
43
+ }, [url]);
44
+ const isValidUrl = useMemo(() => {
45
+ if (!debouncedUrl)
46
+ return false;
47
+ try {
48
+ void new URL(debouncedUrl);
49
+ return true;
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ }, [debouncedUrl]);
55
+ // Step 2: does this URL already belong to a product in the workspace?
56
+ const resolveQuery = useResolveProductByUrl(networkClient, baseUrl, token, entitySlug, isValidUrl ? debouncedUrl : '', { enabled: !!token && !!entitySlug && isValidUrl });
57
+ const existing = resolveQuery.data?.data ?? null;
58
+ const checking = resolveQuery.isFetching;
59
+ const envContext = useMemo(() => resolveEnvironmentContext(isValidUrl ? debouncedUrl : null, selectedEnvironment, customEnvironmentLabel), [isValidUrl, debouncedUrl, selectedEnvironment, customEnvironmentLabel]);
60
+ const { startScan, isSubmitting, error, setError } = useCreateProductFlow({
61
+ networkClient,
62
+ baseUrl,
63
+ token,
64
+ entityId: entitySlug,
65
+ });
66
+ const envValid = envContext.kind === 'local' || envContext.label.trim().length > 0;
67
+ const canSubmit = isValidUrl &&
68
+ !existing &&
69
+ !checking &&
70
+ !isSubmitting &&
71
+ selectedExpertiseSlugs.length > 0 &&
72
+ envValid;
73
+ function toggleExpertise(slug, checked) {
74
+ setSelectedExpertiseSlugs(prev => (checked ? [...prev, slug] : prev.filter(s => s !== slug)));
75
+ }
76
+ function openExisting() {
77
+ if (!existing)
78
+ return;
79
+ setSelectedProductId(String(existing.product.id));
80
+ navigate(routes.bundles(entitySlug, existing.testEnvironment.id));
81
+ }
82
+ /** Build the environment user-data (credentials JSON) to persist, if any. */
83
+ function buildUserData() {
84
+ if (!continueWithLogin)
85
+ return null;
86
+ let parsed = {};
87
+ if (userDataJson.trim()) {
88
+ try {
89
+ parsed = JSON.parse(userDataJson);
90
+ }
91
+ catch {
92
+ setError('Environment data is not valid JSON.');
93
+ throw new Error('invalid-json');
94
+ }
95
+ }
96
+ const credential = { ...(parsed.credential ?? {}) };
97
+ if (credEmail.trim())
98
+ credential.email = credEmail.trim();
99
+ if (credPassword)
100
+ credential.password = credPassword;
101
+ return { ...parsed, credential };
102
+ }
103
+ async function handleStart() {
104
+ setError(null);
105
+ let userData;
106
+ try {
107
+ userData = buildUserData();
108
+ }
109
+ catch {
110
+ return; // invalid JSON; error already surfaced
111
+ }
112
+ const result = await startScan({
113
+ url: url.trim(),
114
+ expertiseSlugs: selectedExpertiseSlugs,
115
+ environmentLabel: envContext.label,
116
+ environmentKind: envContext.kind,
117
+ scanMode,
118
+ continueWithLogin,
119
+ loginUrl: loginUrl.trim() || undefined,
120
+ userData,
121
+ });
122
+ if (result) {
123
+ // Select the new product so the sidebar reflects it, refresh the product
124
+ // list, and land on its Runs page where the new (pending) run appears.
125
+ setSelectedProductId(String(result.productId));
126
+ queryClient.invalidateQueries({
127
+ predicate: q => Array.isArray(q.queryKey) && q.queryKey.includes('products'),
128
+ });
129
+ navigate(routes.runs(entitySlug, result.testEnvironmentId));
130
+ }
131
+ }
132
+ return (_jsx("div", { className: "h-full overflow-y-auto", children: _jsxs("div", { className: "mx-auto max-w-2xl px-5 py-6 space-y-5", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Create Product" }), _jsx("p", { className: "mt-0.5 text-[13px] text-gray-500 dark:text-gray-400", children: "Enter a URL to scan. We'll set up the product and start a discovery run." })] }), _jsxs("div", { children: [_jsx("label", { className: labelCls, children: "URL" }), _jsx("input", { type: "text", value: url, onChange: e => setUrl(e.target.value), placeholder: "https://example.com", spellCheck: false, className: inputCls }), url.trim() && !isValidUrl && (_jsx("p", { className: "mt-1 text-[11px] text-amber-600 dark:text-amber-400", children: "Enter a full URL including https://" })), checking && (_jsx("p", { className: "mt-1 text-[11px] text-gray-400", children: "Checking for an existing product\u2026" }))] }), existing && (_jsxs("div", { className: "rounded-lg border border-amber-300 dark:border-amber-700/60 bg-amber-50 dark:bg-amber-950/30 px-3 py-3", children: [_jsxs("p", { className: "text-sm font-medium text-amber-800 dark:text-amber-300", children: ["This URL already belongs to \u201C", existing.product.title, "\u201D."] }), _jsx("p", { className: "mt-0.5 text-[12px] text-amber-700 dark:text-amber-400", children: "A product for this URL already exists in this workspace." }), _jsx("button", { type: "button", onClick: openExisting, className: "mt-2 rounded-md bg-amber-600 px-3 py-1.5 text-[12px] font-medium text-white hover:bg-amber-700", children: "Open existing product \u2192" })] })), isValidUrl && !existing && !checking && (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Environment" }), envContext.kind === 'local' ? (_jsxs("div", { className: "rounded-md border border-emerald-200 dark:border-emerald-800/60 bg-emerald-50 dark:bg-emerald-950/30 px-3 py-2 text-[12px] text-emerald-700 dark:text-emerald-300", children: ["Local environment on ", envContext.hostname] })) : (_jsxs("div", { className: "space-y-2", children: [_jsxs(Select, { value: selectedEnvironment, onValueChange: v => setSelectedEnvironment(v), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, { placeholder: "Select environment" }) }), _jsx(SelectContent, { children: environmentOptions.map(opt => (_jsx(SelectItem, { value: opt.value, children: opt.label }, opt.value))) })] }), selectedEnvironment === 'custom' && (_jsx("input", { type: "text", value: customEnvironmentLabel, onChange: e => setCustomEnvironmentLabel(e.target.value), placeholder: "Environment label", className: inputCls })), _jsxs("p", { className: "text-[11px] text-gray-500 dark:text-gray-400", children: ["Scans for ", envContext.hostname, " are stored under", ' ', _jsx("span", { className: "font-medium text-gray-700 dark:text-gray-300", children: envContext.label || 'an environment label' }), "."] })] }))] }), _jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Expertises" }), _jsx("div", { className: "space-y-1.5 rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900 px-3 py-2", children: EXPERTISE_OPTIONS.map(opt => {
133
+ const checked = selectedExpertiseSlugs.includes(opt.slug);
134
+ return (_jsxs("label", { className: "flex items-center justify-between gap-2 text-[13px] text-gray-700 dark:text-gray-300", children: [_jsxs("span", { children: [opt.label, opt.required ? ' (required)' : ''] }), _jsx("input", { type: "checkbox", checked: checked, disabled: opt.required, onChange: e => !opt.required && toggleExpertise(opt.slug, e.target.checked) })] }, opt.slug));
135
+ }) })] }), _jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Scan depth" }), _jsx("div", { className: "flex gap-1.5", children: SCAN_MODE_OPTIONS.map(opt => (_jsx("button", { type: "button", onClick: () => setScanMode(opt.value), className: [
136
+ 'flex-1 rounded-md border py-1.5 text-[12px] font-medium transition-colors',
137
+ scanMode === opt.value
138
+ ? 'border-blue-600 bg-blue-600 text-white'
139
+ : 'border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900 text-gray-600 dark:text-gray-300 hover:border-gray-400',
140
+ ].join(' '), children: opt.label }, opt.value))) }), _jsx("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: SCAN_MODE_OPTIONS.find(o => o.value === scanMode)?.description })] }), _jsxs("div", { children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-[13px] font-medium text-gray-700 dark:text-gray-300", children: [_jsx("input", { type: "checkbox", checked: continueWithLogin, onChange: e => {
141
+ setContinueWithLogin(e.target.checked);
142
+ if (!e.target.checked)
143
+ setLoginUrl('');
144
+ } }), "Continue with login"] }), continueWithLogin && (_jsxs("div", { className: "mt-2 space-y-2 rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900 px-3 py-2", children: [_jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Email" }), _jsx("input", { type: "email", value: credEmail, onChange: e => setCredEmail(e.target.value), placeholder: "user@example.com", className: inputCls })] }), _jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Password" }), _jsx("input", { type: "password", value: credPassword, onChange: e => setCredPassword(e.target.value), placeholder: "Password", className: inputCls })] }), _jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Environment settings (JSON)" }), _jsx("textarea", { value: userDataJson, onChange: e => setUserDataJson(e.target.value), rows: 5, spellCheck: false, placeholder: '{ "credential": { "email": "...", "password": "..." } }', className: `${inputCls} font-mono text-[12px]` }), _jsxs("p", { className: "mt-0.5 text-[11px] text-gray-400", children: ["The email/password above are merged into ", _jsx("code", { children: "credential" }), " on save."] })] }), _jsxs("div", { children: [_jsx("label", { className: labelCls, children: "Login URL (optional)" }), _jsx("input", { type: "text", value: loginUrl, onChange: e => setLoginUrl(e.target.value), placeholder: "https://example.com/login", className: inputCls })] })] }))] }), error && (_jsx("div", { className: "rounded-md bg-red-50 dark:bg-red-950/40 px-3 py-2 text-[12px] text-red-700 dark:text-red-300", children: error })), _jsx("button", { type: "button", onClick: handleStart, disabled: !canSubmit, className: "w-full rounded-md bg-green-600 px-3 py-2.5 text-sm font-semibold text-white hover:bg-green-700 disabled:cursor-not-allowed disabled:bg-green-600/50", children: isSubmitting ? 'Starting…' : 'Start Scanning' })] }))] }) }));
145
+ }
146
+ //# sourceMappingURL=CreateProductPage.js.map