@birdapi/velinstyle 1.1.0 → 1.2.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 (308) hide show
  1. package/README.de.md +87 -162
  2. package/README.md +188 -119
  3. package/cli/blueprint.js +98 -5
  4. package/cli/blueprints/app-chrome.html +18 -0
  5. package/cli/blueprints/benefits-grid.html +9 -0
  6. package/cli/blueprints/bottom-nav-mobile.html +2 -1
  7. package/cli/blueprints/cookie-consent.html +1 -1
  8. package/cli/blueprints/cta-band.html +6 -0
  9. package/cli/blueprints/faq-section.html +18 -0
  10. package/cli/blueprints/filter-bar.html +4 -4
  11. package/cli/blueprints/form-contact.html +6 -5
  12. package/cli/blueprints/hero-section.html +3 -3
  13. package/cli/blueprints/notification-center.html +1 -1
  14. package/cli/blueprints/onboarding.html +2 -1
  15. package/cli/blueprints/ops-console.html +29 -0
  16. package/cli/blueprints/pricing-band.html +37 -0
  17. package/cli/blueprints/process-steps.html +10 -0
  18. package/cli/blueprints/services-grid.html +9 -0
  19. package/cli/blueprints/settings-panel.html +8 -6
  20. package/cli/blueprints/split-hero.html +25 -0
  21. package/cli/blueprints/testimonials.html +8 -0
  22. package/cli/blueprints/trust-bar.html +10 -0
  23. package/cli/cli-manifest.json +81 -17
  24. package/cli/contrast-utils.js +97 -0
  25. package/cli/create.js +370 -0
  26. package/cli/docgen/extract-attributes.js +126 -10
  27. package/cli/docgen/extract-cli.js +3 -2
  28. package/cli/docgen/extract-components.js +61 -2
  29. package/cli/docgen/extract-utilities.js +10 -10
  30. package/cli/doctor.js +119 -0
  31. package/cli/index.js +531 -44
  32. package/cli/meta.js +84 -1
  33. package/cli/perf-audit.js +15 -2
  34. package/cli/prompt-engine.js +243 -0
  35. package/cli/review.js +268 -0
  36. package/cli/scaffold.js +119 -4
  37. package/cli/scanner-rules-data.js +7 -0
  38. package/cli/scanner.js +357 -4
  39. package/cli/serve.js +81 -0
  40. package/cli/skills.js +223 -0
  41. package/cli/wc-api.js +89 -0
  42. package/cli/workflow.js +42 -0
  43. package/components/index.js +2 -0
  44. package/components/runtime/component-loaders.js +2 -0
  45. package/components/velin-accordion.js +62 -13
  46. package/components/velin-bottom-nav.js +10 -0
  47. package/components/velin-calendar.js +212 -0
  48. package/components/velin-command.js +18 -2
  49. package/components/velin-data-table.js +78 -1
  50. package/components/velin-dialog.js +4 -1
  51. package/components/velin-drawer.js +2 -4
  52. package/components/velin-file-dropzone.js +162 -0
  53. package/components/velin-icon.js +22 -1
  54. package/components/velin-lightbox.js +5 -3
  55. package/components/velin-modal.js +2 -4
  56. package/components/velin-search.js +1 -1
  57. package/components/velin-sheet.js +2 -4
  58. package/core/a11y/component-contracts.json +20 -3
  59. package/core/meta/build.js +125 -5
  60. package/core/meta/design-constraints/contact.json +9 -0
  61. package/core/meta/design-constraints/faq.json +9 -0
  62. package/core/meta/design-constraints/hero.json +13 -0
  63. package/core/meta/knowledge/components.json +622 -0
  64. package/core/meta/knowledge/tokens.json +282 -0
  65. package/core/meta/pages/registry.json +294 -0
  66. package/core/meta/schema.js +3 -1
  67. package/core/meta/sections/registry.json +185 -0
  68. package/dist/chunks/{attributes-STYCS3O5.js → attributes-A423NX5J.js} +3 -3
  69. package/dist/chunks/{attributes-353XDOAX.js → attributes-F6UPIEVP.js} +1 -1
  70. package/dist/chunks/{attributes-ADOKLKA7.js → attributes-GLYXGGAL.js} +3 -3
  71. package/dist/chunks/{attributes-TPANLMLF.js → attributes-UFTYOSAU.js} +3 -3
  72. package/dist/chunks/attributes-XGLXLR2T.js +391 -0
  73. package/dist/chunks/attributes-YF4NI2QS.js +391 -0
  74. package/dist/chunks/browser-AUABBYUK.js +1544 -0
  75. package/dist/chunks/{chunk-RSMRR27R.js → chunk-2LSKX57P.js} +12 -10
  76. package/dist/chunks/{chunk-IEHKRARD.js → chunk-2TGCVDUL.js} +11 -9
  77. package/dist/chunks/{chunk-SRL6EWHP.js → chunk-5JWGUAPC.js} +17 -13
  78. package/dist/chunks/chunk-7YSO2OQ2.js +113 -0
  79. package/dist/chunks/{chunk-QVHYL3R4.js → chunk-BHR3ZG6U.js} +6 -6
  80. package/dist/chunks/{chunk-J472ERN2.js → chunk-JMSIHEYX.js} +15 -4
  81. package/dist/chunks/{chunk-MKZP2TBH.js → chunk-L7ZGUU4D.js} +2 -2
  82. package/dist/chunks/chunk-TUGIPKW5.js +113 -0
  83. package/dist/chunks/{highlight-GJHHV4KM.js → highlight-M2ELQNYK.js} +1 -1
  84. package/dist/chunks/runtime-entry.js +1 -1
  85. package/dist/chunks/{velin-accordion-FBIPAEXG.js → velin-accordion-WSY6BMLA.js} +64 -10
  86. package/dist/chunks/{velin-bottom-nav-7GEMPIM6.js → velin-bottom-nav-5RVRNGIP.js} +25 -0
  87. package/dist/chunks/{velin-bottom-nav-N3DFQR66.js → velin-bottom-nav-N5F4UO2I.js} +26 -1
  88. package/dist/chunks/velin-calendar-OFE6THUD.js +210 -0
  89. package/dist/chunks/velin-calendar-PGVNJTXK.js +217 -0
  90. package/dist/chunks/velin-calendar-XC7JRDSH.js +217 -0
  91. package/dist/chunks/{velin-code-block-CIAURDRJ.js → velin-code-block-ZGWG7JI5.js} +1 -1
  92. package/dist/chunks/{velin-combobox-NXS4QB4R.js → velin-combobox-56V2ZWT5.js} +1 -1
  93. package/dist/chunks/{velin-command-ONKO2A3J.js → velin-command-2HO2EKR6.js} +29 -2
  94. package/dist/chunks/{velin-command-TMLSRGIU.js → velin-command-ZJSLPK7B.js} +30 -3
  95. package/dist/chunks/{velin-copy-NYDBOKXT.js → velin-copy-XDQSV2XU.js} +1 -1
  96. package/dist/chunks/{velin-countdown-4ZVDGK4R.js → velin-countdown-V4Z5MA63.js} +1 -1
  97. package/dist/chunks/velin-data-table-UVR42UUM.js +372 -0
  98. package/dist/chunks/{velin-dialog-GTTZI564.js → velin-dialog-3YK2RPRV.js} +9 -2
  99. package/dist/chunks/{velin-dialog-ELFOZIXZ.js → velin-dialog-S24KAP4S.js} +3 -1
  100. package/dist/chunks/{velin-drawer-BE6TYN3H.js → velin-drawer-5PNU624J.js} +2 -4
  101. package/dist/chunks/{velin-drawer-DLL2GLT6.js → velin-drawer-CCM6S25D.js} +3 -5
  102. package/dist/chunks/{velin-email-RBX6ZR4S.js → velin-email-TNFONXPW.js} +1 -1
  103. package/dist/chunks/velin-file-dropzone-QRGF2JNA.js +154 -0
  104. package/dist/chunks/velin-file-dropzone-XIZMJ3NB.js +154 -0
  105. package/dist/chunks/{velin-icon-7M76DOPB.js → velin-icon-A6NCXGUK.js} +59 -17
  106. package/dist/chunks/{velin-icon-ZTSKUOVN.js → velin-icon-EC4B5XCM.js} +18 -5
  107. package/dist/chunks/{velin-lightbox-6E7CAATP.js → velin-lightbox-FFK4TUUP.js} +7 -6
  108. package/dist/chunks/{velin-lightbox-NXA3U2FM.js → velin-lightbox-P725FLTY.js} +5 -4
  109. package/dist/chunks/{velin-menubar-J66JXRWW.js → velin-menubar-6I2LM5HL.js} +1 -1
  110. package/dist/chunks/{velin-modal-5HYNNNUI.js → velin-modal-ICTMGRSU.js} +7 -8
  111. package/dist/chunks/{velin-modal-AEOTZ67O.js → velin-modal-JBNODH7D.js} +2 -4
  112. package/dist/chunks/{velin-popover-T72HK3DF.js → velin-popover-WZG2GHBL.js} +25 -4
  113. package/dist/chunks/{velin-rating-N4DI2XNL.js → velin-rating-QBBYRRBU.js} +1 -1
  114. package/dist/chunks/{velin-search-7B4KJ6TX.js → velin-search-B3L6J2RP.js} +2 -2
  115. package/dist/chunks/{velin-search-2XRQFBCS.js → velin-search-L3UG6NDQ.js} +5 -4
  116. package/dist/chunks/{velin-secure-field-6PV7RZDJ.js → velin-secure-field-DGYMP7OK.js} +1 -1
  117. package/dist/chunks/{velin-segmented-control-GYD5BIXQ.js → velin-segmented-control-P74GJPAR.js} +1 -1
  118. package/dist/chunks/{velin-sheet-R2Y67X6H.js → velin-sheet-M5GZZD7G.js} +2 -4
  119. package/dist/chunks/{velin-sheet-OUK6572T.js → velin-sheet-X7RXIWKV.js} +3 -5
  120. package/dist/chunks/{velin-stepper-X54WGHDG.js → velin-stepper-4YQJUHPC.js} +12 -5
  121. package/dist/chunks/{velin-toast-OMMOA2DK.js → velin-toast-UG5LWTG2.js} +5 -1
  122. package/dist/chunks/{velin-tooltip-BDHGRTQB.js → velin-tooltip-ZDH5SDLU.js} +1 -1
  123. package/dist/llms.txt +29 -7
  124. package/dist/search-index.json +156 -10
  125. package/dist/velin-agent.json +3973 -28
  126. package/dist/velinstyle-components.iife.js +1211 -284
  127. package/dist/velinstyle-components.js +1213 -284
  128. package/dist/velinstyle-components.min.js +266 -118
  129. package/dist/velinstyle.css +252 -67
  130. package/dist/velinstyle.d.ts +2 -0
  131. package/dist/velinstyle.min.css +1 -1
  132. package/package.json +20 -6
  133. package/packages/skill-engine/README.md +24 -0
  134. package/packages/skill-engine/package.json +7 -0
  135. package/packages/skill-engine/src/catalog.js +29 -0
  136. package/packages/skill-engine/src/index.js +5 -0
  137. package/packages/skill-engine/src/install.js +69 -0
  138. package/packages/skill-engine/src/registry.js +27 -0
  139. package/packages/skill-engine/src/resolve.js +68 -0
  140. package/packages/skill-engine/src/validate.js +40 -0
  141. package/packages/velinstyle-skills/README.md +6 -0
  142. package/packages/velinstyle-skills/adapter.json +8 -0
  143. package/packages/velinstyle-skills/bundles/landing-starter.bundle.yaml +12 -0
  144. package/packages/velinstyle-skills/bundles/review-suite.bundle.yaml +11 -0
  145. package/packages/velinstyle-skills/catalog.json +1004 -0
  146. package/packages/velinstyle-skills/graphs/component-ship.graph.yaml +14 -0
  147. package/packages/velinstyle-skills/graphs/landingpage.graph.yaml +21 -0
  148. package/packages/velinstyle-skills/graphs/release-gate.graph.yaml +15 -0
  149. package/packages/velinstyle-skills/index.js +22 -0
  150. package/packages/velinstyle-skills/package.json +7 -0
  151. package/packages/velinstyle-skills/packs/accessibility.pack.yaml +9 -0
  152. package/packages/velinstyle-skills/packs/design.pack.yaml +10 -0
  153. package/packages/velinstyle-skills/packs/documentation.pack.yaml +8 -0
  154. package/packages/velinstyle-skills/packs/enterprise.pack.yaml +10 -0
  155. package/packages/velinstyle-skills/packs/frontend.pack.yaml +10 -0
  156. package/packages/velinstyle-skills/packs/review.pack.yaml +9 -0
  157. package/packages/velinstyle-skills/projects/admin-panel.project.yaml +12 -0
  158. package/packages/velinstyle-skills/projects/blog.project.yaml +11 -0
  159. package/packages/velinstyle-skills/projects/documentation-portal.project.yaml +13 -0
  160. package/packages/velinstyle-skills/projects/ecommerce-shop.project.yaml +12 -0
  161. package/packages/velinstyle-skills/projects/landing-page.project.yaml +12 -0
  162. package/packages/velinstyle-skills/projects/laravel-dashboard.project.yaml +12 -0
  163. package/packages/velinstyle-skills/projects/marketing-website.project.yaml +14 -0
  164. package/packages/velinstyle-skills/projects/portfolio.project.yaml +12 -0
  165. package/packages/velinstyle-skills/registry.json +142 -0
  166. package/packages/velinstyle-skills/scripts/generate-assets.mjs +163 -0
  167. package/packages/velinstyle-skills/skills/velin-a11y-focus-keyboard/SKILL.md +57 -0
  168. package/packages/velinstyle-skills/skills/velin-a11y-page-checklist/SKILL.md +57 -0
  169. package/packages/velinstyle-skills/skills/velin-a11y-scan-fix/SKILL.md +57 -0
  170. package/packages/velinstyle-skills/skills/velin-ai-agent-briefing/SKILL.md +57 -0
  171. package/packages/velinstyle-skills/skills/velin-ai-plan-scaffold-review/SKILL.md +57 -0
  172. package/packages/velinstyle-skills/skills/velin-ai-skill-authoring/SKILL.md +57 -0
  173. package/packages/velinstyle-skills/skills/velin-components-accessibility-map/SKILL.md +57 -0
  174. package/packages/velinstyle-skills/skills/velin-components-api-contract/SKILL.md +57 -0
  175. package/packages/velinstyle-skills/skills/velin-components-recipe/SKILL.md +57 -0
  176. package/packages/velinstyle-skills/skills/velin-components-select-compose/SKILL.md +57 -0
  177. package/packages/velinstyle-skills/skills/velin-design-hero-compose/SKILL.md +57 -0
  178. package/packages/velinstyle-skills/skills/velin-design-section-rhythm/SKILL.md +57 -0
  179. package/packages/velinstyle-skills/skills/velin-design-surface-roles/SKILL.md +57 -0
  180. package/packages/velinstyle-skills/skills/velin-dev-component-wire/SKILL.md +57 -0
  181. package/packages/velinstyle-skills/skills/velin-dev-page-scaffold/SKILL.md +57 -0
  182. package/packages/velinstyle-skills/skills/velin-dev-plan-first/SKILL.md +57 -0
  183. package/packages/velinstyle-skills/skills/velin-docs-component-guide/SKILL.md +57 -0
  184. package/packages/velinstyle-skills/skills/velin-docs-generate-api/SKILL.md +57 -0
  185. package/packages/velinstyle-skills/skills/velin-dx-doctor-setup/SKILL.md +57 -0
  186. package/packages/velinstyle-skills/skills/velin-dx-project-init/SKILL.md +57 -0
  187. package/packages/velinstyle-skills/skills/velin-migration-legacy-wc/SKILL.md +57 -0
  188. package/packages/velinstyle-skills/skills/velin-migration-prefix-classes/SKILL.md +57 -0
  189. package/packages/velinstyle-skills/skills/velin-motion-reduced-safe/SKILL.md +57 -0
  190. package/packages/velinstyle-skills/skills/velin-motion-reveal-feedback/SKILL.md +57 -0
  191. package/packages/velinstyle-skills/skills/velin-perf-audit-fix/SKILL.md +57 -0
  192. package/packages/velinstyle-skills/skills/velin-perf-runtime-tree-shake/SKILL.md +57 -0
  193. package/packages/velinstyle-skills/skills/velin-release-changelog-sync/SKILL.md +57 -0
  194. package/packages/velinstyle-skills/skills/velin-release-meta-rebuild/SKILL.md +57 -0
  195. package/packages/velinstyle-skills/skills/velin-review-conversion-hero/SKILL.md +57 -0
  196. package/packages/velinstyle-skills/skills/velin-review-page-gate/SKILL.md +57 -0
  197. package/packages/velinstyle-skills/skills/velin-review-seo-meta/SKILL.md +57 -0
  198. package/packages/velinstyle-skills/skills/velin-security-sanitize-html/SKILL.md +57 -0
  199. package/packages/velinstyle-skills/skills/velin-security-scan-pii/SKILL.md +57 -0
  200. package/packages/velinstyle-skills/skills/velin-testing-a11y-suite/SKILL.md +57 -0
  201. package/packages/velinstyle-skills/skills/velin-testing-visual-smoke/SKILL.md +57 -0
  202. package/packages/velinstyle-skills/skills/velin-themes-apply-token/SKILL.md +57 -0
  203. package/packages/velinstyle-skills/skills/velin-themes-contrast-check/SKILL.md +57 -0
  204. package/packages/velinstyle-skills/skills/velin-utilities-layout-apply/SKILL.md +57 -0
  205. package/packages/velinstyle-skills/skills/velin-utilities-prefix-fix/SKILL.md +57 -0
  206. package/packages/velinstyle-skills/skills/velin-utilities-token-map/SKILL.md +57 -0
  207. package/packages/velinstyle-skills/templates/admin-panel.template.yaml +12 -0
  208. package/packages/velinstyle-skills/templates/blog.template.yaml +12 -0
  209. package/packages/velinstyle-skills/templates/documentation-portal.template.yaml +12 -0
  210. package/packages/velinstyle-skills/templates/ecommerce-shop.template.yaml +13 -0
  211. package/packages/velinstyle-skills/templates/landing-page.template.yaml +12 -0
  212. package/packages/velinstyle-skills/templates/laravel-dashboard.template.yaml +11 -0
  213. package/packages/velinstyle-skills/templates/marketing-website.template.yaml +13 -0
  214. package/packages/velinstyle-skills/templates/portfolio.template.yaml +12 -0
  215. package/schemas/component-knowledge.schema.json +33 -0
  216. package/schemas/design-constraint.schema.json +15 -0
  217. package/schemas/design-intelligence.schema.json +19 -0
  218. package/schemas/design-rule.schema.json +19 -0
  219. package/schemas/page-template.schema.json +24 -0
  220. package/schemas/review-report.schema.json +36 -0
  221. package/schemas/section.schema.json +22 -0
  222. package/schemas/skill-bundle.schema.json +15 -0
  223. package/schemas/skill-graph.schema.json +25 -0
  224. package/schemas/skill-pack.schema.json +14 -0
  225. package/schemas/skill-project.schema.json +16 -0
  226. package/schemas/skill-record.schema.json +27 -0
  227. package/schemas/skill-registry.schema.json +17 -0
  228. package/schemas/skill-template.schema.json +17 -0
  229. package/schemas/token-graph.schema.json +27 -0
  230. package/schemas/utility.schema.json +166 -0
  231. package/src/components/alert.css +22 -1
  232. package/src/components/calendar-dropzone.css +5 -0
  233. package/src/layout/app-shell.css +33 -0
  234. package/src/tokens/shadow.css +13 -0
  235. package/src/utilities/border.css +2 -0
  236. package/src/utilities/display.css +1 -24
  237. package/src/utilities/responsive.css +16 -1
  238. package/src/utilities/spacing.css +32 -0
  239. package/src/velinstyle.css +2 -0
  240. package/dist/chunks/attributes-3BZLI7XF.js +0 -364
  241. package/dist/chunks/attributes-4N5JP4CG.js +0 -364
  242. package/dist/chunks/attributes-5Q2WXGRC.js +0 -374
  243. package/dist/chunks/attributes-AIR7SVLK.js +0 -364
  244. package/dist/chunks/attributes-BGRN5XZO.js +0 -364
  245. package/dist/chunks/attributes-BVSQAYLR.js +0 -364
  246. package/dist/chunks/attributes-CDYFUY7Y.js +0 -364
  247. package/dist/chunks/attributes-JMYJZBPE.js +0 -364
  248. package/dist/chunks/attributes-R5JY3X4O.js +0 -374
  249. package/dist/chunks/attributes-TNSPQTHX.js +0 -374
  250. package/dist/chunks/chunk-2354NEBP.js +0 -109
  251. package/dist/chunks/chunk-2VNA7G7S.js +0 -109
  252. package/dist/chunks/chunk-AQLRJSGG.js +0 -109
  253. package/dist/chunks/chunk-EWPSDMQT.js +0 -109
  254. package/dist/chunks/chunk-LA7264K4.js +0 -85
  255. package/dist/chunks/chunk-QTJJ3DPO.js +0 -109
  256. package/dist/chunks/chunk-RZQVWFHW.js +0 -109
  257. package/dist/chunks/chunk-U4XHMZ7D.js +0 -109
  258. package/dist/chunks/chunk-V5YIUA6G.js +0 -109
  259. package/dist/chunks/chunk-XIET2VSZ.js +0 -109
  260. package/dist/chunks/chunk-XYLJ2GCB.js +0 -205
  261. package/dist/chunks/chunk-ZPSPKUYD.js +0 -109
  262. package/dist/chunks/highlight-XTHRKBA3.js +0 -37
  263. package/dist/chunks/velin-bottom-nav-2N2TYWOF.js +0 -86
  264. package/dist/chunks/velin-carousel-Y5VCOABZ.js +0 -213
  265. package/dist/chunks/velin-code-block-ASUBTAQV.js +0 -119
  266. package/dist/chunks/velin-code-block-TSUKPY4C.js +0 -123
  267. package/dist/chunks/velin-code-block-Y6CM726Q.js +0 -119
  268. package/dist/chunks/velin-combobox-2KDTCQ7N.js +0 -155
  269. package/dist/chunks/velin-command-M7RNHUPR.js +0 -136
  270. package/dist/chunks/velin-copy-T5KDTDXP.js +0 -81
  271. package/dist/chunks/velin-countdown-5XSTN3BH.js +0 -101
  272. package/dist/chunks/velin-counter-ISCTEAHI.js +0 -118
  273. package/dist/chunks/velin-dialog-D2GUHSCD.js +0 -144
  274. package/dist/chunks/velin-dialog-IJLFDXAJ.js +0 -144
  275. package/dist/chunks/velin-dialog-TNS3WXMB.js +0 -144
  276. package/dist/chunks/velin-drawer-MJS6WCF7.js +0 -130
  277. package/dist/chunks/velin-email-N5B5ZYTE.js +0 -90
  278. package/dist/chunks/velin-icon-KZO3IEHG.js +0 -164
  279. package/dist/chunks/velin-lightbox-I75U6JF4.js +0 -140
  280. package/dist/chunks/velin-lightbox-QOTB4PRL.js +0 -140
  281. package/dist/chunks/velin-lightbox-UCD6N7HF.js +0 -140
  282. package/dist/chunks/velin-live-dot-XHUZCIDZ.js +0 -67
  283. package/dist/chunks/velin-menubar-SFEXJE56.js +0 -86
  284. package/dist/chunks/velin-modal-2HOBXE6F.js +0 -176
  285. package/dist/chunks/velin-modal-GLI2XZZB.js +0 -176
  286. package/dist/chunks/velin-popover-EXINRIGJ.js +0 -145
  287. package/dist/chunks/velin-popover-OXX7MRZ6.js +0 -145
  288. package/dist/chunks/velin-popover-YKCCROJG.js +0 -145
  289. package/dist/chunks/velin-rating-XRQJV4LO.js +0 -91
  290. package/dist/chunks/velin-scroll-top-F2FCZNYD.js +0 -58
  291. package/dist/chunks/velin-search-4YHJWYSS.js +0 -556
  292. package/dist/chunks/velin-search-LWHY23Q5.js +0 -474
  293. package/dist/chunks/velin-secure-field-H7FSBUJW.js +0 -95
  294. package/dist/chunks/velin-segmented-control-PQX6LKOJ.js +0 -109
  295. package/dist/chunks/velin-sheet-3OGI4HD7.js +0 -119
  296. package/dist/chunks/velin-sparkline-GVEANJVW.js +0 -184
  297. package/dist/chunks/velin-sparkline-KDA3GQAN.js +0 -162
  298. package/dist/chunks/velin-stepper-2ZIHLKGM.js +0 -141
  299. package/dist/chunks/velin-stepper-FYEUEWE6.js +0 -141
  300. package/dist/chunks/velin-stepper-wc-QU3KRVQR.js +0 -133
  301. package/dist/chunks/velin-theme-toggle-BNNS7WLV.js +0 -285
  302. package/dist/chunks/velin-theme-toggle-NO7V4TWI.js +0 -285
  303. package/dist/chunks/velin-theme-toggle-QELCJM2Q.js +0 -291
  304. package/dist/chunks/velin-toast-RCZ4CSUC.js +0 -109
  305. package/dist/chunks/velin-toast-WEUBTJG6.js +0 -109
  306. package/dist/chunks/velin-tooltip-664IOHZA.js +0 -112
  307. package/dist/chunks/velin-tooltip-wc-LXDVT6DE.js +0 -103
  308. package/dist/chunks/worker-client-R6DBYPFT.js +0 -46
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  escapeHTMLAttribute,
3
3
  sanitizeSearchUrl
4
- } from "./chunk-RDE3QE7Z.js";
4
+ } from "./chunk-L7ZGUU4D.js";
5
5
 
6
6
  // core/search/types.js
7
7
  var SEARCH_CATEGORIES = (
@@ -284,7 +284,7 @@ function createSearch(config = {}) {
284
284
  async function getWorker() {
285
285
  if (!wantWorker || workerClient) return workerClient;
286
286
  if (typeof Worker === "undefined") return null;
287
- const { createSearchWorker } = await import("./worker-client-R6DBYPFT.js");
287
+ const { createSearchWorker } = await import("./worker-client-MPT7PNQ4.js");
288
288
  workerClient = createSearchWorker(config.workerUrl);
289
289
  return workerClient;
290
290
  }
@@ -368,12 +368,13 @@ var VelinSearch = class extends HTMLElement {
368
368
  _ensureMarkup() {
369
369
  if (this.querySelector("[data-velin-search-input]")) return;
370
370
  const ph = escapeHTMLAttribute(this.getAttribute("placeholder") || "Search\u2026");
371
+ const label = escapeHTMLAttribute(this.getAttribute("aria-label") || "Search");
371
372
  this.innerHTML = `
372
373
  <div class="velin-search">
373
374
  <div class="velin-search__field">
374
375
  <input type="search" class="velin-search__input" data-velin-search-input
375
376
  placeholder="${ph}" autocomplete="off" role="combobox" aria-expanded="false"
376
- aria-controls="${this._listId}" aria-autocomplete="list" />
377
+ aria-label="${label}" aria-controls="${this._listId}" aria-autocomplete="list" />
377
378
  </div>
378
379
  <div class="velin-search__status velin-visually-hidden" data-velin-search-status aria-live="polite" aria-atomic="true"></div>
379
380
  <div class="velin-search__results" data-velin-search-results role="listbox"
@@ -426,7 +427,7 @@ var VelinSearch = class extends HTMLElement {
426
427
  return;
427
428
  }
428
429
  if (!this._indexLoaded) await this._loadIndex();
429
- const { groups } = this._search.query(q, {
430
+ const { groups } = await this._search.query(q, {
430
431
  minChars: this.minChars,
431
432
  fuzzy: this.fuzzy,
432
433
  categories: this.categories || void 0,
@@ -2,7 +2,7 @@ import {
2
2
  escapeHTML,
3
3
  escapeHTMLAttribute,
4
4
  sanitizeInputType
5
- } from "./chunk-MKZP2TBH.js";
5
+ } from "./chunk-L7ZGUU4D.js";
6
6
 
7
7
  // components/velin-secure-field.js
8
8
  var styles = `
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-42VVPW6N.js";
7
7
  import {
8
8
  escapeHTML
9
- } from "./chunk-MKZP2TBH.js";
9
+ } from "./chunk-L7ZGUU4D.js";
10
10
 
11
11
  // components/velin-segmented-control.js
12
12
  var styles = `
@@ -88,7 +88,6 @@ var VelinSheet = class extends HTMLElement {
88
88
  this._prev = saveFocus();
89
89
  setBackgroundInert(this);
90
90
  document.addEventListener("keydown", this._onKey);
91
- document.body.style.overflow = "hidden";
92
91
  requestAnimationFrame(() => {
93
92
  const f = getFocusableElements(this.shadowRoot);
94
93
  if (f.length) f[0].focus();
@@ -96,8 +95,7 @@ var VelinSheet = class extends HTMLElement {
96
95
  }
97
96
  _close() {
98
97
  document.removeEventListener("keydown", this._onKey);
99
- document.body.style.overflow = "";
100
- clearBackgroundInert();
98
+ clearBackgroundInert(this);
101
99
  restoreFocus(this._prev);
102
100
  }
103
101
  _onKey(e) {
@@ -109,7 +107,7 @@ var VelinSheet = class extends HTMLElement {
109
107
  }
110
108
  disconnectedCallback() {
111
109
  document.removeEventListener("keydown", this._onKey);
112
- document.body.style.overflow = "";
110
+ clearBackgroundInert(this);
113
111
  }
114
112
  };
115
113
  customElements.define("velin-sheet", VelinSheet);
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-42VVPW6N.js";
12
12
  import {
13
13
  escapeHTML
14
- } from "./chunk-MKZP2TBH.js";
14
+ } from "./chunk-L7ZGUU4D.js";
15
15
 
16
16
  // components/velin-sheet.js
17
17
  var styles = `
@@ -88,7 +88,6 @@ var VelinSheet = class extends HTMLElement {
88
88
  this._prev = saveFocus();
89
89
  setBackgroundInert(this);
90
90
  document.addEventListener("keydown", this._onKey);
91
- document.body.style.overflow = "hidden";
92
91
  requestAnimationFrame(() => {
93
92
  const f = getFocusableElements(this.shadowRoot);
94
93
  if (f.length) f[0].focus();
@@ -96,8 +95,7 @@ var VelinSheet = class extends HTMLElement {
96
95
  }
97
96
  _close() {
98
97
  document.removeEventListener("keydown", this._onKey);
99
- document.body.style.overflow = "";
100
- clearBackgroundInert();
98
+ clearBackgroundInert(this);
101
99
  restoreFocus(this._prev);
102
100
  }
103
101
  _onKey(e) {
@@ -109,7 +107,7 @@ var VelinSheet = class extends HTMLElement {
109
107
  }
110
108
  disconnectedCallback() {
111
109
  document.removeEventListener("keydown", this._onKey);
112
- document.body.style.overflow = "";
110
+ clearBackgroundInert(this);
113
111
  }
114
112
  };
115
113
  customElements.define("velin-sheet", VelinSheet);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  escapeHTML
3
- } from "./chunk-RDE3QE7Z.js";
3
+ } from "./chunk-L7ZGUU4D.js";
4
4
 
5
5
  // components/velin-stepper.js
6
6
  var styles = `
@@ -52,10 +52,14 @@ var styles = `
52
52
  .panels ::slotted(*) { display: none; }
53
53
  .panels ::slotted([data-active]) { display: block; }
54
54
  @media (prefers-reduced-motion: reduce) { .step__marker { transition: none; } }
55
+ .velin-sr-only {
56
+ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
57
+ overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
58
+ }
55
59
  `;
56
60
  var VelinStepper = class extends HTMLElement {
57
61
  static get observedAttributes() {
58
- return ["active"];
62
+ return ["active", "aria-label", "labels"];
59
63
  }
60
64
  constructor() {
61
65
  super();
@@ -68,15 +72,18 @@ var VelinStepper = class extends HTMLElement {
68
72
  }
69
73
  _buildSteps() {
70
74
  const labels = (this.getAttribute("labels") || "").split(",").map((s) => s.trim());
75
+ const listLabel = this.getAttribute("aria-label") || "Progress";
71
76
  const stepsHTML = labels.map((label, i) => {
72
77
  const state = i < this._current ? "completed" : i === this._current ? "active" : "";
73
- const marker = i < this._current ? "&#10003;" : i + 1;
78
+ const status = i < this._current ? "completed" : i === this._current ? "current step" : "upcoming";
79
+ const marker = i < this._current ? '<span class="velin-sr-only">Completed</span><span aria-hidden="true">&#10003;</span>' : `<span aria-hidden="true">${i + 1}</span>`;
74
80
  const ariaCurrent = i === this._current ? ' aria-current="step"' : "";
75
- return `<div class="step ${state}" role="listitem"${ariaCurrent}><span class="step__marker" aria-hidden="true">${marker}</span><span class="step__label">${escapeHTML(label)}</span></div>`;
81
+ const itemLabel = label ? `${label}, ${status}` : `Step ${i + 1}, ${status}`;
82
+ return `<div class="step ${state}" role="listitem" aria-label="${escapeHTML(itemLabel)}"${ariaCurrent}><span class="step__marker">${marker}</span><span class="step__label">${escapeHTML(label)}</span></div>`;
76
83
  }).join("");
77
84
  this.shadowRoot.innerHTML = `
78
85
  <style>${styles}</style>
79
- <div class="steps" role="list" aria-label="Progress" part="steps">${stepsHTML}</div>
86
+ <div class="steps" role="list" aria-label="${escapeHTML(listLabel)}" part="steps">${stepsHTML}</div>
80
87
  <div class="panels" part="panels"><slot></slot></div>
81
88
  `;
82
89
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  escapeHTML
3
- } from "./chunk-LA7264K4.js";
3
+ } from "./chunk-L7ZGUU4D.js";
4
4
 
5
5
  // components/velin-toast.js
6
6
  var styles = `
@@ -80,8 +80,12 @@ var VelinToast = class extends HTMLElement {
80
80
  this.setAttribute("aria-atomic", "true");
81
81
  }
82
82
  show({ message, type = "info", duration = 5e3 } = {}) {
83
+ const assertive = type === "error" || type === "danger";
84
+ this.setAttribute("role", assertive ? "alert" : "status");
85
+ this.setAttribute("aria-live", assertive ? "assertive" : "polite");
83
86
  const toast = document.createElement("div");
84
87
  toast.className = `toast toast--${type}`;
88
+ toast.setAttribute("role", assertive ? "alert" : "status");
85
89
  toast.innerHTML = `
86
90
  <div class="toast-content">${escapeHTML(message)}</div>
87
91
  <button class="toast-close" aria-label="Close">&#215;</button>
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  escapeHTML
3
- } from "./chunk-LA7264K4.js";
3
+ } from "./chunk-L7ZGUU4D.js";
4
4
 
5
5
  // components/velin-tooltip.js
6
6
  var styles = `
package/dist/llms.txt CHANGED
@@ -1,30 +1,47 @@
1
- # VelinStyle 1.1.0
1
+ # VelinStyle 1.2.0
2
2
 
3
- > VelinStyle is the WCAG 2.2 AAA CSS framework with native JavaScript runtime and Web Components.
3
+ > VelinStyle is a CSS framework with WCAG 2.2 AAA-oriented defaults, native JavaScript runtime, and Web Components.
4
4
  > Full machine context: https://velinstyle.info/dist/velin-agent.json
5
5
  > MIME: application/vnd.velinstyle.meta+json
6
6
 
7
7
  ## Framework
8
8
  - npm: @birdapi/velinstyle
9
- - VelinStyle is the WCAG 2.2 AAA CSS framework with native JavaScript runtime and Web Components.
10
- - Components: 38 canonical Web Components (`velin-*`); 40 lazy-loader entries
9
+ - VelinStyle is a CSS framework with WCAG 2.2 AAA-oriented defaults, native JavaScript runtime, and Web Components.
10
+ - Pipeline: Core Foundation Design System Knowledge Graph → Prompt Engine → Review Engine → AI Metadata
11
+ - Maturity: CSS/Web Components/runtime = stable; plan/review, knowledge graph, page/section registry, agent metadata = beta/foundation (seed, expanding); Studio + Utility Engine generator = planned
12
+ - Components: 40 canonical Web Components (`velin-*`); 42 lazy-loader entries
13
+ - Knowledge graph: 17 component nodes, 17 page types, 12 sections, 3 design constraint packs
11
14
  - HTML attributes: 27 `velin-*` bridges
12
- - CLI: velinstyle (scan, scaffold, docs generate, search index, meta)
15
+ - CLI: velinstyle (scan, scaffold, plan, review, docs generate, search index, meta)
16
+
17
+ ## Agent briefing
18
+ - Treat plan/review/knowledge graph as beta foundation — usable, not a finished AI design system.
19
+ - Build pages with plan-first flow: analyze prompt → page registry → sections → design constraints → HTML → review.
20
+ - Prefer tokens (`--velin-color-*`, `--velin-space-*`) over raw hex.
21
+ - One H1 per page; form fields need labels + `velin-form-summary` when validating.
22
+ - Hero: max 2 CTAs; FAQ uses disclosure (`velin-accordion` / details).
23
+ - Do not invent non-`velin-*` utility classes.
24
+ - Prefer registry-backed skills/workflows (`velinstyle skills ...`, `velinstyle workflow ...`) before ad-hoc orchestration.
13
25
 
14
26
  ## Conventions
15
- - Positioning: VelinStyle is the WCAG 2.2 AAA CSS framework with native JavaScript runtime and Web Components — not a JS-only library or a utility-only CSS kit.
27
+ - Positioning: VelinStyle is a CSS framework with WCAG 2.2 AAA-oriented defaults, native JavaScript runtime, and Web Components — not a JS-only library or a utility-only CSS kit.
16
28
  - Use only velin-* utility classes and documented Web Components.
17
29
  - Prefer data-velin-theme on <html> for theme switching.
18
30
  - Run velinstyle scan on generated HTML before shipping.
31
+ - Prefer registry-first skills (`velinstyle skills`) and workflow graphs (`velinstyle workflow`) before inventing custom pipelines.
32
+ - Honor skill status, confidence, compatibility, and onlyIf predicates when automating.
19
33
  - Do not put secrets, API keys, or raw emails in velin-meta or page meta.
20
34
  - Resolve doc links against docs root (/docs/), not the current page folder.
21
35
 
22
36
  ## Key guides
23
37
  - [Velin-Meta](https://velinstyle.info/docs/guides/velin-meta.html)
38
+ - [AI Skills](https://velinstyle.info/docs/guides/ai-skills.html)
24
39
  - [VelinSearch](https://velinstyle.info/docs/guides/velin-search.html)
25
40
  - [Syntax highlighting](https://velinstyle.info/docs/guides/syntax-highlight.html)
26
41
  - [Prompt scaffolding](https://velinstyle.info/docs/guides/prompt-scaffolding.html)
27
42
  - [API reference (generated)](https://velinstyle.info/docs/guides/api-reference.html)
43
+ - North star: VELINSTYLE_2030.md
44
+ - Architecture: ARCHITECTURE.md
28
45
 
29
46
  ## Generated reference
30
47
  - [Components index](https://velinstyle.info/docs/generated/components/)
@@ -34,7 +51,12 @@
34
51
 
35
52
  ## Usage for agents
36
53
  ```
54
+ npx velinstyle plan "Steuerberater Landingpage mit Kontaktformular"
55
+ npx velinstyle scaffold "Steuerberater Landingpage mit Kontaktformular" -o out.html --json
56
+ npx velinstyle review out.html --json
37
57
  npx velinstyle meta
38
58
  npx velinstyle docs generate
39
- npx velinstyle search index
59
+ npx velinstyle skills list --capability review
60
+ npx velinstyle skills install frontend
61
+ npx velinstyle workflow landingpage --json
40
62
  ```
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-07-27T10:53:24.107Z",
3
+ "generatedAt": "2026-08-01T07:28:49.364Z",
4
4
  "entries": [
5
5
  {
6
6
  "id": "examples:samples/a11y-patterns.html",
@@ -57,7 +57,7 @@
57
57
  {
58
58
  "id": "api:commands",
59
59
  "title": "CLI commands",
60
- "excerpt": "VelinStyle CLI v1.1.0. Run velinstyle --help for full usage.",
60
+ "excerpt": "VelinStyle CLI v1.2.0. Run velinstyle --help for full usage.",
61
61
  "url": "docs/generated/cli/commands.html",
62
62
  "category": "api",
63
63
  "keywords": [
@@ -82,7 +82,7 @@
82
82
  {
83
83
  "id": "api:blueprint",
84
84
  "title": "CLI: blueprint",
85
- "excerpt": "Print HTML blueprint snippets",
85
+ "excerpt": "Print HTML blueprint snippets; --strict fails on classes missing from CSS",
86
86
  "url": "docs/generated/cli/commands.html#blueprint",
87
87
  "category": "api",
88
88
  "keywords": [
@@ -103,10 +103,34 @@
103
103
  ],
104
104
  "weight": 1.1
105
105
  },
106
+ {
107
+ "id": "api:check",
108
+ "title": "CLI: check",
109
+ "excerpt": "Aggregate gate: doctor + blueprint --strict + scan + review (alias: validate)",
110
+ "url": "docs/generated/cli/commands.html#check",
111
+ "category": "api",
112
+ "keywords": [
113
+ "cli",
114
+ "check"
115
+ ],
116
+ "weight": 1.1
117
+ },
118
+ {
119
+ "id": "api:create",
120
+ "title": "CLI: create",
121
+ "excerpt": "Scaffold a runnable project: landing | dashboard | docs | auth",
122
+ "url": "docs/generated/cli/commands.html#create",
123
+ "category": "api",
124
+ "keywords": [
125
+ "cli",
126
+ "create"
127
+ ],
128
+ "weight": 1.1
129
+ },
106
130
  {
107
131
  "id": "api:docs",
108
132
  "title": "CLI: docs",
109
- "excerpt": "Generate developer reference Markdown",
133
+ "excerpt": "Generate developer reference Markdown (alias: documentation)",
110
134
  "url": "docs/generated/cli/commands.html#docs",
111
135
  "category": "api",
112
136
  "keywords": [
@@ -115,6 +139,18 @@
115
139
  ],
116
140
  "weight": 1.1
117
141
  },
142
+ {
143
+ "id": "api:doctor",
144
+ "title": "CLI: doctor",
145
+ "excerpt": "Check dist assets, themes, config, icons, and Windows ESM import hints",
146
+ "url": "docs/generated/cli/commands.html#doctor",
147
+ "category": "api",
148
+ "keywords": [
149
+ "cli",
150
+ "doctor"
151
+ ],
152
+ "weight": 1.1
153
+ },
118
154
  {
119
155
  "id": "api:icons",
120
156
  "title": "CLI: icons",
@@ -130,7 +166,7 @@
130
166
  {
131
167
  "id": "api:init",
132
168
  "title": "CLI: init",
133
- "excerpt": "Create velinstyle.config.js",
169
+ "excerpt": "Create velinstyle.config.js, optional vendor copy, and starter HTML with reveal/sprite defaults",
134
170
  "url": "docs/generated/cli/commands.html#init",
135
171
  "category": "api",
136
172
  "keywords": [
@@ -154,7 +190,7 @@
154
190
  {
155
191
  "id": "api:meta",
156
192
  "title": "CLI: meta",
157
- "excerpt": "Build Velin-Meta agent bundle (velin-agent.json, llms.txt)",
193
+ "excerpt": "Build Velin-Meta agent bundle; page --write merges curated goals/intent",
158
194
  "url": "docs/generated/cli/commands.html#meta",
159
195
  "category": "api",
160
196
  "keywords": [
@@ -166,7 +202,7 @@
166
202
  {
167
203
  "id": "api:perf",
168
204
  "title": "CLI: perf",
169
- "excerpt": "Performance audit for images and scripts",
205
+ "excerpt": "Performance audit for images and scripts (directory or .html file)",
170
206
  "url": "docs/generated/cli/commands.html#perf",
171
207
  "category": "api",
172
208
  "keywords": [
@@ -175,6 +211,18 @@
175
211
  ],
176
212
  "weight": 1.1
177
213
  },
214
+ {
215
+ "id": "api:plan",
216
+ "title": "CLI: plan",
217
+ "excerpt": "Emit page plan JSON from a prompt (no HTML)",
218
+ "url": "docs/generated/cli/commands.html#plan",
219
+ "category": "api",
220
+ "keywords": [
221
+ "cli",
222
+ "plan"
223
+ ],
224
+ "weight": 1.1
225
+ },
178
226
  {
179
227
  "id": "api:prefix",
180
228
  "title": "CLI: prefix",
@@ -187,10 +235,22 @@
187
235
  ],
188
236
  "weight": 1.1
189
237
  },
238
+ {
239
+ "id": "api:review",
240
+ "title": "CLI: review",
241
+ "excerpt": "Design / a11y / SEO / performance / conversion review gate",
242
+ "url": "docs/generated/cli/commands.html#review",
243
+ "category": "api",
244
+ "keywords": [
245
+ "cli",
246
+ "review"
247
+ ],
248
+ "weight": 1.1
249
+ },
190
250
  {
191
251
  "id": "api:scaffold",
192
252
  "title": "CLI: scaffold",
193
- "excerpt": "Generate layout HTML from natural language prompt",
253
+ "excerpt": "Plan-first page HTML or recipe fragment from natural language",
194
254
  "url": "docs/generated/cli/commands.html#scaffold",
195
255
  "category": "api",
196
256
  "keywords": [
@@ -202,7 +262,7 @@
202
262
  {
203
263
  "id": "api:scan",
204
264
  "title": "CLI: scan",
205
- "excerpt": "Security, accessibility, CSS, and PII scanner",
265
+ "excerpt": "Security, accessibility, CSS, and PII scanner (directory or single file)",
206
266
  "url": "docs/generated/cli/commands.html#scan",
207
267
  "category": "api",
208
268
  "keywords": [
@@ -211,6 +271,42 @@
211
271
  ],
212
272
  "weight": 1.1
213
273
  },
274
+ {
275
+ "id": "api:search",
276
+ "title": "CLI: search",
277
+ "excerpt": "Build JSON search index for VelinSearch",
278
+ "url": "docs/generated/cli/commands.html#search",
279
+ "category": "api",
280
+ "keywords": [
281
+ "cli",
282
+ "search"
283
+ ],
284
+ "weight": 1.1
285
+ },
286
+ {
287
+ "id": "api:serve",
288
+ "title": "CLI: serve",
289
+ "excerpt": "Serve a directory over HTTP (default port 4173)",
290
+ "url": "docs/generated/cli/commands.html#serve",
291
+ "category": "api",
292
+ "keywords": [
293
+ "cli",
294
+ "serve"
295
+ ],
296
+ "weight": 1.1
297
+ },
298
+ {
299
+ "id": "api:skills",
300
+ "title": "CLI: skills",
301
+ "excerpt": "Registry-first AI skill catalog and install runner",
302
+ "url": "docs/generated/cli/commands.html#skills",
303
+ "category": "api",
304
+ "keywords": [
305
+ "cli",
306
+ "skills"
307
+ ],
308
+ "weight": 1.1
309
+ },
214
310
  {
215
311
  "id": "api:themes",
216
312
  "title": "CLI: themes",
@@ -235,6 +331,30 @@
235
331
  ],
236
332
  "weight": 1.1
237
333
  },
334
+ {
335
+ "id": "api:wc",
336
+ "title": "CLI: wc",
337
+ "excerpt": "Inspect Web Component APIs from source",
338
+ "url": "docs/generated/cli/commands.html#wc",
339
+ "category": "api",
340
+ "keywords": [
341
+ "cli",
342
+ "wc"
343
+ ],
344
+ "weight": 1.1
345
+ },
346
+ {
347
+ "id": "api:workflow",
348
+ "title": "CLI: workflow",
349
+ "excerpt": "Resolve workflow graph or project workflow steps",
350
+ "url": "docs/generated/cli/commands.html#workflow",
351
+ "category": "api",
352
+ "keywords": [
353
+ "cli",
354
+ "workflow"
355
+ ],
356
+ "weight": 1.1
357
+ },
238
358
  {
239
359
  "id": "examples:samples/signup.html",
240
360
  "title": "Create your account",
@@ -898,6 +1018,19 @@
898
1018
  ],
899
1019
  "weight": 1.3
900
1020
  },
1021
+ {
1022
+ "id": "components:velin-calendar",
1023
+ "title": "velin-calendar",
1024
+ "excerpt": "Source: components/velin-calendar.js",
1025
+ "url": "docs/generated/components/velin-calendar.html",
1026
+ "category": "components",
1027
+ "keywords": [
1028
+ "velin-calendar",
1029
+ "components",
1030
+ "velin-calendar"
1031
+ ],
1032
+ "weight": 1.3
1033
+ },
901
1034
  {
902
1035
  "id": "components:velin-carousel",
903
1036
  "title": "velin-carousel",
@@ -1119,6 +1252,19 @@
1119
1252
  ],
1120
1253
  "weight": 1.2
1121
1254
  },
1255
+ {
1256
+ "id": "components:velin-file-dropzone",
1257
+ "title": "velin-file-dropzone",
1258
+ "excerpt": "Source: components/velin-file-dropzone.js",
1259
+ "url": "docs/generated/components/velin-file-dropzone.html",
1260
+ "category": "components",
1261
+ "keywords": [
1262
+ "velin-file-dropzone",
1263
+ "components",
1264
+ "velin-file-dropzone"
1265
+ ],
1266
+ "weight": 1.3
1267
+ },
1122
1268
  {
1123
1269
  "id": "components:velin-flip",
1124
1270
  "title": "velin-flip",
@@ -1473,7 +1619,7 @@
1473
1619
  {
1474
1620
  "id": "docs:velin-scroll-top",
1475
1621
  "title": "velin-scroll-top",
1476
- "excerpt": "Velin HTML attribute extension.",
1622
+ "excerpt": "Inject / configure <velin-scroll-top> (empty or threshold px).",
1477
1623
  "url": "docs/generated/attributes/velin-scroll-top.html",
1478
1624
  "category": "docs",
1479
1625
  "keywords": [