minerva-design 1.17.2 → 1.19.0

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 (98) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/custom-elements.json +10 -6
  3. package/dist/angular/fesm2022/minerva-angular.mjs +173 -70
  4. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  5. package/dist/angular/types/minerva-angular.d.ts +33 -21
  6. package/dist/charts/core.cjs +1 -1
  7. package/dist/charts/core.d.cts +1 -0
  8. package/dist/charts/core.d.ts +1 -0
  9. package/dist/charts/core.js +22 -21
  10. package/dist/charts/engine/chart.cjs +1 -1
  11. package/dist/charts/engine/chart.cjs.map +1 -1
  12. package/dist/charts/engine/chart.js +414 -376
  13. package/dist/charts/engine/chart.js.map +1 -1
  14. package/dist/charts/engine/overlay.cjs +1 -1
  15. package/dist/charts/engine/overlay.cjs.map +1 -1
  16. package/dist/charts/engine/overlay.d.cts +5 -0
  17. package/dist/charts/engine/overlay.d.ts +5 -0
  18. package/dist/charts/engine/overlay.js +94 -69
  19. package/dist/charts/engine/overlay.js.map +1 -1
  20. package/dist/charts/engine/quadrant-card.cjs +2 -0
  21. package/dist/charts/engine/quadrant-card.cjs.map +1 -0
  22. package/dist/charts/engine/quadrant-card.d.cts +83 -0
  23. package/dist/charts/engine/quadrant-card.d.ts +83 -0
  24. package/dist/charts/engine/quadrant-card.js +154 -0
  25. package/dist/charts/engine/quadrant-card.js.map +1 -0
  26. package/dist/charts/engine/scene.cjs +1 -1
  27. package/dist/charts/engine/scene.cjs.map +1 -1
  28. package/dist/charts/engine/scene.d.cts +5 -0
  29. package/dist/charts/engine/scene.d.ts +5 -0
  30. package/dist/charts/engine/scene.js +32 -32
  31. package/dist/charts/engine/scene.js.map +1 -1
  32. package/dist/charts/engine/types.d.cts +14 -0
  33. package/dist/charts/engine/types.d.ts +14 -0
  34. package/dist/charts/index.cjs +1 -1
  35. package/dist/charts/index.js +28 -27
  36. package/dist/charts/react/Chart.cjs +1 -1
  37. package/dist/charts/react/Chart.cjs.map +1 -1
  38. package/dist/charts/react/Chart.d.cts +4 -2
  39. package/dist/charts/react/Chart.d.ts +4 -2
  40. package/dist/charts/react/Chart.js +42 -42
  41. package/dist/charts/react/Chart.js.map +1 -1
  42. package/dist/charts/react/charts.cjs +1 -1
  43. package/dist/charts/react/charts.cjs.map +1 -1
  44. package/dist/charts/react/charts.js +395 -391
  45. package/dist/charts/react/charts.js.map +1 -1
  46. package/dist/charts/react/types.d.cts +8 -2
  47. package/dist/charts/react/types.d.ts +8 -2
  48. package/dist/core/contracts.cjs +1 -1
  49. package/dist/core/contracts.cjs.map +1 -1
  50. package/dist/core/contracts.js +1 -1
  51. package/dist/core/contracts.js.map +1 -1
  52. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  53. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  54. package/dist/native/charts/src/engine/overlay.js +89 -65
  55. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  56. package/dist/native/charts/src/engine/scene.cjs +1 -1
  57. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  58. package/dist/native/charts/src/engine/scene.js +32 -32
  59. package/dist/native/charts/src/engine/scene.js.map +1 -1
  60. package/dist/react/components/QuadrantTaskBoard/QuadrantTaskBoard.cjs +1 -1
  61. package/dist/react/components/QuadrantTaskBoard/QuadrantTaskBoard.cjs.map +1 -1
  62. package/dist/react/components/QuadrantTaskBoard/QuadrantTaskBoard.js +14 -8
  63. package/dist/react/components/QuadrantTaskBoard/QuadrantTaskBoard.js.map +1 -1
  64. package/dist/react/components/QuadrantTaskBoard/quadrantTaskBoard.module.scss.cjs +1 -1
  65. package/dist/react/components/QuadrantTaskBoard/quadrantTaskBoard.module.scss.cjs.map +1 -1
  66. package/dist/react/components/QuadrantTaskBoard/quadrantTaskBoard.module.scss.js +16 -15
  67. package/dist/react/components/QuadrantTaskBoard/quadrantTaskBoard.module.scss.js.map +1 -1
  68. package/dist/react/style.css +1 -1
  69. package/dist/react/styles/quadrant-task-board.css +1 -1
  70. package/dist/taro/index.js +1521 -1496
  71. package/dist/taro/style.css +22 -0
  72. package/dist/uni/manifest.d.ts +34 -34
  73. package/dist/uni/manifest.js +34 -39
  74. package/dist/uni/style.css +22 -0
  75. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +4 -3
  76. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -1
  77. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +186 -142
  78. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  79. package/dist/vue/components/Chart/cartesian.d.ts +5 -1
  80. package/dist/vue/components/Chart/cartesian.js +2 -0
  81. package/dist/vue/components/Chart/cartesian.js.map +1 -1
  82. package/dist/vue/components/QuadrantTaskBoard/QuadrantTaskBoard.vue.js.map +1 -1
  83. package/dist/vue/components/QuadrantTaskBoard/QuadrantTaskBoard.vue_vue_type_script_setup_true_lang.js +18 -12
  84. package/dist/vue/components/QuadrantTaskBoard/QuadrantTaskBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/weapp/charts/canvas.js +48 -11
  86. package/dist/weapp/controls.wxss +22 -0
  87. package/dist/web-components/components/chart/chart.d.ts +4 -1
  88. package/dist/web-components/components/chart/chart.js +3 -1
  89. package/dist/web-components/components/chart/chart.js.map +1 -1
  90. package/dist/web-components/components/chart/charts.d.ts +34 -14
  91. package/dist/web-components/components/chart/charts.js +145 -98
  92. package/dist/web-components/components/chart/charts.js.map +1 -1
  93. package/dist/web-components/components/quadrant-task-board/quadrant-task-board.d.ts +8 -8
  94. package/dist/web-components/components/quadrant-task-board/quadrant-task-board.js +16 -12
  95. package/dist/web-components/components/quadrant-task-board/quadrant-task-board.js.map +1 -1
  96. package/dist/web-components/styles/QuadrantTaskBoard/quadrantTaskBoard.css.js +1 -1
  97. package/dist/web-components/styles/QuadrantTaskBoard/quadrantTaskBoard.css.js.map +1 -1
  98. package/package.json +1 -1
@@ -2439,6 +2439,28 @@
2439
2439
  height: 16px;
2440
2440
  flex: none;
2441
2441
  }
2442
+ /* Narrow phones (320px wide): the title comes first. The badge gives way
2443
+ (the 2 x 2 grid already places the quadrants) and the chips get tighter */
2444
+ @media (max-width: 360px) {
2445
+ .mn-quadrant-task-board__headers {
2446
+ gap: 4px;
2447
+ }
2448
+ .mn-quadrant-task-board__header {
2449
+ gap: 2px;
2450
+ padding-left: 8px;
2451
+ }
2452
+ .mn-quadrant-task-board__badge {
2453
+ display: none;
2454
+ }
2455
+ .mn-quadrant-task-board__title,
2456
+ .mn-quadrant-task-board__badge + .mn-quadrant-task-board__title {
2457
+ padding-left: 0;
2458
+ }
2459
+ .mn-quadrant-task-board__count {
2460
+ min-width: 16px;
2461
+ padding: 0 4px;
2462
+ }
2463
+ }
2442
2464
  .mn-quadrant-task-board__panel {
2443
2465
  position: relative;
2444
2466
  z-index: 1;
@@ -17,7 +17,7 @@ export declare const uniComponentManifest: readonly [{
17
17
  readonly name: "Switch";
18
18
  readonly scope: "Native checked widget with controlled rejection rollback, real size/shape/semantic-color track and thumb, custom styles and icons, bilateral or segmented labels, loading/disabled/readOnly, labels and original native change event, Enter/Space interaction and a named native switch even in segmented mode.";
19
19
  readonly limitations: readonly [];
20
- readonly tests: readonly ["src/choice-parity.test.ts", "src/switch-native-state.test.ts", "src/base-contract-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
20
+ readonly tests: readonly ["src/choice-parity.test.ts", "src/switch-native-state.test.ts", "src/base-contract-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
21
21
  readonly status: "implemented";
22
22
  readonly deviceE2E: false;
23
23
  }, {
@@ -31,14 +31,14 @@ export declare const uniComponentManifest: readonly [{
31
31
  readonly name: "Radio";
32
32
  readonly scope: "Controlled/uncontrolled numeric/string/null selection, group-owned checked/name/size/color/error/required state, labels/helper/error slots, disabled/readOnly guards and first-enabled roving keyboard navigation.";
33
33
  readonly limitations: readonly ["Selected choices expose a native named input; browser radio constraint validation and form reset semantics are not emulated."];
34
- readonly tests: readonly ["src/choice-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
34
+ readonly tests: readonly ["src/choice-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
35
35
  readonly status: "partial";
36
36
  readonly deviceE2E: false;
37
37
  }, {
38
38
  readonly name: "Textarea";
39
39
  readonly scope: "Controlled/default multiline native value including rejected draft rollback, sizes/variants, maxLength/rows/autoHeight, form inheritance, id/name/ARIA and focus/blur/confirm.";
40
40
  readonly limitations: readonly ["Native row height is expressed with theme-derived minimum height; browser resize handles are not portable."];
41
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
41
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
42
42
  readonly status: "partial";
43
43
  readonly deviceE2E: false;
44
44
  }, {
@@ -52,7 +52,7 @@ export declare const uniComponentManifest: readonly [{
52
52
  readonly name: "Rating";
53
53
  readonly scope: "Controlled score mapped to five half/full stars, 12/16/20px sizes, optional value/count, display-only img or interactive slider, hover preview, half-star touch targets, core arrow/Page/Home/End stepping with RTL and cancelable keys.";
54
54
  readonly limitations: readonly ["Native Image renders the exact theme-resolved React SVG path and clipped half fill; real-device SVG data-URI support remains unverified."];
55
- readonly tests: readonly ["src/rating-parity.test.ts", "spike/browser/overlays.spec.ts"];
55
+ readonly tests: readonly ["src/rating-parity.test.ts", "spike/h5/overlays.test.ts"];
56
56
  readonly status: "partial";
57
57
  readonly deviceE2E: false;
58
58
  }, {
@@ -87,7 +87,7 @@ export declare const uniComponentManifest: readonly [{
87
87
  readonly name: "JsonField";
88
88
  readonly scope: "Raw string controlled/default models including invalid drafts; localized blur validation, toolbar and format action, jsonc lexeme-preserving indentation/compact formatting, inherited field props, rows and textarea appearance.";
89
89
  readonly limitations: readonly [];
90
- readonly tests: readonly ["src/json-field-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
90
+ readonly tests: readonly ["src/json-field-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
91
91
  readonly status: "implemented";
92
92
  readonly deviceE2E: false;
93
93
  }, {
@@ -101,14 +101,14 @@ export declare const uniComponentManifest: readonly [{
101
101
  readonly name: "DatePicker";
102
102
  readonly scope: "YYYY-MM-DD controlled strings/null/empty, defaultValue, strict typing and lenient blur normalization, valid-date and minDate/maxDate checks, clearing, field locks, label and open/change events. Popup MonthCalendar with month navigation; update:modelValue supports v-model.";
103
103
  readonly limitations: readonly ["Native focus and popup placement need device validation."];
104
- readonly tests: readonly ["src/date-picker.test.ts", "spike/browser/date-picker.spec.ts"];
104
+ readonly tests: readonly ["src/date-picker.test.ts", "spike/h5/date-picker.test.ts"];
105
105
  readonly status: "partial";
106
106
  readonly deviceE2E: false;
107
107
  }, {
108
108
  readonly name: "TimePicker";
109
109
  readonly scope: "Typed HH:mm or HH:mm:ss, hour/minute/second steps, normalized constraints, locale labels, clear, keyboard time columns, original string change and open-change notifications; measured collision-aware popup.";
110
110
  readonly limitations: readonly [];
111
- readonly tests: readonly ["src/time-picker-parity.test.ts", "src/anchored-fields-parity.test.ts", "spike/browser/styles.spec.ts"];
111
+ readonly tests: readonly ["src/time-picker-parity.test.ts", "src/anchored-fields-parity.test.ts", "spike/h5/styles.test.ts"];
112
112
  readonly status: "implemented";
113
113
  readonly deviceE2E: false;
114
114
  }, {
@@ -199,21 +199,21 @@ export declare const uniComponentManifest: readonly [{
199
199
  readonly name: "Tabs";
200
200
  readonly scope: "Registered compound tabs or array items, automatic/manual activation, orientation/direction, looping roving keyboard focus, stable tab/panel ARIA linkage, forceMount, variants and semantic color slots.";
201
201
  readonly limitations: readonly [];
202
- readonly tests: readonly ["src/tabs-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
202
+ readonly tests: readonly ["src/tabs-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
203
203
  readonly status: "implemented";
204
204
  readonly deviceE2E: false;
205
205
  }, {
206
206
  readonly name: "PageTabs";
207
207
  readonly scope: "Controlled/uncontrolled selection, closable tabs, actions, dirty/icons/disabled, scrolling overflow arrows and active auto-scroll, onSelect callbacks and removal focus recovery.";
208
208
  readonly limitations: readonly [];
209
- readonly tests: readonly ["src/page-tabs-parity.test.ts", "spike/browser/styles.spec.ts"];
209
+ readonly tests: readonly ["src/page-tabs-parity.test.ts", "spike/h5/styles.test.ts"];
210
210
  readonly status: "implemented";
211
211
  readonly deviceE2E: false;
212
212
  }, {
213
213
  readonly name: "Menu";
214
214
  readonly scope: "Nested/group/separator/checkbox/radio items and original callbacks, controlled open, measured collision-aware popup, scoped keyboard navigation/typeahead, RTL submenu open and return focus, trigger restoration.";
215
215
  readonly limitations: readonly ["Native hosts do not expose DOM modal inert or React element cloning. Hover opens submenus and preserves a pointer grace period before closing."];
216
- readonly tests: readonly ["src/navigation-data.test.ts", "src/anchored-fields-parity.test.ts", "spike/browser/overlays.spec.ts"];
216
+ readonly tests: readonly ["src/navigation-data.test.ts", "src/anchored-fields-parity.test.ts", "spike/h5/overlays.test.ts"];
217
217
  readonly status: "partial";
218
218
  readonly deviceE2E: false;
219
219
  }, {
@@ -234,14 +234,14 @@ export declare const uniComponentManifest: readonly [{
234
234
  readonly name: "Modal";
235
235
  readonly scope: "Controlled/default dialog using the shared Drawer surface, title/description and authored heading linkage, all width sizes with responsive bottom sheet, forceMount, close label/hide action, role and modal/nonmodal semantics; cancelable outside/Escape/autofocus, busy guards, declarative/compound opener recovery.";
236
236
  readonly limitations: readonly ["Native hosts do not expose DOM inert, document-wide focus trapping or React asChild cloning."];
237
- readonly tests: readonly ["src/modal-parity.test.ts", "spike/browser/overlays.spec.ts"];
237
+ readonly tests: readonly ["src/modal-parity.test.ts", "spike/h5/overlays.test.ts"];
238
238
  readonly status: "partial";
239
239
  readonly deviceE2E: false;
240
240
  }, {
241
241
  readonly name: "Drawer";
242
242
  readonly scope: "Controlled/uncontrolled open, trigger/content slots, all sides and sizes, forceMount, modal/nonmodal outside behavior, loading guards, cancelable outside/Escape/autofocus callbacks and opener focus restoration.";
243
243
  readonly limitations: readonly ["Native hosts do not expose DOM inert, document-wide focus trapping or React asChild cloning. Native nonmodal outside interactions can call the exposed dismissOutside handle."];
244
- readonly tests: readonly ["src/drawer-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
244
+ readonly tests: readonly ["src/drawer-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA", "spike/h5/h5.test.ts: H5 lifecycle modality"];
245
245
  readonly status: "partial";
246
246
  readonly deviceE2E: false;
247
247
  }, {
@@ -255,14 +255,14 @@ export declare const uniComponentManifest: readonly [{
255
255
  readonly name: "Popover";
256
256
  readonly scope: "Controlled/default compound state; separate trigger/anchor native measurement; side/align/offset, viewport flip/shift/size, matchAnchorWidth, arrow, forceMount; cancelable dismiss/focus callbacks; resize/native polling cleanup.";
257
257
  readonly limitations: readonly ["H5 supports body Teleport, composed asChild triggers/anchors/close actions, modal focus trap, inert background and scroll locking. Native panels use fixed host geometry; native views cannot reproduce browser child cloning or document focus semantics."];
258
- readonly tests: readonly ["src/parity.test.ts: native host mount", "src/popover-parity.test.ts: behavioral parity"];
258
+ readonly tests: readonly ["src/parity.test.ts: native host mount", "src/popover-parity.test.ts: behavioral parity", "spike/h5/h5.test.ts: H5 asChild close and lifecycle modality"];
259
259
  readonly status: "partial";
260
260
  readonly deviceE2E: false;
261
261
  }, {
262
262
  readonly name: "Tooltip";
263
263
  readonly scope: "Controlled/default/imperative visibility, hover/focus/native tap, shared delay and skip context, interactive content, measured collision-aware positioning, cursor following, colors/variants/shapes/arrows/animations and labels.";
264
264
  readonly limitations: readonly ["Native trigger is a wrapper rather than React child cloning. Pointer hover and keyboard behavior depend on host input capabilities."];
265
- readonly tests: readonly ["src/tooltip-icon-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
265
+ readonly tests: readonly ["src/tooltip-icon-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
266
266
  readonly status: "partial";
267
267
  readonly deviceE2E: false;
268
268
  }, {
@@ -276,7 +276,7 @@ export declare const uniComponentManifest: readonly [{
276
276
  readonly name: "CommandDialog";
277
277
  readonly scope: "Controlled/default open, normalized/custom filtering, disabled exclusion, grouping and result caps, original-item selection, keyboard navigation and platform shortcut normalization, query reset and opener focus return.";
278
278
  readonly limitations: readonly ["Global browser keyboard shortcuts use document listeners; native hardware callers can use exposed handleShortcut. Native hosts do not expose DOM inert/focus-trap semantics."];
279
- readonly tests: readonly ["src/command-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
279
+ readonly tests: readonly ["src/command-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
280
280
  readonly status: "partial";
281
281
  readonly deviceE2E: false;
282
282
  }, {
@@ -297,7 +297,7 @@ export declare const uniComponentManifest: readonly [{
297
297
  readonly name: "VirtualList";
298
298
  readonly scope: "Real scroll viewport, maxHeight, itemHeight or first-row measurement with itemPadding, overscan, focused-row retention, loading, near-end async loadMore locking and raf/idle/immediate scheduling with cleanup.";
299
299
  readonly limitations: readonly ["DOM scroll/focus observation uses H5 APIs; native hosts use scoped selector queries and window resize hooks. Device behavior remains unverified."];
300
- readonly tests: readonly ["src/virtual-list-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
300
+ readonly tests: readonly ["src/virtual-list-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
301
301
  readonly status: "partial";
302
302
  readonly deviceE2E: false;
303
303
  }, {
@@ -346,28 +346,28 @@ export declare const uniComponentManifest: readonly [{
346
346
  readonly name: "Empty";
347
347
  readonly scope: "Localized title/description, primary/secondary action slots, size and explicit geometry, shadow, custom icon, exact theme-resolved SVG illustration and Inbox paths rendered through native Image.";
348
348
  readonly limitations: readonly ["Real-device SVG data-URI support has not been verified on every native host."];
349
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
349
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
350
350
  readonly status: "partial";
351
351
  readonly deviceE2E: false;
352
352
  }, {
353
353
  readonly name: "Skeleton";
354
354
  readonly scope: "Variants, geometry, radius/circle, loading content replacement, decorative/status semantics, pulse/wave/no-animation; text line count, height, gap and shortened final line.";
355
355
  readonly limitations: readonly [];
356
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
356
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
357
357
  readonly status: "implemented";
358
358
  readonly deviceE2E: false;
359
359
  }, {
360
360
  readonly name: "Alert";
361
361
  readonly scope: "Colors/variants/sizes, semantic status, icon/title/action/close slots, banner/elevation/radius, animations, controlled/uncontrolled collapse with labels and return focus.";
362
362
  readonly limitations: readonly [];
363
- readonly tests: readonly ["src/alert-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
363
+ readonly tests: readonly ["src/alert-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
364
364
  readonly status: "implemented";
365
365
  readonly deviceE2E: false;
366
366
  }, {
367
367
  readonly name: "Divider";
368
368
  readonly scope: "Horizontal/vertical, solid/dashed/dotted, thickness/length/spacing, label slot and text alignment, elevation and flex-item geometry.";
369
369
  readonly limitations: readonly [];
370
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
370
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
371
371
  readonly status: "implemented";
372
372
  readonly deviceE2E: false;
373
373
  }, {
@@ -465,21 +465,21 @@ export declare const uniComponentManifest: readonly [{
465
465
  readonly name: "DescriptionList";
466
466
  readonly scope: "Item labels/values or slots, columns, borders and striping.";
467
467
  readonly limitations: readonly [];
468
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
468
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
469
469
  readonly status: "implemented";
470
470
  readonly deviceE2E: false;
471
471
  }, {
472
472
  readonly name: "List";
473
473
  readonly scope: "Dividers/border/density and role; slot or array items, primary/secondary/icon/action slots, disabled activation and original item/index callbacks.";
474
474
  readonly limitations: readonly [];
475
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
475
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
476
476
  readonly status: "implemented";
477
477
  readonly deviceE2E: false;
478
478
  }, {
479
479
  readonly name: "CodeBlock";
480
480
  readonly scope: "Syntax highlighting (core highlightCode, nested text with code-token colors; language=\"auto\" detects it with detectCodeLanguage), opt-in line numbers and language label, character-range marks (nested text backgrounds, mark-click on tap), wrapped/unwrapped text, bounded scrolling maxHeight, native clipboard copy of the raw text with callbacks and localized feedback with cleanup.";
481
481
  readonly limitations: readonly [];
482
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "src/code-block.test.ts: highlighting, line numbers, language label and raw copy", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
482
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "src/code-block.test.ts: highlighting, line numbers, language label and raw copy", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
483
483
  readonly status: "implemented";
484
484
  readonly deviceE2E: false;
485
485
  }, {
@@ -500,7 +500,7 @@ export declare const uniComponentManifest: readonly [{
500
500
  readonly name: "IconButton";
501
501
  readonly scope: "Native labeled icon button with four sizes, semantic colors/variants/shapes, controlled/uncontrolled pressed, loading focusability and guards, icon slot and automatic/custom tooltip.";
502
502
  readonly limitations: readonly [];
503
- readonly tests: readonly ["src/tooltip-icon-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
503
+ readonly tests: readonly ["src/tooltip-icon-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
504
504
  readonly status: "implemented";
505
505
  readonly deviceE2E: false;
506
506
  }, {
@@ -576,7 +576,7 @@ export declare const uniComponentManifest: readonly [{
576
576
  readonly name: "DrawerContent";
577
577
  readonly scope: "Controlled/uncontrolled open, trigger/content slots, all sides and sizes, forceMount, modal/nonmodal outside behavior, loading guards, cancelable outside/Escape/autofocus callbacks and opener focus restoration.";
578
578
  readonly limitations: readonly ["Native hosts do not expose DOM inert, document-wide focus trapping or React asChild cloning. Native nonmodal outside interactions can call the exposed dismissOutside handle."];
579
- readonly tests: readonly ["src/drawer-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
579
+ readonly tests: readonly ["src/drawer-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
580
580
  readonly status: "partial";
581
581
  readonly deviceE2E: false;
582
582
  }, {
@@ -644,7 +644,7 @@ export declare const uniComponentManifest: readonly [{
644
644
  readonly name: "ListItem";
645
645
  readonly scope: "Dividers/border/density and role; slot or array items, primary/secondary/icon/action slots, disabled activation and original item/index callbacks.";
646
646
  readonly limitations: readonly [];
647
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
647
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
648
648
  readonly status: "implemented";
649
649
  readonly deviceE2E: false;
650
650
  }, {
@@ -726,7 +726,7 @@ export declare const uniComponentManifest: readonly [{
726
726
  readonly name: "RadioGroup";
727
727
  readonly scope: "Controlled/uncontrolled numeric/string/null selection, group-owned checked/name/size/color/error/required state, labels/helper/error slots, disabled/readOnly guards and first-enabled roving keyboard navigation.";
728
728
  readonly limitations: readonly ["Selected choices expose a native named input; browser radio constraint validation and form reset semantics are not emulated."];
729
- readonly tests: readonly ["src/choice-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
729
+ readonly tests: readonly ["src/choice-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
730
730
  readonly status: "partial";
731
731
  readonly deviceE2E: false;
732
732
  }, {
@@ -779,21 +779,21 @@ export declare const uniComponentManifest: readonly [{
779
779
  readonly name: "Tab";
780
780
  readonly scope: "Registered compound tabs or array items, automatic/manual activation, orientation/direction, looping roving keyboard focus, stable tab/panel ARIA linkage, forceMount, variants and semantic color slots.";
781
781
  readonly limitations: readonly [];
782
- readonly tests: readonly ["src/tabs-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
782
+ readonly tests: readonly ["src/tabs-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
783
783
  readonly status: "implemented";
784
784
  readonly deviceE2E: false;
785
785
  }, {
786
786
  readonly name: "TabList";
787
787
  readonly scope: "Registered compound tabs or array items, automatic/manual activation, orientation/direction, looping roving keyboard focus, stable tab/panel ARIA linkage, forceMount, variants and semantic color slots.";
788
788
  readonly limitations: readonly [];
789
- readonly tests: readonly ["src/tabs-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
789
+ readonly tests: readonly ["src/tabs-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
790
790
  readonly status: "implemented";
791
791
  readonly deviceE2E: false;
792
792
  }, {
793
793
  readonly name: "TabPanel";
794
794
  readonly scope: "Registered compound tabs or array items, automatic/manual activation, orientation/direction, looping roving keyboard focus, stable tab/panel ARIA linkage, forceMount, variants and semantic color slots.";
795
795
  readonly limitations: readonly [];
796
- readonly tests: readonly ["src/tabs-parity.test.ts", "spike/browser/advanced.spec.ts: real Chromium interaction and geometry"];
796
+ readonly tests: readonly ["src/tabs-parity.test.ts", "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA"];
797
797
  readonly status: "implemented";
798
798
  readonly deviceE2E: false;
799
799
  }, {
@@ -872,7 +872,7 @@ export declare const uniComponentManifest: readonly [{
872
872
  readonly name: "ConfirmDialog";
873
873
  readonly scope: "Shared Modal alertdialog with small geometry/title/description/closeLabel, real Button actions, async pending repeat lock/error, controlled cancel requests and focus recovery.";
874
874
  readonly limitations: readonly [];
875
- readonly tests: readonly ["src/context-confirm-parity.test.ts", "spike/browser/dialogs.spec.ts"];
875
+ readonly tests: readonly ["src/context-confirm-parity.test.ts", "spike/h5/dialogs.test.ts"];
876
876
  readonly status: "implemented";
877
877
  readonly deviceE2E: false;
878
878
  }, {
@@ -893,7 +893,7 @@ export declare const uniComponentManifest: readonly [{
893
893
  readonly name: "ContextMenu";
894
894
  readonly scope: "Pointer, Shift+F10/Menu-key and cancelable 700ms touch opening; size/loop/dir/labels, disabled preserves native menu, measured flip/shift, original menu items, focus return and keyboard Tab containment.";
895
895
  readonly limitations: readonly ["Native fixed positioning replaces DOM portals."];
896
- readonly tests: readonly ["src/context-confirm-parity.test.ts", "spike/browser/dialogs.spec.ts"];
896
+ readonly tests: readonly ["src/context-confirm-parity.test.ts", "spike/h5/dialogs.test.ts"];
897
897
  readonly status: "partial";
898
898
  readonly deviceE2E: false;
899
899
  }, {
@@ -914,7 +914,7 @@ export declare const uniComponentManifest: readonly [{
914
914
  readonly name: "SkeletonText";
915
915
  readonly scope: "Variants, geometry, radius/circle, loading content replacement, decorative/status semantics, pulse/wave/no-animation; text line count, height, gap and shortened final line.";
916
916
  readonly limitations: readonly [];
917
- readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction"];
917
+ readonly tests: readonly ["src/primitives-parity.test.ts: behavior and styling contracts", "spike/h5/primitives.test.ts: H5 fixture theme and interaction"];
918
918
  readonly status: "implemented";
919
919
  readonly deviceE2E: false;
920
920
  }, {
@@ -956,7 +956,7 @@ export declare const uniComponentManifest: readonly [{
956
956
  readonly name: "MonacoCodeEditor";
957
957
  readonly scope: "Optional uni/monaco H5 entry creates an injected local Monaco editor with controlled v-model, language/theme/readOnly updates, timeout/error fallback/retry and model/editor disposal. No native substitute is exported as equivalent.";
958
958
  readonly limitations: readonly ["Monaco requires browser DOM/editor workers unavailable in native mini views. JsonField and CodeBlock are separate narrower components."];
959
- readonly tests: readonly ["src/monaco.test.ts", "spike/browser/h5.spec.ts", "src/extended.test.ts: Monaco remains absent from native entry"];
959
+ readonly tests: readonly ["src/monaco.test.ts", "src/extended.test.ts: Monaco remains absent from native entry"];
960
960
  readonly status: "n/a";
961
961
  readonly deviceE2E: false;
962
962
  }];
@@ -32,7 +32,7 @@ export const uniComponentManifest = [
32
32
  "src/choice-parity.test.ts",
33
33
  "src/switch-native-state.test.ts",
34
34
  "src/base-contract-parity.test.ts",
35
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
35
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
36
36
  ],
37
37
  status: "implemented",
38
38
  deviceE2E: false,
@@ -58,7 +58,7 @@ export const uniComponentManifest = [
58
58
  ],
59
59
  tests: [
60
60
  "src/choice-parity.test.ts",
61
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
61
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
62
62
  ],
63
63
  status: "partial",
64
64
  deviceE2E: false,
@@ -71,7 +71,7 @@ export const uniComponentManifest = [
71
71
  ],
72
72
  tests: [
73
73
  "src/primitives-parity.test.ts: behavior and styling contracts",
74
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
74
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
75
75
  ],
76
76
  status: "partial",
77
77
  deviceE2E: false,
@@ -93,7 +93,7 @@ export const uniComponentManifest = [
93
93
  limitations: [
94
94
  "Native Image renders the exact theme-resolved React SVG path and clipped half fill; real-device SVG data-URI support remains unverified.",
95
95
  ],
96
- tests: ["src/rating-parity.test.ts", "spike/browser/overlays.spec.ts"],
96
+ tests: ["src/rating-parity.test.ts", "spike/h5/overlays.test.ts"],
97
97
  status: "partial",
98
98
  deviceE2E: false,
99
99
  },
@@ -152,7 +152,7 @@ export const uniComponentManifest = [
152
152
  limitations: [],
153
153
  tests: [
154
154
  "src/json-field-parity.test.ts",
155
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
155
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
156
156
  ],
157
157
  status: "implemented",
158
158
  deviceE2E: false,
@@ -174,7 +174,7 @@ export const uniComponentManifest = [
174
174
  name: "DatePicker",
175
175
  scope: "YYYY-MM-DD controlled strings/null/empty, defaultValue, strict typing and lenient blur normalization, valid-date and minDate/maxDate checks, clearing, field locks, label and open/change events. Popup MonthCalendar with month navigation; update:modelValue supports v-model.",
176
176
  limitations: ["Native focus and popup placement need device validation."],
177
- tests: ["src/date-picker.test.ts", "spike/browser/date-picker.spec.ts"],
177
+ tests: ["src/date-picker.test.ts", "spike/h5/date-picker.test.ts"],
178
178
  status: "partial",
179
179
  deviceE2E: false,
180
180
  },
@@ -185,7 +185,7 @@ export const uniComponentManifest = [
185
185
  tests: [
186
186
  "src/time-picker-parity.test.ts",
187
187
  "src/anchored-fields-parity.test.ts",
188
- "spike/browser/styles.spec.ts",
188
+ "spike/h5/styles.test.ts",
189
189
  ],
190
190
  status: "implemented",
191
191
  deviceE2E: false,
@@ -347,7 +347,7 @@ export const uniComponentManifest = [
347
347
  limitations: [],
348
348
  tests: [
349
349
  "src/tabs-parity.test.ts",
350
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
350
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
351
351
  ],
352
352
  status: "implemented",
353
353
  deviceE2E: false,
@@ -356,7 +356,7 @@ export const uniComponentManifest = [
356
356
  name: "PageTabs",
357
357
  scope: "Controlled/uncontrolled selection, closable tabs, actions, dirty/icons/disabled, scrolling overflow arrows and active auto-scroll, onSelect callbacks and removal focus recovery.",
358
358
  limitations: [],
359
- tests: ["src/page-tabs-parity.test.ts", "spike/browser/styles.spec.ts"],
359
+ tests: ["src/page-tabs-parity.test.ts", "spike/h5/styles.test.ts"],
360
360
  status: "implemented",
361
361
  deviceE2E: false,
362
362
  },
@@ -369,7 +369,7 @@ export const uniComponentManifest = [
369
369
  tests: [
370
370
  "src/navigation-data.test.ts",
371
371
  "src/anchored-fields-parity.test.ts",
372
- "spike/browser/overlays.spec.ts",
372
+ "spike/h5/overlays.test.ts",
373
373
  ],
374
374
  status: "partial",
375
375
  deviceE2E: false,
@@ -404,7 +404,7 @@ export const uniComponentManifest = [
404
404
  limitations: [
405
405
  "Native hosts do not expose DOM inert, document-wide focus trapping or React asChild cloning.",
406
406
  ],
407
- tests: ["src/modal-parity.test.ts", "spike/browser/overlays.spec.ts"],
407
+ tests: ["src/modal-parity.test.ts", "spike/h5/overlays.test.ts"],
408
408
  status: "partial",
409
409
  deviceE2E: false,
410
410
  },
@@ -416,7 +416,8 @@ export const uniComponentManifest = [
416
416
  ],
417
417
  tests: [
418
418
  "src/drawer-parity.test.ts",
419
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
419
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
420
+ "spike/h5/h5.test.ts: H5 lifecycle modality",
420
421
  ],
421
422
  status: "partial",
422
423
  deviceE2E: false,
@@ -441,6 +442,7 @@ export const uniComponentManifest = [
441
442
  tests: [
442
443
  "src/parity.test.ts: native host mount",
443
444
  "src/popover-parity.test.ts: behavioral parity",
445
+ "spike/h5/h5.test.ts: H5 asChild close and lifecycle modality",
444
446
  ],
445
447
  status: "partial",
446
448
  deviceE2E: false,
@@ -453,7 +455,7 @@ export const uniComponentManifest = [
453
455
  ],
454
456
  tests: [
455
457
  "src/tooltip-icon-parity.test.ts",
456
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
458
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
457
459
  ],
458
460
  status: "partial",
459
461
  deviceE2E: false,
@@ -474,7 +476,7 @@ export const uniComponentManifest = [
474
476
  ],
475
477
  tests: [
476
478
  "src/command-parity.test.ts",
477
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
479
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
478
480
  ],
479
481
  status: "partial",
480
482
  deviceE2E: false,
@@ -513,7 +515,7 @@ export const uniComponentManifest = [
513
515
  ],
514
516
  tests: [
515
517
  "src/virtual-list-parity.test.ts",
516
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
518
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
517
519
  ],
518
520
  status: "partial",
519
521
  deviceE2E: false,
@@ -595,7 +597,7 @@ export const uniComponentManifest = [
595
597
  ],
596
598
  tests: [
597
599
  "src/primitives-parity.test.ts: behavior and styling contracts",
598
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
600
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
599
601
  ],
600
602
  status: "partial",
601
603
  deviceE2E: false,
@@ -606,7 +608,7 @@ export const uniComponentManifest = [
606
608
  limitations: [],
607
609
  tests: [
608
610
  "src/primitives-parity.test.ts: behavior and styling contracts",
609
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
611
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
610
612
  ],
611
613
  status: "implemented",
612
614
  deviceE2E: false,
@@ -617,7 +619,7 @@ export const uniComponentManifest = [
617
619
  limitations: [],
618
620
  tests: [
619
621
  "src/alert-parity.test.ts",
620
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
622
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
621
623
  ],
622
624
  status: "implemented",
623
625
  deviceE2E: false,
@@ -628,7 +630,7 @@ export const uniComponentManifest = [
628
630
  limitations: [],
629
631
  tests: [
630
632
  "src/primitives-parity.test.ts: behavior and styling contracts",
631
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
633
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
632
634
  ],
633
635
  status: "implemented",
634
636
  deviceE2E: false,
@@ -783,7 +785,7 @@ export const uniComponentManifest = [
783
785
  limitations: [],
784
786
  tests: [
785
787
  "src/primitives-parity.test.ts: behavior and styling contracts",
786
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
788
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
787
789
  ],
788
790
  status: "implemented",
789
791
  deviceE2E: false,
@@ -794,7 +796,7 @@ export const uniComponentManifest = [
794
796
  limitations: [],
795
797
  tests: [
796
798
  "src/primitives-parity.test.ts: behavior and styling contracts",
797
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
799
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
798
800
  ],
799
801
  status: "implemented",
800
802
  deviceE2E: false,
@@ -806,7 +808,7 @@ export const uniComponentManifest = [
806
808
  tests: [
807
809
  "src/primitives-parity.test.ts: behavior and styling contracts",
808
810
  "src/code-block.test.ts: highlighting, line numbers, language label and raw copy",
809
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
811
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
810
812
  ],
811
813
  status: "implemented",
812
814
  deviceE2E: false,
@@ -837,7 +839,7 @@ export const uniComponentManifest = [
837
839
  limitations: [],
838
840
  tests: [
839
841
  "src/tooltip-icon-parity.test.ts",
840
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
842
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
841
843
  ],
842
844
  status: "implemented",
843
845
  deviceE2E: false,
@@ -952,7 +954,7 @@ export const uniComponentManifest = [
952
954
  ],
953
955
  tests: [
954
956
  "src/drawer-parity.test.ts",
955
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
957
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
956
958
  ],
957
959
  status: "partial",
958
960
  deviceE2E: false,
@@ -1034,7 +1036,7 @@ export const uniComponentManifest = [
1034
1036
  limitations: [],
1035
1037
  tests: [
1036
1038
  "src/primitives-parity.test.ts: behavior and styling contracts",
1037
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
1039
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
1038
1040
  ],
1039
1041
  status: "implemented",
1040
1042
  deviceE2E: false,
@@ -1145,7 +1147,7 @@ export const uniComponentManifest = [
1145
1147
  ],
1146
1148
  tests: [
1147
1149
  "src/choice-parity.test.ts",
1148
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
1150
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
1149
1151
  ],
1150
1152
  status: "partial",
1151
1153
  deviceE2E: false,
@@ -1210,7 +1212,7 @@ export const uniComponentManifest = [
1210
1212
  limitations: [],
1211
1213
  tests: [
1212
1214
  "src/tabs-parity.test.ts",
1213
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
1215
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
1214
1216
  ],
1215
1217
  status: "implemented",
1216
1218
  deviceE2E: false,
@@ -1221,7 +1223,7 @@ export const uniComponentManifest = [
1221
1223
  limitations: [],
1222
1224
  tests: [
1223
1225
  "src/tabs-parity.test.ts",
1224
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
1226
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
1225
1227
  ],
1226
1228
  status: "implemented",
1227
1229
  deviceE2E: false,
@@ -1232,7 +1234,7 @@ export const uniComponentManifest = [
1232
1234
  limitations: [],
1233
1235
  tests: [
1234
1236
  "src/tabs-parity.test.ts",
1235
- "spike/browser/advanced.spec.ts: real Chromium interaction and geometry",
1237
+ "spike/h5/advanced.test.ts: H5 fixture interaction and ARIA",
1236
1238
  ],
1237
1239
  status: "implemented",
1238
1240
  deviceE2E: false,
@@ -1322,10 +1324,7 @@ export const uniComponentManifest = [
1322
1324
  name: "ConfirmDialog",
1323
1325
  scope: "Shared Modal alertdialog with small geometry/title/description/closeLabel, real Button actions, async pending repeat lock/error, controlled cancel requests and focus recovery.",
1324
1326
  limitations: [],
1325
- tests: [
1326
- "src/context-confirm-parity.test.ts",
1327
- "spike/browser/dialogs.spec.ts",
1328
- ],
1327
+ tests: ["src/context-confirm-parity.test.ts", "spike/h5/dialogs.test.ts"],
1329
1328
  status: "implemented",
1330
1329
  deviceE2E: false,
1331
1330
  },
@@ -1355,10 +1354,7 @@ export const uniComponentManifest = [
1355
1354
  name: "ContextMenu",
1356
1355
  scope: "Pointer, Shift+F10/Menu-key and cancelable 700ms touch opening; size/loop/dir/labels, disabled preserves native menu, measured flip/shift, original menu items, focus return and keyboard Tab containment.",
1357
1356
  limitations: ["Native fixed positioning replaces DOM portals."],
1358
- tests: [
1359
- "src/context-confirm-parity.test.ts",
1360
- "spike/browser/dialogs.spec.ts",
1361
- ],
1357
+ tests: ["src/context-confirm-parity.test.ts", "spike/h5/dialogs.test.ts"],
1362
1358
  status: "partial",
1363
1359
  deviceE2E: false,
1364
1360
  },
@@ -1388,7 +1384,7 @@ export const uniComponentManifest = [
1388
1384
  limitations: [],
1389
1385
  tests: [
1390
1386
  "src/primitives-parity.test.ts: behavior and styling contracts",
1391
- "spike/browser/primitives.spec.ts: real Chromium geometry, theme and interaction",
1387
+ "spike/h5/primitives.test.ts: H5 fixture theme and interaction",
1392
1388
  ],
1393
1389
  status: "implemented",
1394
1390
  deviceE2E: false,
@@ -1456,7 +1452,6 @@ export const uniComponentManifest = [
1456
1452
  ],
1457
1453
  tests: [
1458
1454
  "src/monaco.test.ts",
1459
- "spike/browser/h5.spec.ts",
1460
1455
  "src/extended.test.ts: Monaco remains absent from native entry",
1461
1456
  ],
1462
1457
  status: "n/a",