@telefonica/mistica 16.65.0 → 16.67.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 (200) hide show
  1. package/css/mistica.css +1 -1
  2. package/dist/accordion.css-mistica.js +6 -6
  3. package/dist/align.css-mistica.js +1 -1
  4. package/dist/autocomplete.css-mistica.js +1 -1
  5. package/dist/avatar.css-mistica.js +1 -1
  6. package/dist/badge.css-mistica.js +1 -1
  7. package/dist/box.css-mistica.js +13 -13
  8. package/dist/boxed.css-mistica.js +24 -24
  9. package/dist/button-group.css-mistica.js +1 -1
  10. package/dist/button-layout.css-mistica.js +14 -14
  11. package/dist/button.css-mistica.js +30 -30
  12. package/dist/callout.css-mistica.js +11 -11
  13. package/dist/card-internal.css-mistica.js +15 -15
  14. package/dist/carousel.css-mistica.js +8 -8
  15. package/dist/checkbox.css-mistica.js +11 -11
  16. package/dist/chip.css-mistica.js +15 -15
  17. package/dist/circle.css-mistica.js +1 -1
  18. package/dist/community/advanced-data-card.css-mistica.js +6 -6
  19. package/dist/community/ai-card.css-mistica.js +11 -11
  20. package/dist/community/blocks.css-mistica.js +1 -1
  21. package/dist/community/cyber/example-component.css-mistica.js +1 -1
  22. package/dist/community/example-component.css-mistica.js +2 -2
  23. package/dist/community/skins/cyber-skin.d.ts +50 -25
  24. package/dist/community/skins/cyber-skin.js +971 -496
  25. package/dist/counter.css-mistica.js +1 -1
  26. package/dist/cover-hero.css-mistica.js +2 -2
  27. package/dist/credit-card-number-field.css-mistica.js +3 -3
  28. package/dist/date-field.css-mistica.js +1 -1
  29. package/dist/date-time-picker.css-mistica.js +1 -1
  30. package/dist/dialog.css-mistica.js +4 -4
  31. package/dist/divider.css-mistica.js +5 -5
  32. package/dist/double-field.css-mistica.js +2 -2
  33. package/dist/drawer.css-mistica.js +1 -1
  34. package/dist/empty-state-card.css-mistica.js +1 -1
  35. package/dist/empty-state.css-mistica.js +5 -5
  36. package/dist/fade-in.css-mistica.js +1 -1
  37. package/dist/feedback.css-mistica.js +1 -1
  38. package/dist/file-upload.css-mistica.js +7 -7
  39. package/dist/fixed-footer-layout.css-mistica.js +2 -2
  40. package/dist/form.css-mistica.js +1 -1
  41. package/dist/grid-layout.css-mistica.js +3 -3
  42. package/dist/grid.css-mistica.js +120 -120
  43. package/dist/header.css-mistica.js +1 -1
  44. package/dist/hero.css-mistica.js +2 -2
  45. package/dist/horizontal-scroll.css-mistica.js +1 -1
  46. package/dist/icon-button.css-mistica.js +53 -53
  47. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  48. package/dist/icons/icon-error.css-mistica.js +1 -1
  49. package/dist/image.css-mistica.js +11 -11
  50. package/dist/inline.css-mistica.js +9 -9
  51. package/dist/list.css-mistica.js +1 -1
  52. package/dist/loading-bar.css-mistica.js +1 -1
  53. package/dist/loading-screen.css-mistica.js +4 -4
  54. package/dist/logo.css-mistica.js +5 -5
  55. package/dist/menu.css-mistica.js +13 -13
  56. package/dist/mosaic.css-mistica.js +1 -1
  57. package/dist/navigation-bar.css-mistica.js +18 -18
  58. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  59. package/dist/package-version.js +1 -1
  60. package/dist/pin-field.css-mistica.js +1 -1
  61. package/dist/popover.css-mistica.js +1 -1
  62. package/dist/progress-bar.css-mistica.js +6 -6
  63. package/dist/radio-button.css-mistica.js +19 -19
  64. package/dist/rating.css-mistica.js +2 -2
  65. package/dist/responsive-layout.css-mistica.js +6 -6
  66. package/dist/screen-reader-only.css-mistica.js +1 -1
  67. package/dist/select.css-mistica.js +15 -15
  68. package/dist/sheet-action-row.css-mistica.js +1 -1
  69. package/dist/sheet-common.css-mistica.js +1 -1
  70. package/dist/sheet-info.css-mistica.js +1 -1
  71. package/dist/skeletons.css-mistica.js +6 -6
  72. package/dist/skins/skin-contract.css-mistica.js +684 -684
  73. package/dist/skip-link.css-mistica.js +1 -1
  74. package/dist/slider.css-mistica.js +18 -18
  75. package/dist/snackbar.css-mistica.js +4 -4
  76. package/dist/spinner.css-mistica.js +1 -1
  77. package/dist/square.css-mistica.js +1 -1
  78. package/dist/stack.css-mistica.js +5 -5
  79. package/dist/stacking-group.css-mistica.js +1 -1
  80. package/dist/stepper.css-mistica.js +2 -2
  81. package/dist/switch-component.css-mistica.js +35 -35
  82. package/dist/table.css-mistica.js +9 -9
  83. package/dist/tabs.css-mistica.js +17 -17
  84. package/dist/tag.css-mistica.js +1 -1
  85. package/dist/text-field-base.css-mistica.js +15 -15
  86. package/dist/text-field-components.css-mistica.js +3 -3
  87. package/dist/text-link.css-mistica.js +6 -6
  88. package/dist/text.css-mistica.js +6 -6
  89. package/dist/theme-context.css-mistica.js +1 -1
  90. package/dist/timeline.css-mistica.js +9 -9
  91. package/dist/timer.css-mistica.js +6 -6
  92. package/dist/tooltip.css-mistica.js +1 -1
  93. package/dist/touchable.css-mistica.js +1 -1
  94. package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
  95. package/dist/video.css-mistica.js +1 -1
  96. package/dist/video.d.ts +2 -0
  97. package/dist/video.js +40 -32
  98. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  99. package/dist-es/accordion.css-mistica.js +6 -6
  100. package/dist-es/align.css-mistica.js +1 -1
  101. package/dist-es/autocomplete.css-mistica.js +1 -1
  102. package/dist-es/avatar.css-mistica.js +1 -1
  103. package/dist-es/badge.css-mistica.js +1 -1
  104. package/dist-es/box.css-mistica.js +13 -13
  105. package/dist-es/boxed.css-mistica.js +23 -23
  106. package/dist-es/button-group.css-mistica.js +1 -1
  107. package/dist-es/button-layout.css-mistica.js +14 -14
  108. package/dist-es/button.css-mistica.js +30 -30
  109. package/dist-es/callout.css-mistica.js +11 -11
  110. package/dist-es/card-internal.css-mistica.js +15 -15
  111. package/dist-es/carousel.css-mistica.js +8 -8
  112. package/dist-es/checkbox.css-mistica.js +11 -11
  113. package/dist-es/chip.css-mistica.js +15 -15
  114. package/dist-es/circle.css-mistica.js +1 -1
  115. package/dist-es/community/advanced-data-card.css-mistica.js +6 -6
  116. package/dist-es/community/ai-card.css-mistica.js +4 -4
  117. package/dist-es/community/blocks.css-mistica.js +1 -1
  118. package/dist-es/community/cyber/example-component.css-mistica.js +1 -1
  119. package/dist-es/community/example-component.css-mistica.js +2 -2
  120. package/dist-es/community/skins/cyber-skin.js +970 -495
  121. package/dist-es/counter.css-mistica.js +1 -1
  122. package/dist-es/cover-hero.css-mistica.js +2 -2
  123. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  124. package/dist-es/date-field.css-mistica.js +1 -1
  125. package/dist-es/date-time-picker.css-mistica.js +1 -1
  126. package/dist-es/dialog.css-mistica.js +4 -4
  127. package/dist-es/divider.css-mistica.js +5 -5
  128. package/dist-es/double-field.css-mistica.js +2 -2
  129. package/dist-es/drawer.css-mistica.js +1 -1
  130. package/dist-es/empty-state-card.css-mistica.js +1 -1
  131. package/dist-es/empty-state.css-mistica.js +5 -5
  132. package/dist-es/fade-in.css-mistica.js +1 -1
  133. package/dist-es/feedback.css-mistica.js +1 -1
  134. package/dist-es/file-upload.css-mistica.js +7 -7
  135. package/dist-es/fixed-footer-layout.css-mistica.js +2 -2
  136. package/dist-es/form.css-mistica.js +1 -1
  137. package/dist-es/grid-layout.css-mistica.js +3 -3
  138. package/dist-es/grid.css-mistica.js +120 -120
  139. package/dist-es/header.css-mistica.js +1 -1
  140. package/dist-es/hero.css-mistica.js +2 -2
  141. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  142. package/dist-es/icon-button.css-mistica.js +53 -53
  143. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  144. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  145. package/dist-es/image.css-mistica.js +4 -4
  146. package/dist-es/inline.css-mistica.js +9 -9
  147. package/dist-es/list.css-mistica.js +1 -1
  148. package/dist-es/loading-bar.css-mistica.js +1 -1
  149. package/dist-es/loading-screen.css-mistica.js +4 -4
  150. package/dist-es/logo.css-mistica.js +5 -5
  151. package/dist-es/menu.css-mistica.js +13 -13
  152. package/dist-es/mosaic.css-mistica.js +1 -1
  153. package/dist-es/navigation-bar.css-mistica.js +18 -18
  154. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  155. package/dist-es/package-version.js +1 -1
  156. package/dist-es/pin-field.css-mistica.js +1 -1
  157. package/dist-es/popover.css-mistica.js +1 -1
  158. package/dist-es/progress-bar.css-mistica.js +6 -6
  159. package/dist-es/radio-button.css-mistica.js +19 -19
  160. package/dist-es/rating.css-mistica.js +2 -2
  161. package/dist-es/responsive-layout.css-mistica.js +6 -6
  162. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  163. package/dist-es/select.css-mistica.js +15 -15
  164. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  165. package/dist-es/sheet-common.css-mistica.js +1 -1
  166. package/dist-es/sheet-info.css-mistica.js +1 -1
  167. package/dist-es/skeletons.css-mistica.js +6 -6
  168. package/dist-es/skins/skin-contract.css-mistica.js +684 -684
  169. package/dist-es/skip-link.css-mistica.js +1 -1
  170. package/dist-es/slider.css-mistica.js +18 -18
  171. package/dist-es/snackbar.css-mistica.js +4 -4
  172. package/dist-es/spinner.css-mistica.js +1 -1
  173. package/dist-es/square.css-mistica.js +1 -1
  174. package/dist-es/stack.css-mistica.js +5 -5
  175. package/dist-es/stacking-group.css-mistica.js +1 -1
  176. package/dist-es/stepper.css-mistica.js +2 -2
  177. package/dist-es/style.css +1 -1
  178. package/dist-es/switch-component.css-mistica.js +35 -35
  179. package/dist-es/table.css-mistica.js +9 -9
  180. package/dist-es/tabs.css-mistica.js +17 -17
  181. package/dist-es/tag.css-mistica.js +1 -1
  182. package/dist-es/text-field-base.css-mistica.js +15 -15
  183. package/dist-es/text-field-components.css-mistica.js +3 -3
  184. package/dist-es/text-link.css-mistica.js +6 -6
  185. package/dist-es/text.css-mistica.js +6 -6
  186. package/dist-es/theme-context.css-mistica.js +1 -1
  187. package/dist-es/timeline.css-mistica.js +9 -9
  188. package/dist-es/timer.css-mistica.js +6 -6
  189. package/dist-es/tooltip.css-mistica.js +1 -1
  190. package/dist-es/touchable.css-mistica.js +1 -1
  191. package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
  192. package/dist-es/video.css-mistica.js +1 -1
  193. package/dist-es/video.js +53 -45
  194. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  195. package/doc/agents/figma-verifier.md +49 -0
  196. package/doc/figma-mcp.md +35 -0
  197. package/package.json +1 -1
  198. package/src/community/skins/cyber-skin.tsx +988 -497
  199. package/src/package-version.tsx +1 -1
  200. package/src/video.tsx +4 -0
@@ -0,0 +1,49 @@
1
+ # Figma verifier
2
+
3
+ Audit a just-completed Figma implementation. Compare the running app against the Figma design visually and
4
+ structurally, then report drift. Re-read [../figma-mcp.md](../figma-mcp.md) for the prime directive and skill
5
+ rules before starting.
6
+
7
+ ## Tasks
8
+
9
+ 1. **Fetch the Figma screenshot** via `mcp__plugin_figma_figma__get_screenshot` for the entry node.
10
+ `get_metadata` gives the frame's viewport dimensions.
11
+
12
+ 2. **Render the implementation**:
13
+
14
+ - Start the dev server in the background, piping output to a log file.
15
+ - Wait for it to start.
16
+ - Screenshot via Playwright CLI:
17
+
18
+ ```bash
19
+ npx -y playwright@1.60.0 screenshot \
20
+ --viewport-size=<width>,<height> \
21
+ --full-page \
22
+ <url> \
23
+ /tmp/verifier-actual.png
24
+ ```
25
+
26
+ Use the Figma frame's dimensions. For responsive designs, repeat per breakpoint.
27
+
28
+ 3. **Compare visually**: open `/tmp/verifier-actual.png` and compare against the Figma screenshot. Catalog
29
+ drift in: layout, spacing, typography (weight/size/line-height — compare letter forms), colors, assets
30
+ (missing / wrong), and component primitive choice.
31
+
32
+ 4. **Structural / rule check**:
33
+
34
+ - Re-drill every composite component with `get_design_context({ disableCodeConnect: true })` and compare
35
+ props against the drilled-in DOM.
36
+ - Read each implementation file. Flag: hex literals or raw `var(--...)`, manual `font-size` /
37
+ `font-family`, composite props that don't match the non-CodeConnect DOM, spacing values absent from the
38
+ DOM, mismatched semantic structure (`Stack` vs `Inline`, flat vs nested), native HTML where a Mistica
39
+ primitive exists, wrong/missing skin/font/body-background for the file's brand.
40
+
41
+ 5. **Report**. One summary line (`clean` or `N issues found, M blocking`), then a bullet list ordered by
42
+ severity. Each issue:
43
+
44
+ - `[VISUAL]` or `[RULE]` prefix
45
+ - Figma node id (or screenshot region) + what the design specifies
46
+ - File:line (for `[RULE]`) or screenshot region (for `[VISUAL]`)
47
+ - What's wrong + proposed fix
48
+
49
+ Only flag drift and rule violations — no architectural rewrites or "improvements".
package/doc/figma-mcp.md CHANGED
@@ -4,6 +4,23 @@ Mandatory reading whenever you are implementing UI from Figma through the Figma
4
4
  a `figma.com/...` URL. This file only covers the translation layer — the rest of the Mistica docs
5
5
  (`patterns.md`, `components.md`, `layout.md`, `design-tokens.md`) still apply.
6
6
 
7
+ ## Step 0: ask the user whether to run the verifier
8
+
9
+ Before fetching any Figma node or writing any code, ask the user this question exactly once (use a
10
+ structured-question tool if your harness has one):
11
+
12
+ - **Question**:
13
+ `Run the verifier loop after implementing? It compares the rendered app against Figma both visually (Playwright screenshot) and structurally (DOM + rule audit), then iterates fixes.`
14
+ - **Options**:
15
+ - **Yes, run the verifier** — recommended when fidelity matters. Catches drift the implementer can't see. It
16
+ will take more time and cost more tokens.
17
+ - **No, skip the verifier** — faster path. The agent still self-checks and reviews its work, but no
18
+ independent comparison runs.
19
+
20
+ Remember the answer for the rest of this task. **One answer covers the whole implementation — do not re-ask
21
+ per section.** If the user opted in, run the [verifier loop](#verifier-loop-run-before-declaring-done). If
22
+ they opted out, do not spawn the verifier; the self-checks are the only gate.
23
+
7
24
  ## Prime directive: read the DOM verbatim
8
25
 
9
26
  The Figma MCP response gives you two things:
@@ -134,3 +151,21 @@ Before closing out a section always:
134
151
 
135
152
  If you can't check an item off against the DOM, re-read the DOM (with `disableCodeConnect: true` if the node
136
153
  is CodeConnect-mapped) before committing the value.
154
+
155
+ ## Verifier loop (run before declaring done)
156
+
157
+ Skip if the user opted out in [Step 0](#step-0-ask-the-user-whether-to-run-the-verifier).
158
+
159
+ Spawn a **new** subagent (via your harness's subagent mechanism — e.g. Claude's `Agent` tool with
160
+ `subagent_type: general-purpose`, Codex's equivalent) pointed at
161
+ [agents/figma-verifier.md](./agents/figma-verifier.md). Never reuse a subagent across iterations. Pass in the
162
+ prompt:
163
+
164
+ - Figma `fileKey` and entry `nodeId`
165
+ - Implementation file paths you wrote or edited
166
+ - Local assets directory
167
+ - Dev-server command and URL (check `package.json`)
168
+
169
+ If the verifier reports clean, done. Otherwise fix the cited issues — each fix justified by Figma DOM or
170
+ screenshot — and re-run with a fresh subagent. Stop after clean, 3 iterations, or out-of-scope issues (missing
171
+ tokens/assets, designer clarification — surface these instead of fudging).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telefonica/mistica",
3
- "version": "16.65.0",
3
+ "version": "16.67.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",