@tmorrow/cre8-wc 2.1.1 → 2.2.2

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 (197) hide show
  1. package/a2ui/catalog-kg.json +441 -299
  2. package/a2ui/catalog.compact.json +27 -3
  3. package/a2ui/catalog.json +88 -2
  4. package/a2ui/demo.html +11 -2
  5. package/a2ui/generate-catalog-kg.mjs +122 -0
  6. package/cdn/cre8-wc.esm.js +2081 -1863
  7. package/cdn/cre8-wc.esm.js.map +1 -1
  8. package/cdn/cre8-wc.min.js +275 -257
  9. package/cdn/cre8-wc.min.js.map +1 -1
  10. package/dist/assets/{Changelog-Documentation-CeOetLxK.js → Changelog-Documentation-DAkpnvjl.js} +1 -1
  11. package/dist/assets/{Code-Guidelines-BjdezAjj.js → Code-Guidelines-BaDD3Qt-.js} +1 -1
  12. package/dist/assets/{Color-6AOWCN3U-DPFGZitI.js → Color-6AOWCN3U-Br-VT4Nz.js} +1 -1
  13. package/dist/assets/{Contributing-Guidelines-B1M2V1hW.js → Contributing-Guidelines-CcP9zakB.js} +1 -1
  14. package/dist/assets/{DocsRenderer-JROSPFPF-BBy8KWNl.js → DocsRenderer-JROSPFPF-yAlipAFi.js} +1 -1
  15. package/dist/assets/{Tokens-Documentation-CdTxFDLe.js → Tokens-Documentation-C7AoT8M_.js} +1 -1
  16. package/dist/assets/{WithTooltip-7X4HQR7L-DZzTNMQ7.js → WithTooltip-7X4HQR7L-DGAfa3Vb.js} +1 -1
  17. package/dist/assets/{accordion-item.stories-Bl26JlHp.js → accordion-item.stories-BZFx3mtU.js} +9 -1
  18. package/dist/assets/{accordion.stories-DjoLApQw.js → accordion.stories-Bvj-QGNl.js} +22 -14
  19. package/dist/assets/address-form.stories-CseRFoqX.js +71 -0
  20. package/dist/assets/{alert.stories-pO1y3YCQ.js → alert.stories-CbICvjHf.js} +31 -15
  21. package/dist/assets/{badge-BTxW3bN2.js → badge-UrvSTJon.js} +11 -3
  22. package/dist/assets/{badge.stories-vqh63RJ2.js → badge.stories-DOZqQX5K.js} +7 -8
  23. package/dist/assets/{band.stories-CjKRppSb.js → band.stories-CK_yg4DT.js} +9 -1
  24. package/dist/assets/{blocks-1be_-L6v.js → blocks-Du1uvPRr.js} +5 -5
  25. package/dist/assets/{breadcrumbs.stories-Doyfy3V9.js → breadcrumbs.stories-D7yO08QU.js} +25 -9
  26. package/dist/assets/{button-CgaWukz0.js → button-BCRNRwfX.js} +9 -1
  27. package/dist/assets/{button-group-G7qN4MwM.js → button-group-CwodvBV3.js} +9 -1
  28. package/dist/assets/{button-group.stories-cL3Kay6M.js → button-group.stories-DqUGrtzO.js} +1 -1
  29. package/dist/assets/{button.stories-C9HSpxWb.js → button.stories-CsEf8OvS.js} +1 -1
  30. package/dist/assets/{card.stories-BbU8YymD.js → card-DSDkldbr.js} +14 -50
  31. package/dist/assets/card.stories-DBa0yvbU.js +45 -0
  32. package/dist/assets/{chart.stories-BL4FxIA_.js → chart.stories-DS4mwVqy.js} +3 -3
  33. package/dist/assets/{checkbox-field-item-DIMHcWM0.js → checkbox-field-item-sISvPESD.js} +9 -1
  34. package/dist/assets/{checkbox-field-item.stories-XbB4x_lO.js → checkbox-field-item.stories-BCvdJgaW.js} +1 -1
  35. package/dist/assets/{checkbox-field.stories-YnqFUI4K.js → checkbox-field.stories-DnG0eNYV.js} +20 -12
  36. package/dist/assets/cre8-element-q82VmUgi.js +1 -0
  37. package/dist/assets/cre8-form-element-Bk9Cy3PA.js +1 -0
  38. package/dist/assets/{danger-button.stories-xh25hmfd.js → danger-button.stories-UbeDkyI-.js} +9 -1
  39. package/dist/assets/{date-picker.stories-DD_ctzEF.js → date-picker.stories-B1SKYMVQ.js} +51 -3
  40. package/dist/assets/{divider-xZ2KARHf.js → divider-Bci4ZIK6.js} +10 -2
  41. package/dist/assets/{divider.stories-Bk9oF-OV.js → divider.stories-BhUpwAzD.js} +1 -1
  42. package/dist/assets/{dropdown-BEP5x3CW.js → dropdown-CbkVYKEV.js} +25 -9
  43. package/dist/assets/dropdown-item.stories-C3cFlIXo.js +26 -0
  44. package/dist/assets/{dropdown.stories-B0OlKD7h.js → dropdown.stories-DNo1ezrT.js} +2 -2
  45. package/dist/assets/{f-po-BdPzDRD-.js → f-po-CGwWqyus.js} +1 -1
  46. package/dist/assets/{feature.stories-DYE1Js70.js → feature.stories-B1bhPf5C.js} +9 -1
  47. package/dist/assets/field-V4dGu-vp.js +44 -0
  48. package/dist/assets/{field-note-fccBckVl.js → field-note-CI4Ca7JE.js} +11 -3
  49. package/dist/assets/{field-note.stories-BH9AZMbF.js → field-note.stories-qXAywEeq.js} +1 -1
  50. package/dist/assets/{field.stories-BQPtmziK.js → field.stories-CQf9a7bv.js} +6 -6
  51. package/dist/assets/{field-BpUYyRW1.js → field.styles-CiOFAoAG.js} +12 -45
  52. package/dist/assets/{footer.stories-DCWEciqD.js → footer.stories-C7TG2Cky.js} +9 -1
  53. package/dist/assets/form-DHk8aePA.js +17 -0
  54. package/dist/assets/form.stories-CJ9sqwpA.js +75 -0
  55. package/dist/assets/{formatter-L2YTDE3Q-B9u1AOWn.js → formatter-L2YTDE3Q-B-Ee-OPm.js} +1 -1
  56. package/dist/assets/{global-nav-item-T4htN-yO.js → global-nav-item-pjd1OC7i.js} +14 -6
  57. package/dist/assets/{global-nav-item.stories-2dWRfCXv.js → global-nav-item.stories-D6N0iKNQ.js} +1 -1
  58. package/dist/assets/{global-nav.stories-Fh1gScqg.js → global-nav.stories-CwJ0cKW_.js} +10 -2
  59. package/dist/assets/{grid-C5CKMXNe.js → grid-item-WCDk_zGh.js} +573 -557
  60. package/dist/assets/{grid.stories-BLmCNdeA.js → grid.stories-DR4e60eQ.js} +1 -1
  61. package/dist/assets/{header.stories-BkDrjJtj.js → header.stories-BUO2t2KS.js} +9 -1
  62. package/dist/assets/{heading-Dbka33DK.js → heading-Cux7lJt-.js} +10 -2
  63. package/dist/assets/{heading.stories-Be40_bmG.js → heading.stories-BlgEi0dB.js} +1 -1
  64. package/dist/assets/{hero.stories-vRu7PZG9.js → hero.stories-C853F5_Y.js} +9 -1
  65. package/dist/assets/{icon-ChfRWXWy.js → icon-ByzQuB0Z.js} +9 -1
  66. package/dist/assets/{icon.stories-Cj4U7L5G.js → icon.stories-DYCuJ4Rv.js} +1 -1
  67. package/dist/assets/if-defined-DWVEXvB4.js +1 -0
  68. package/dist/assets/{iframe-BNJP6ovU.js → iframe-CTa_pRc7.js} +142 -142
  69. package/dist/assets/iframe-CWwoGI65.css +1 -0
  70. package/dist/assets/{inline-alert.stories-CygBYI02.js → inline-alert.stories-C_R0hcQ4.js} +9 -1
  71. package/dist/assets/{layout-container.stories-TMyIJteJ.js → layout-container.stories-Bywbzd_L.js} +10 -2
  72. package/dist/assets/{layout.stories-ylRM-ANL.js → layout.stories-CI7XD-aG.js} +23 -7
  73. package/dist/assets/light-children-DDjBxt3J.js +1 -0
  74. package/dist/assets/{linelength-container.stories-Br2v8jXE.js → linelength-container.stories-DvwrIt8x.js} +9 -1
  75. package/dist/assets/{link-CRE0Eqdo.js → link-CkyZrqNv.js} +9 -1
  76. package/dist/assets/{link-list.stories--y-urrVo.js → link-list.stories-BrOT-y5d.js} +39 -23
  77. package/dist/assets/{link.stories-C3WQOgkY.js → link.stories-DvGexqBV.js} +1 -1
  78. package/dist/assets/{list.stories-Bd2bxkxn.js → list.stories-B2PmqPK-.js} +29 -13
  79. package/dist/assets/{loading-spinner-C52KNq6y.js → loading-spinner-D_r3kfYs.js} +12 -4
  80. package/dist/assets/{loading-spinner.stories-DPRGEeHT.js → loading-spinner.stories-B2GCLqqq.js} +1 -1
  81. package/dist/assets/{logo.stories-2LBqqraT.js → logo.stories-BK37XQOB.js} +9 -1
  82. package/dist/assets/{main.stories-BQzD7iWD.js → main.stories-DzXRavXL.js} +10 -2
  83. package/dist/assets/{modal-CCfbY4fF.js → modal-CRGEVzx5.js} +10 -2
  84. package/dist/assets/{modal-GglWRNJp.js → modal-frjOZV7F.js} +3 -3
  85. package/dist/assets/{modal.stories-CpybCs79.js → modal.stories-DPTsnRPI.js} +1 -1
  86. package/dist/assets/{multi-select.stories-BhzEKRui.js → multi-select.stories-DoNFngx3.js} +12 -4
  87. package/dist/assets/{nav-container.stories-Be1YlegP.js → nav-container.stories-BV0DiV1z.js} +11 -3
  88. package/dist/assets/{page-header.stories-BOVLQ0YF.js → page-header.stories-DGqzeCVS.js} +9 -1
  89. package/dist/assets/{pagination.stories-D62sa_1K.js → pagination.stories-DymlgiVw.js} +28 -12
  90. package/dist/assets/{percent-bar.stories-CYi4El7T.js → percent-bar.stories-BJd3Qi90.js} +11 -3
  91. package/dist/assets/{popover.stories-B9O8F4yv.js → popover.stories-0CnGKfM7.js} +11 -3
  92. package/dist/assets/{primary-nav.stories-Bt-o7h45.js → primary-nav.stories-DoEjkNEW.js} +17 -1
  93. package/dist/assets/{progress-meter-Dit59091.js → progress-meter-Ca-xdNNC.js} +9 -1
  94. package/dist/assets/{progress-meter.stories-CYnOCmjo.js → progress-meter.stories-CiwBm4ND.js} +1 -1
  95. package/dist/assets/{progress-steps-item-CWJsad0s.js → progress-steps-item-XkO_k158.js} +9 -1
  96. package/dist/assets/{progress-steps-item.stories-ePn_6bPn.js → progress-steps-item.stories-ikJlzkED.js} +1 -1
  97. package/dist/assets/{progress-steps.stories-CblrEcXF.js → progress-steps.stories-ezsJjY7f.js} +37 -29
  98. package/dist/assets/{radio-field-item-Bm-0RWPe.js → radio-field-item-gOof1xz7.js} +31 -15
  99. package/dist/assets/{radio-field-item.stories-y_TrTRIW.js → radio-field-item.stories-Bg7NJuid.js} +6 -6
  100. package/dist/assets/{radio-field.stories-CSWrbUrn.js → radio-field.stories-CwqXSLAA.js} +2 -2
  101. package/dist/assets/{remove-tag-lCr57c5r.js → remove-tag-tJrDexqV.js} +10 -2
  102. package/dist/assets/{remove-tag.stories-CDfwCdvZ.js → remove-tag.stories-CANJ3xUD.js} +1 -1
  103. package/dist/assets/{sample-modal.stories-BZ4N2R2Z.js → sample-modal.stories-CAZBmR1N.js} +4 -4
  104. package/dist/assets/{section.stories-D_1InThX.js → section.stories-Dbw4FBo8.js} +9 -1
  105. package/dist/assets/{select-tile-BqqB3ZtE.js → select-tile-DbEfRqPZ.js} +10 -2
  106. package/dist/assets/{select-tile-list.stories-Di4ILgV8.js → select-tile-list.stories-BWIbF_U7.js} +9 -1
  107. package/dist/assets/{select-tile.stories-D3h_6zlV.js → select-tile.stories-DWzrgGaK.js} +1 -1
  108. package/dist/assets/{select.stories-BB2phP9A.js → select.stories-DP29QG7D.js} +9 -1
  109. package/dist/assets/sign-in.stories-BYo2rxIQ.js +63 -0
  110. package/dist/assets/{skeleton-loader.stories-y4uml_kV.js → skeleton-loader.stories-B1cPTECY.js} +13 -5
  111. package/dist/assets/{split-button.stories-C_82I4ME.js → split-button.stories-DlxT6EYF.js} +12 -4
  112. package/dist/assets/{spread-CnPic3C2.js → spread-B518TqwY.js} +1 -1
  113. package/dist/assets/state-C6YC-MeJ.js +1 -0
  114. package/dist/assets/{submenu.stories-UDtaREr1.js → submenu.stories-BT13dETW.js} +18 -2
  115. package/dist/assets/{syntaxhighlighter-T5IQBZDB-D-I_s_yD.js → syntaxhighlighter-T5IQBZDB-DkhjPTlq.js} +1 -1
  116. package/dist/assets/{table-header-2837i43H.js → table-header-DMiTn2zX.js} +81 -33
  117. package/dist/assets/{table-object.stories-D4KoI-wA.js → table-object.stories-D2dcUZ2O.js} +11 -3
  118. package/dist/assets/{table.stories-DUJDibEp.js → table.stories-BXu1RY5-.js} +2 -2
  119. package/dist/assets/{tabs.stories-C06SngOF.js → tabs.stories-B9tPcDRI.js} +34 -10
  120. package/dist/assets/{tag-oHGdclJl.js → tag-AWpjXoCW.js} +9 -1
  121. package/dist/assets/{tag-list.stories-Du-IoYzu.js → tag-list.stories-CiqM7sIX.js} +21 -13
  122. package/dist/assets/{tag.stories-C5D5IbuK.js → tag.stories-BcbkBkLR.js} +1 -1
  123. package/dist/assets/{tertiary-nav.stories-B1GU8Zi4.js → tertiary-nav.stories-CuP_odo_.js} +19 -3
  124. package/dist/assets/{text-link-B3m3KEqY.js → text-link-DWpfqc0H.js} +9 -1
  125. package/dist/assets/{text-link.stories-4O6qn82H.js → text-link.stories-BSQQ8Bf8.js} +1 -1
  126. package/dist/assets/{text-passage-xQVosjOr.js → text-passage-C-tu1uRd.js} +19 -3
  127. package/dist/assets/{text-passage.stories-Da1nspwG.js → text-passage.stories-qCVobGhn.js} +1 -1
  128. package/dist/assets/{tooltip.stories-DLKyyeKn.js → tooltip.stories-CcxLUUaE.js} +16 -8
  129. package/dist/assets/{utility-nav.stories-B6xBFe7z.js → utility-nav.stories-CmUYbo0J.js} +21 -5
  130. package/dist/design-tokens/brands/cre8-a2ui/css/tokens_brand.css +4 -4
  131. package/dist/design-tokens/core/scss/theming/component.css +1 -1
  132. package/dist/design-tokens/core/scss/theming/variables.css +7 -1
  133. package/dist/design-tokens/core/scss/theming/variables.scss +11 -0
  134. package/dist/fonts/PlusJakartaSans-Bold.woff2 +0 -0
  135. package/dist/fonts/PlusJakartaSans-Medium.woff2 +0 -0
  136. package/dist/fonts/PlusJakartaSans-Regular.woff2 +0 -0
  137. package/dist/fonts/PlusJakartaSans-SemiBold.woff2 +0 -0
  138. package/dist/iframe.html +25 -2
  139. package/dist/index.html +82 -26
  140. package/dist/index.json +1 -1
  141. package/dist/logo.svg +1 -0
  142. package/dist/manifests/components.html +766 -0
  143. package/dist/manifests/docs.json +37 -0
  144. package/dist/project.json +1 -1
  145. package/dist/sb-addons/storybook-5/manager-bundle.js +8 -0
  146. package/dist/sb-addons/vitest-4/manager-bundle.js +3 -0
  147. package/lib/cdn-entry.d.ts +2 -1
  148. package/lib/cdn-entry.d.ts.map +1 -1
  149. package/lib/cdn-entry.js +2 -1
  150. package/lib/cdn-entry.js.map +1 -1
  151. package/lib/components/cre8-field.js +1 -1
  152. package/lib/components/cre8-form-element.d.ts +27 -0
  153. package/lib/components/cre8-form-element.d.ts.map +1 -1
  154. package/lib/components/cre8-form-element.js +65 -1
  155. package/lib/components/cre8-form-element.js.map +1 -1
  156. package/lib/components/field/field.styles.d.ts.map +1 -1
  157. package/lib/components/field/field.styles.js +4 -2
  158. package/lib/components/field/field.styles.js.map +1 -1
  159. package/lib/components/form/form.d.ts +87 -0
  160. package/lib/components/form/form.d.ts.map +1 -0
  161. package/lib/components/form/form.js +209 -0
  162. package/lib/components/form/form.js.map +1 -0
  163. package/lib/components/form/form.styles.d.ts +14 -0
  164. package/lib/components/form/form.styles.d.ts.map +1 -0
  165. package/lib/components/form/form.styles.js +31 -0
  166. package/lib/components/form/form.styles.js.map +1 -0
  167. package/lib/{cre8-form-element-BymRdQUC.js → cre8-form-element-CCzBYtDm.js} +85 -32
  168. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_brand.css +4 -4
  169. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.d.ts +1 -1
  170. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.d.ts.map +1 -1
  171. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.js +4 -4
  172. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.js.map +1 -1
  173. package/lib/index.d.ts +1 -0
  174. package/lib/index.d.ts.map +1 -1
  175. package/lib/index.js +1 -0
  176. package/lib/index.js.map +1 -1
  177. package/lib/scripts/generate-mcp-manifest.js +1 -0
  178. package/lib/scripts/generate-mcp-manifest.js.map +1 -1
  179. package/lib/toBeAccessible.d.ts +6 -5
  180. package/lib/toBeAccessible.d.ts.map +1 -1
  181. package/lib/toBeAccessible.js +1 -1
  182. package/lib/toBeAccessible.js.map +1 -1
  183. package/mcp-manifest.json +44 -1
  184. package/package.json +16 -13
  185. package/react-manifest.json +40 -2
  186. package/dist/assets/cre8-element-B35i4Lyg.js +0 -1
  187. package/dist/assets/cre8-form-element-Cfc5VeYV.js +0 -1
  188. package/dist/assets/dropdown-item.stories-Iaw_UrEP.js +0 -26
  189. package/dist/assets/example-drug-card.stories-Bp5JIeE_.js +0 -10
  190. package/dist/assets/form-example.stories-9IDC0AgX.js +0 -49
  191. package/dist/assets/icon-description-BBSwDykJ.js +0 -45
  192. package/dist/assets/icon-description.stories-Cg6ekOme.js +0 -3
  193. package/dist/assets/if-defined-Bxnzk64Q.js +0 -1
  194. package/dist/assets/medication-card.stories-Wc-hA0-s.js +0 -165
  195. package/dist/assets/medication-form.stories-DfFOCDaU.js +0 -57
  196. package/dist/assets/request-prescription.stories-O4zqokfb.js +0 -24
  197. package/dist/assets/state-DkQhleoO.js +0 -1
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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","sourcesContent":["export { type Cre8Element } from './components/cre8-element.js';\nexport { type Cre8FormElement } from './components/cre8-form-element.js';\nexport { Cre8Accordion } from './components/accordion/accordion.js';\nexport { Cre8AccordionItem } from './components/accordion-item/accordion-item.js';\nexport { Cre8UtilityNav } from './components/utility-nav/utility-nav.js';\nexport { Cre8UtilityNavItem } from './components/utility-nav-item/utility-nav-item.js';\nexport { Cre8Tooltip } from './components/tooltip/tooltip.js';\nexport { Cre8TextPassage } from './components/text-passage/text-passage.js';\nexport { Cre8TextLink } from './components/text-link/text-link.js';\nexport { Cre8TertiaryNavItem } from './components/tertiary-nav-item/tertiary-nav-item.js';\nexport { Cre8TertiaryNav } from './components/tertiary-nav/tertiary-nav.js';\nexport { Cre8TagList } from './components/tag-list/tag-list.js';\nexport { Cre8Tag } from './components/tag/tag.js';\nexport { Cre8Tabs } from './components/tabs/tabs.js';\nexport { Cre8TableRow } from './components/table-row/table-row.js';\nexport { Cre8TableObject } from './components/table-object/table-object.js';\nexport { Cre8TableHeaderCell } from './components/table-header-cell/table-header-cell.js';\nexport { Cre8TableHeader } from './components/table-header/table-header.js';\nexport { Cre8TableCell } from './components/table-cell/table-cell.js';\nexport { Cre8TableBody } from './components/table-body/table-body.js';\nexport { Cre8Table } from './components/table/table.js';\nexport { Cre8TabPanel } from './components/tab-panel/tab-panel.js';\nexport { Cre8Tab } from './components/tab/tab.js';\nexport { Cre8SubmenuItem } from './components/submenu-item/submenu-item.js';\nexport { Cre8Submenu } from './components/submenu/submenu.js';\nexport { Cre8SplitButton } from './components/split-button/split-button.js';\nexport { Cre8SkeletonLoader } from './components/skeleton-loader/skeleton-loader.js';\nexport { Cre8SelectTileList } from './components/select-tile-list/select-tile-list.js';\nexport { Cre8SelectTile } from './components/select-tile/select-tile.js';\nexport { Cre8Select } from './components/select/select.js';\nexport { Cre8Section } from './components/section/section.js';\nexport { Cre8RadioFieldItem } from './components/radio-field-item/radio-field-item.js';\nexport { Cre8RadioField } from './components/radio-field/radio-field.js';\nexport { Cre8ProgressMeter } from './components/progress-meter/progress-meter.js';\nexport { Cre8PrimaryNavItem } from './components/primary-nav-item/primary-nav-item.js';\nexport { Cre8PrimaryNav } from './components/primary-nav/primary-nav.js';\nexport { Cre8Pagination } from './components/pagination/pagination.js';\nexport { Cre8Popover } from './components/popover/popover.js';\nexport { Cre8PageHeader } from './components/page-header/page-header.js';\nexport { Cre8NavContainer } from './components/nav-container/nav-container.js';\nexport { Cre8Modal } from './components/modal/modal.js';\nexport { Cre8Main } from './components/main/main.js';\nexport { Cre8MultiSelect } from './components/multi-select/multi-select.js';\nexport { Cre8Logo } from './components/logo/logo.js';\nexport { Cre8LoadingSpinner } from './components/loading-spinner/loading-spinner.js';\nexport { Cre8ListItem } from './components/list-item/list-item.js';\nexport { Cre8List } from './components/list/list.js';\nexport { Cre8LinkListItem } from './components/link-list-item/link-list-item.js';\nexport { Cre8LinkList } from './components/link-list/link-list.js';\nexport { Cre8Link } from './components/link/link.js';\nexport { Cre8LinelengthContainer } from './components/linelength-container/linelength-container.js';\nexport { Cre8LayoutSection } from './components/layout-section/layout-section.js';\nexport { Cre8LayoutContainer } from './components/layout-container/layout-container.js';\nexport { Cre8Layout } from './components/layout/layout.js';\nexport { Cre8InlineAlert } from './components/inline-alert/inline-alert.js';\nexport { Cre8Icon } from './components/icon/icon.js';\nexport { Cre8Hero } from './components/hero/hero.js';\nexport { Cre8Heading } from './components/heading/heading.js';\nexport { Cre8Header } from './components/header/header.js';\nexport { Cre8GridItem } from './components/grid-item/grid-item.js';\nexport { Cre8Grid } from './components/grid/grid.js';\nexport { Cre8GlobalNavItem } from './components/global-nav-item/global-nav-item.js';\nexport { Cre8GlobalNav } from './components/global-nav/global-nav.js';\nexport { Cre8Footer } from './components/footer/footer.js';\nexport { Cre8FieldNote } from './components/field-note/field-note.js';\nexport { Cre8Field } from './components/field/field.js';\nexport { Cre8Feature } from './components/feature/feature.js';\nexport { Cre8DropdownItem } from './components/dropdown-item/dropdown-item.js';\nexport { Cre8Dropdown } from './components/dropdown/dropdown.js';\nexport { Cre8Divider } from './components/divider/divider.js';\nexport { Cre8DatePicker } from './components/date-picker/date-picker.js';\nexport { Cre8CheckboxFieldItem } from './components/checkbox-field-item/checkbox-field-item.js';\nexport { Cre8CheckboxField } from './components/checkbox-field/checkbox-field.js';\nexport { Cre8Card } from './components/card/card.js';\nexport { Cre8ButtonGroup } from './components/button-group/button-group.js';\nexport { Cre8Button } from './components/button/button.js';\nexport { Cre8BreadcrumbsItem } from './components/breadcrumbs-item/breadcrumbs-item.js';\nexport { Cre8Breadcrumbs } from './components/breadcrumbs/breadcrumbs.js';\nexport { Cre8Band } from './components/band/band.js';\nexport { Cre8Badge } from './components/badge/badge.js';\nexport { Cre8Alert } from './components/alert/alert.js';\nexport { Cre8RemoveTag } from './components/remove-tag/remove-tag.js';\nexport { Cre8DangerButton } from './components/danger-button/danger-button.js';\nexport { Cre8PercentBar } from './components/percent-bar/percent-bar.js';\nexport { Cre8Chart } from './components/chart/chart.js';\nexport { Cre8ProgressSteps } from './components/progress-steps/progress-steps.js';\nexport { Cre8ProgressStepsItem } from './components/progress-steps-item/progress-steps-item.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC","sourcesContent":["export { type Cre8Element } from './components/cre8-element.js';\nexport { type Cre8FormElement } from './components/cre8-form-element.js';\nexport { Cre8Accordion } from './components/accordion/accordion.js';\nexport { Cre8AccordionItem } from './components/accordion-item/accordion-item.js';\nexport { Cre8UtilityNav } from './components/utility-nav/utility-nav.js';\nexport { Cre8UtilityNavItem } from './components/utility-nav-item/utility-nav-item.js';\nexport { Cre8Tooltip } from './components/tooltip/tooltip.js';\nexport { Cre8TextPassage } from './components/text-passage/text-passage.js';\nexport { Cre8TextLink } from './components/text-link/text-link.js';\nexport { Cre8TertiaryNavItem } from './components/tertiary-nav-item/tertiary-nav-item.js';\nexport { Cre8TertiaryNav } from './components/tertiary-nav/tertiary-nav.js';\nexport { Cre8TagList } from './components/tag-list/tag-list.js';\nexport { Cre8Tag } from './components/tag/tag.js';\nexport { Cre8Tabs } from './components/tabs/tabs.js';\nexport { Cre8TableRow } from './components/table-row/table-row.js';\nexport { Cre8TableObject } from './components/table-object/table-object.js';\nexport { Cre8TableHeaderCell } from './components/table-header-cell/table-header-cell.js';\nexport { Cre8TableHeader } from './components/table-header/table-header.js';\nexport { Cre8TableCell } from './components/table-cell/table-cell.js';\nexport { Cre8TableBody } from './components/table-body/table-body.js';\nexport { Cre8Table } from './components/table/table.js';\nexport { Cre8TabPanel } from './components/tab-panel/tab-panel.js';\nexport { Cre8Tab } from './components/tab/tab.js';\nexport { Cre8SubmenuItem } from './components/submenu-item/submenu-item.js';\nexport { Cre8Submenu } from './components/submenu/submenu.js';\nexport { Cre8SplitButton } from './components/split-button/split-button.js';\nexport { Cre8SkeletonLoader } from './components/skeleton-loader/skeleton-loader.js';\nexport { Cre8SelectTileList } from './components/select-tile-list/select-tile-list.js';\nexport { Cre8SelectTile } from './components/select-tile/select-tile.js';\nexport { Cre8Select } from './components/select/select.js';\nexport { Cre8Section } from './components/section/section.js';\nexport { Cre8RadioFieldItem } from './components/radio-field-item/radio-field-item.js';\nexport { Cre8RadioField } from './components/radio-field/radio-field.js';\nexport { Cre8ProgressMeter } from './components/progress-meter/progress-meter.js';\nexport { Cre8PrimaryNavItem } from './components/primary-nav-item/primary-nav-item.js';\nexport { Cre8PrimaryNav } from './components/primary-nav/primary-nav.js';\nexport { Cre8Pagination } from './components/pagination/pagination.js';\nexport { Cre8Popover } from './components/popover/popover.js';\nexport { Cre8PageHeader } from './components/page-header/page-header.js';\nexport { Cre8NavContainer } from './components/nav-container/nav-container.js';\nexport { Cre8Modal } from './components/modal/modal.js';\nexport { Cre8Main } from './components/main/main.js';\nexport { Cre8MultiSelect } from './components/multi-select/multi-select.js';\nexport { Cre8Logo } from './components/logo/logo.js';\nexport { Cre8LoadingSpinner } from './components/loading-spinner/loading-spinner.js';\nexport { Cre8ListItem } from './components/list-item/list-item.js';\nexport { Cre8List } from './components/list/list.js';\nexport { Cre8LinkListItem } from './components/link-list-item/link-list-item.js';\nexport { Cre8LinkList } from './components/link-list/link-list.js';\nexport { Cre8Link } from './components/link/link.js';\nexport { Cre8LinelengthContainer } from './components/linelength-container/linelength-container.js';\nexport { Cre8LayoutSection } from './components/layout-section/layout-section.js';\nexport { Cre8LayoutContainer } from './components/layout-container/layout-container.js';\nexport { Cre8Layout } from './components/layout/layout.js';\nexport { Cre8InlineAlert } from './components/inline-alert/inline-alert.js';\nexport { Cre8Icon } from './components/icon/icon.js';\nexport { Cre8Hero } from './components/hero/hero.js';\nexport { Cre8Heading } from './components/heading/heading.js';\nexport { Cre8Header } from './components/header/header.js';\nexport { Cre8GridItem } from './components/grid-item/grid-item.js';\nexport { Cre8Grid } from './components/grid/grid.js';\nexport { Cre8GlobalNavItem } from './components/global-nav-item/global-nav-item.js';\nexport { Cre8GlobalNav } from './components/global-nav/global-nav.js';\nexport { Cre8Footer } from './components/footer/footer.js';\nexport { Cre8Form } from './components/form/form.js';\nexport { Cre8FieldNote } from './components/field-note/field-note.js';\nexport { Cre8Field } from './components/field/field.js';\nexport { Cre8Feature } from './components/feature/feature.js';\nexport { Cre8DropdownItem } from './components/dropdown-item/dropdown-item.js';\nexport { Cre8Dropdown } from './components/dropdown/dropdown.js';\nexport { Cre8Divider } from './components/divider/divider.js';\nexport { Cre8DatePicker } from './components/date-picker/date-picker.js';\nexport { Cre8CheckboxFieldItem } from './components/checkbox-field-item/checkbox-field-item.js';\nexport { Cre8CheckboxField } from './components/checkbox-field/checkbox-field.js';\nexport { Cre8Card } from './components/card/card.js';\nexport { Cre8ButtonGroup } from './components/button-group/button-group.js';\nexport { Cre8Button } from './components/button/button.js';\nexport { Cre8BreadcrumbsItem } from './components/breadcrumbs-item/breadcrumbs-item.js';\nexport { Cre8Breadcrumbs } from './components/breadcrumbs/breadcrumbs.js';\nexport { Cre8Band } from './components/band/band.js';\nexport { Cre8Badge } from './components/badge/badge.js';\nexport { Cre8Alert } from './components/alert/alert.js';\nexport { Cre8RemoveTag } from './components/remove-tag/remove-tag.js';\nexport { Cre8DangerButton } from './components/danger-button/danger-button.js';\nexport { Cre8PercentBar } from './components/percent-bar/percent-bar.js';\nexport { Cre8Chart } from './components/chart/chart.js';\nexport { Cre8ProgressSteps } from './components/progress-steps/progress-steps.js';\nexport { Cre8ProgressStepsItem } from './components/progress-steps-item/progress-steps-item.js';\n"]}
@@ -40,6 +40,7 @@ const CATEGORY_MAP = {
40
40
  'danger-button': 'Actions',
41
41
  'button-group': 'Actions',
42
42
  'split-button': 'Actions',
43
+ 'form': 'Forms',
43
44
  'field': 'Forms',
44
45
  'field-note': 'Forms',
45
46
  'select': 'Forms',
@@ -1 +1 @@
1
- {"version":3,"file":"generate-mcp-manifest.js","sourceRoot":"","sources":["../../scripts/generate-mcp-manifest.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Generate MCP Manifest from Web Component Analyzer output.\n *\n * Reads WCA JSON output and transforms it into the MCP manifest format\n * used by the cre8-mcp server for component intelligence.\n */\n\nimport { readFileSync, writeFileSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\nconst ROOT = join(__dirname, '..');\n\n/**\n * Custom elements that register but are not part of the public API.\n *\n * These are sub-components: they call `customElements.define` as a side effect\n * of their parent being imported, but nothing exports them from `index.ts` or\n * `cdn-entry.ts`, so a consumer cannot use them on their own.\n *\n * The list is explicit because the exclusion used to be accidental — the\n * analyzer glob was `components/*​/*.ts`, one level too shallow to see anything\n * nested, so all five vanished from the manifest, the catalog, the compact\n * projection, the React manifest and custom-elements.json without anyone\n * choosing that. Now the glob reaches everything and the omission is a\n * decision, pinned here and asserted by `check-layer-parity.mjs`. Adding a\n * component can no longer silently skip the pipeline.\n *\n * To publish one: delete it here and export it from `index.ts`/`cdn-entry.ts`.\n */\nconst INTERNAL_ELEMENTS = [\n 'cre8-calendar',\n 'cre8-calendar-month-modal',\n 'cre8-calendar-navigation',\n 'cre8-calendar-year-modal',\n 'cre8-page-counter',\n];\n\n// ─── Category Mapping ────────────────────────────────────────────────\nconst CATEGORY_MAP: Record<string, string> = {\n 'button': 'Actions',\n 'danger-button': 'Actions',\n 'button-group': 'Actions',\n 'split-button': 'Actions',\n 'field': 'Forms',\n 'field-note': 'Forms',\n 'select': 'Forms',\n 'multi-select': 'Forms',\n 'checkbox-field': 'Forms',\n 'checkbox-field-group': 'Forms',\n 'checkbox-field-item': 'Forms',\n 'radio-field': 'Forms',\n 'radio-field-group': 'Forms',\n 'radio-field-item': 'Forms',\n 'date-picker': 'Forms',\n 'select-tile': 'Forms',\n 'select-tile-group': 'Forms',\n 'select-tile-list': 'Forms',\n 'toggle-field': 'Forms',\n 'text-area': 'Forms',\n 'form-fieldset': 'Forms',\n 'card': 'Layout',\n 'grid': 'Layout',\n 'grid-item': 'Layout',\n 'layout': 'Layout',\n 'layout-container': 'Layout',\n 'layout-section': 'Layout',\n 'linelength-container': 'Layout',\n 'section': 'Layout',\n 'hero': 'Layout',\n 'band': 'Layout',\n 'divider': 'Layout',\n 'main': 'Layout',\n 'heading': 'Typography',\n 'text-passage': 'Typography',\n 'text-link': 'Typography',\n 'link': 'Navigation',\n 'link-list': 'Navigation',\n 'link-list-item': 'Navigation',\n 'breadcrumbs': 'Navigation',\n 'breadcrumbs-item': 'Navigation',\n 'pagination': 'Navigation',\n 'header': 'Navigation',\n 'footer': 'Navigation',\n 'footer-nav': 'Navigation',\n 'tabs': 'Navigation',\n 'tab': 'Navigation',\n 'tab-panel': 'Navigation',\n 'global-nav': 'Navigation',\n 'global-nav-item': 'Navigation',\n 'primary-nav': 'Navigation',\n 'primary-nav-item': 'Navigation',\n 'tertiary-nav': 'Navigation',\n 'tertiary-nav-item': 'Navigation',\n 'utility-nav': 'Navigation',\n 'utility-nav-item': 'Navigation',\n 'nav-container': 'Navigation',\n 'skip-nav': 'Navigation',\n 'accordion': 'Disclosure',\n 'accordion-item': 'Disclosure',\n 'accordion-panel': 'Disclosure',\n 'dropdown': 'Disclosure',\n 'dropdown-item': 'Disclosure',\n 'modal': 'Disclosure',\n 'popover': 'Disclosure',\n 'tooltip': 'Disclosure',\n 'submenu': 'Disclosure',\n 'submenu-item': 'Disclosure',\n 'alert': 'Feedback',\n 'inline-alert': 'Feedback',\n 'badge': 'Feedback',\n 'loading-spinner': 'Feedback',\n 'skeleton-loader': 'Feedback',\n 'progress-meter': 'Feedback',\n 'percent-bar': 'Feedback',\n 'progress-steps-item': 'Feedback',\n 'table': 'Data',\n 'table-header': 'Data',\n 'table-header-cell': 'Data',\n 'table-body': 'Data',\n 'table-row': 'Data',\n 'table-cell': 'Data',\n 'table-object': 'Data',\n 'list': 'Data',\n 'list-item': 'Data',\n 'tag': 'Data',\n 'tag-list': 'Data',\n 'remove-tag': 'Data',\n 'chart': 'Data',\n 'icon': 'Media',\n 'logo': 'Media',\n 'feature': 'Marketing',\n 'page-header': 'Marketing',\n};\n\n// ─── WCA Types ───────────────────────────────────────────────────────\ninterface WcaTag {\n name: string;\n path: string;\n description?: string;\n attributes?: WcaAttribute[];\n properties?: WcaProperty[];\n slots?: WcaSlot[];\n events?: WcaEvent[];\n cssParts?: WcaCssPart[];\n cssProperties?: WcaCssProperty[];\n}\n\ninterface WcaAttribute {\n name: string;\n type?: string;\n default?: string;\n description?: string;\n}\n\ninterface WcaProperty {\n name: string;\n type?: string;\n default?: string;\n attribute?: string;\n description?: string;\n}\n\ninterface WcaSlot {\n name: string;\n description?: string;\n}\n\ninterface WcaEvent {\n name: string;\n description?: string;\n}\n\ninterface WcaCssPart {\n name: string;\n description?: string;\n}\n\ninterface WcaCssProperty {\n name: string;\n description?: string;\n}\n\ninterface WcaOutput {\n tags: WcaTag[];\n}\n\n// ─── MCP Manifest Types ─────────────────────────────────────────────\ninterface McpAttribute {\n type: string;\n values?: string[];\n default?: string | boolean | number;\n description?: string;\n}\n\ninterface McpSlot {\n description?: string;\n}\n\ninterface McpEvent {\n detail?: Record<string, unknown>;\n description?: string;\n}\n\ninterface McpCssProperty {\n description?: string;\n}\n\ninterface McpComponent {\n name: string;\n category: string;\n description: string;\n attributes: Record<string, McpAttribute>;\n properties: Record<string, { type: string; description?: string }>;\n slots: Record<string, McpSlot>;\n events: Record<string, McpEvent>;\n cssProperties: Record<string, McpCssProperty>;\n examples: Array<{ description: string; html: string }>;\n}\n\n// ─── Transform Helpers ──────────────────────────────────────────────\n\n\n/**\n * Parse a WCA type string into a base type and optional values array.\n * e.g. '\"primary\" | \"secondary\" | \"tertiary\"' → { type: 'string', values: ['primary', 'secondary', 'tertiary'] }\n */\nfunction parseType(typeStr?: string): { type: string; values?: string[] } {\n if (!typeStr) return { type: 'string' };\n\n // Check for union of string literals: \"a\" | \"b\" | \"c\"\n const unionMatch = typeStr.match(/^\"[^\"]*\"(\\s*\\|\\s*\"[^\"]*\")+$/);\n if (unionMatch) {\n const values = [...typeStr.matchAll(/\"([^\"]*)\"/g)].map(m => m[1]);\n return { type: 'string', values };\n }\n\n // Check for union with undefined: \"a\" | \"b\" | undefined\n const unionWithUndefined = typeStr.replace(/\\s*\\|\\s*undefined/g, '').trim();\n if (unionWithUndefined !== typeStr) {\n return parseType(unionWithUndefined);\n }\n\n // Map common types\n const lower = typeStr.toLowerCase().trim();\n if (lower === 'boolean' || lower === 'true | false' || lower === 'false | true') return { type: 'boolean' };\n if (lower === 'number') return { type: 'number' };\n if (lower === 'string') return { type: 'string' };\n\n return { type: typeStr };\n}\n\n/**\n * Parse a default value string into the appropriate JS type.\n */\nfunction parseDefault(defaultStr?: string, type?: string): string | boolean | number | undefined {\n if (defaultStr === undefined || defaultStr === 'undefined' || defaultStr === '\"\"' || defaultStr === \"''\") {\n return undefined;\n }\n\n // Boolean\n if (defaultStr === 'false') return false;\n if (defaultStr === 'true') return true;\n\n // Number\n if (type === 'number' && !isNaN(Number(defaultStr))) {\n return Number(defaultStr);\n }\n\n // Strip quotes\n const unquoted = defaultStr.replace(/^[\"']|[\"']$/g, '');\n return unquoted || undefined;\n}\n\n/**\n * Get the component short name (without cre8- prefix) for category lookup.\n */\nfunction getShortName(tagName: string): string {\n return tagName.replace(/^cre8-/, '');\n}\n\n/**\n * Determine category from component name.\n */\nfunction getCategory(tagName: string): string {\n const short = getShortName(tagName);\n return CATEGORY_MAP[short] || 'Other';\n}\n\n/**\n * Generate basic examples for a component based on its attributes.\n */\nfunction generateExamples(tag: WcaTag): Array<{ description: string; html: string }> {\n const examples: Array<{ description: string; html: string }> = [];\n const name = tag.name;\n\n // Find variant attribute\n const variantAttr = tag.attributes?.find(a => a.name === 'variant');\n const textAttr = tag.attributes?.find(a => a.name === 'text');\n\n if (variantAttr) {\n const { values } = parseType(variantAttr.type);\n if (values && values.length > 0) {\n const primaryVariant = values[0];\n let attrs = `variant=\"${primaryVariant}\"`;\n if (textAttr) attrs += ` text=\"${capitalize(getShortName(name))}\"`;\n examples.push({\n description: `${capitalize(primaryVariant)} ${getShortName(name)}`,\n html: `<${name} ${attrs}></${name}>`,\n });\n }\n } else if (textAttr) {\n examples.push({\n description: `Basic ${getShortName(name)}`,\n html: `<${name} text=\"${capitalize(getShortName(name))}\"></${name}>`,\n });\n }\n\n return examples;\n}\n\nfunction capitalize(s: string): string {\n return s.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');\n}\n\n// ─── Main Transform ─────────────────────────────────────────────────\n\nfunction transformTag(tag: WcaTag): McpComponent {\n // Separate WCA attributes into true HTML attributes vs JS-only properties.\n // In Lit, @property() without an explicit `attribute:` option auto-creates\n // a lowercased attribute. But camelCase names (e.g. iconRotateDegree →\n // \"iconrotatedegree\") are awkward and rarely used as HTML attributes in\n // practice. We treat those as properties instead.\n const attributes: Record<string, McpAttribute> = {};\n const properties: Record<string, { type: string; values?: string[]; default?: string | boolean | number; description?: string }> = {};\n\n // Build a set of property names that WCA links to attributes\n\n\n for (const attr of tag.attributes || []) {\n const { type, values } = parseType(attr.type);\n const defaultValue = parseDefault(attr.default, type);\n const isCamelCase = /[A-Z]/.test(attr.name);\n\n const entry: McpAttribute = { type };\n if (values) entry.values = values;\n if (defaultValue !== undefined) entry.default = defaultValue;\n if (attr.description) entry.description = attr.description;\n\n if (isCamelCase) {\n // CamelCase → treat as a JS property (set via .prop or Lit binding)\n properties[attr.name] = entry;\n } else {\n // Simple lowercase name → genuine HTML attribute\n attributes[attr.name] = entry;\n }\n }\n\n // Add properties that WCA lists with no attribute linkage (true prop-only),\n // but skip inherited Lit/DOM internals that aren't useful for consumers\n const SKIP_PROPERTIES = new Set([\n 'styles', 'formAssociated', 'field', 'form', 'validationMessage',\n 'validity', 'willValidate', 'shadowRoot', 'renderRoot',\n 'isUpdatePending', 'hasUpdated', 'updateComplete',\n ]);\n for (const prop of tag.properties || []) {\n if (prop.attribute) continue; // Already handled above\n if (SKIP_PROPERTIES.has(prop.name)) continue;\n const { type } = parseType(prop.type);\n const entry: { type: string; description?: string } = { type };\n if (prop.description) entry.description = prop.description;\n properties[prop.name] = entry;\n }\n\n // Transform slots\n const slots: Record<string, McpSlot> = {};\n for (const slot of tag.slots || []) {\n const slotName = slot.name || 'default';\n slots[slotName] = {};\n if (slot.description) slots[slotName].description = slot.description;\n }\n\n // Transform events\n const events: Record<string, McpEvent> = {};\n for (const event of tag.events || []) {\n events[event.name] = { detail: {} };\n if (event.description) events[event.name].description = event.description;\n }\n\n // Transform CSS properties\n const cssProperties: Record<string, McpCssProperty> = {};\n for (const cssProp of tag.cssProperties || []) {\n cssProperties[cssProp.name] = {};\n if (cssProp.description) cssProperties[cssProp.name].description = cssProp.description;\n }\n\n return {\n name: tag.name,\n category: getCategory(tag.name),\n description: tag.description || `${capitalize(getShortName(tag.name))} component.`,\n attributes,\n properties,\n slots,\n events,\n cssProperties,\n examples: generateExamples(tag),\n };\n}\n\nfunction main() {\n // Read WCA output\n const wcaPath = process.argv[2] || '/tmp/wca-raw.json';\n console.log(`Reading WCA output from: ${wcaPath}`);\n\n let wcaData: WcaOutput;\n try {\n wcaData = JSON.parse(readFileSync(wcaPath, 'utf-8'));\n } catch (err) {\n console.error(`Failed to read WCA output: ${err}`);\n process.exit(1);\n }\n\n console.log(`Found ${wcaData.tags.length} tags in WCA output`);\n\n // Read static data\n const staticData = JSON.parse(\n readFileSync(join(__dirname, 'mcp-static-data.json'), 'utf-8')\n );\n\n // Read package.json for version and dependencies\n const pkgJson = JSON.parse(\n readFileSync(join(ROOT, 'package.json'), 'utf-8')\n );\n\n // Transform components\n const seen = new Set(wcaData.tags.map(t => t.name).filter(n => n.startsWith('cre8-')));\n const missingInternals = INTERNAL_ELEMENTS.filter(n => !seen.has(n));\n if (missingInternals.length) {\n throw new Error(\n `INTERNAL_ELEMENTS lists element(s) the analyzer no longer sees: ${missingInternals.join(', ')}. ` +\n `Remove them from the list, or fix the analyzer glob.`\n );\n }\n\n const components = wcaData.tags\n .filter(tag => tag.name.startsWith('cre8-'))\n .filter(tag => !INTERNAL_ELEMENTS.includes(tag.name))\n .map(transformTag)\n .sort((a, b) => {\n // Sort by category, then name\n const catCompare = a.category.localeCompare(b.category);\n if (catCompare !== 0) return catCompare;\n return a.name.localeCompare(b.name);\n });\n\n console.log(`Transformed ${components.length} components`);\n\n // Log category distribution\n const categories: Record<string, number> = {};\n for (const comp of components) {\n categories[comp.category] = (categories[comp.category] || 0) + 1;\n }\n console.log('Categories:', JSON.stringify(categories, null, 2));\n\n // Build dependencies from package.json\n const dependencies: Record<string, string> = {};\n const depKeys = ['lit', '@lit/context', '@lit/react', '@a11y/focus-trap', 'chart.js', 'classnames', 'nanoid', 'zod'];\n for (const key of depKeys) {\n if (pkgJson.dependencies?.[key]) {\n dependencies[key] = pkgJson.dependencies[key];\n }\n }\n\n // Build manifest\n const manifest = {\n version: pkgJson.version,\n library: pkgJson.name,\n tagPrefix: 'cre8',\n description: pkgJson.description,\n framework: `Lit ${pkgJson.dependencies?.lit || '3.x'}`,\n /**\n * Elements that register but are intentionally absent from `components`.\n * Recorded here so `check-layer-parity.mjs` can tell a deliberate omission\n * from a component that silently fell out of the pipeline, without keeping\n * a second copy of the list.\n */\n internalElements: INTERNAL_ELEMENTS,\n components,\n baseClasses: staticData.baseClasses,\n patterns: staticData.patterns,\n designTokens: staticData.designTokens,\n accessibility: staticData.accessibility,\n dependencies,\n };\n\n // Write output\n const outputPath = join(ROOT, 'mcp-manifest.json');\n writeFileSync(outputPath, JSON.stringify(manifest, null, 2) + '\\n');\n console.log(`Wrote manifest to: ${outputPath}`);\n console.log(`Total components: ${components.length}`);\n}\n\nmain();\n"]}
1
+ {"version":3,"file":"generate-mcp-manifest.js","sourceRoot":"","sources":["../../scripts/generate-mcp-manifest.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Generate MCP Manifest from Web Component Analyzer output.\n *\n * Reads WCA JSON output and transforms it into the MCP manifest format\n * used by the cre8-mcp server for component intelligence.\n */\n\nimport { readFileSync, writeFileSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\nconst ROOT = join(__dirname, '..');\n\n/**\n * Custom elements that register but are not part of the public API.\n *\n * These are sub-components: they call `customElements.define` as a side effect\n * of their parent being imported, but nothing exports them from `index.ts` or\n * `cdn-entry.ts`, so a consumer cannot use them on their own.\n *\n * The list is explicit because the exclusion used to be accidental — the\n * analyzer glob was `components/*​/*.ts`, one level too shallow to see anything\n * nested, so all five vanished from the manifest, the catalog, the compact\n * projection, the React manifest and custom-elements.json without anyone\n * choosing that. Now the glob reaches everything and the omission is a\n * decision, pinned here and asserted by `check-layer-parity.mjs`. Adding a\n * component can no longer silently skip the pipeline.\n *\n * To publish one: delete it here and export it from `index.ts`/`cdn-entry.ts`.\n */\nconst INTERNAL_ELEMENTS = [\n 'cre8-calendar',\n 'cre8-calendar-month-modal',\n 'cre8-calendar-navigation',\n 'cre8-calendar-year-modal',\n 'cre8-page-counter',\n];\n\n// ─── Category Mapping ────────────────────────────────────────────────\nconst CATEGORY_MAP: Record<string, string> = {\n 'button': 'Actions',\n 'danger-button': 'Actions',\n 'button-group': 'Actions',\n 'split-button': 'Actions',\n 'form': 'Forms',\n 'field': 'Forms',\n 'field-note': 'Forms',\n 'select': 'Forms',\n 'multi-select': 'Forms',\n 'checkbox-field': 'Forms',\n 'checkbox-field-group': 'Forms',\n 'checkbox-field-item': 'Forms',\n 'radio-field': 'Forms',\n 'radio-field-group': 'Forms',\n 'radio-field-item': 'Forms',\n 'date-picker': 'Forms',\n 'select-tile': 'Forms',\n 'select-tile-group': 'Forms',\n 'select-tile-list': 'Forms',\n 'toggle-field': 'Forms',\n 'text-area': 'Forms',\n 'form-fieldset': 'Forms',\n 'card': 'Layout',\n 'grid': 'Layout',\n 'grid-item': 'Layout',\n 'layout': 'Layout',\n 'layout-container': 'Layout',\n 'layout-section': 'Layout',\n 'linelength-container': 'Layout',\n 'section': 'Layout',\n 'hero': 'Layout',\n 'band': 'Layout',\n 'divider': 'Layout',\n 'main': 'Layout',\n 'heading': 'Typography',\n 'text-passage': 'Typography',\n 'text-link': 'Typography',\n 'link': 'Navigation',\n 'link-list': 'Navigation',\n 'link-list-item': 'Navigation',\n 'breadcrumbs': 'Navigation',\n 'breadcrumbs-item': 'Navigation',\n 'pagination': 'Navigation',\n 'header': 'Navigation',\n 'footer': 'Navigation',\n 'footer-nav': 'Navigation',\n 'tabs': 'Navigation',\n 'tab': 'Navigation',\n 'tab-panel': 'Navigation',\n 'global-nav': 'Navigation',\n 'global-nav-item': 'Navigation',\n 'primary-nav': 'Navigation',\n 'primary-nav-item': 'Navigation',\n 'tertiary-nav': 'Navigation',\n 'tertiary-nav-item': 'Navigation',\n 'utility-nav': 'Navigation',\n 'utility-nav-item': 'Navigation',\n 'nav-container': 'Navigation',\n 'skip-nav': 'Navigation',\n 'accordion': 'Disclosure',\n 'accordion-item': 'Disclosure',\n 'accordion-panel': 'Disclosure',\n 'dropdown': 'Disclosure',\n 'dropdown-item': 'Disclosure',\n 'modal': 'Disclosure',\n 'popover': 'Disclosure',\n 'tooltip': 'Disclosure',\n 'submenu': 'Disclosure',\n 'submenu-item': 'Disclosure',\n 'alert': 'Feedback',\n 'inline-alert': 'Feedback',\n 'badge': 'Feedback',\n 'loading-spinner': 'Feedback',\n 'skeleton-loader': 'Feedback',\n 'progress-meter': 'Feedback',\n 'percent-bar': 'Feedback',\n 'progress-steps-item': 'Feedback',\n 'table': 'Data',\n 'table-header': 'Data',\n 'table-header-cell': 'Data',\n 'table-body': 'Data',\n 'table-row': 'Data',\n 'table-cell': 'Data',\n 'table-object': 'Data',\n 'list': 'Data',\n 'list-item': 'Data',\n 'tag': 'Data',\n 'tag-list': 'Data',\n 'remove-tag': 'Data',\n 'chart': 'Data',\n 'icon': 'Media',\n 'logo': 'Media',\n 'feature': 'Marketing',\n 'page-header': 'Marketing',\n};\n\n// ─── WCA Types ───────────────────────────────────────────────────────\ninterface WcaTag {\n name: string;\n path: string;\n description?: string;\n attributes?: WcaAttribute[];\n properties?: WcaProperty[];\n slots?: WcaSlot[];\n events?: WcaEvent[];\n cssParts?: WcaCssPart[];\n cssProperties?: WcaCssProperty[];\n}\n\ninterface WcaAttribute {\n name: string;\n type?: string;\n default?: string;\n description?: string;\n}\n\ninterface WcaProperty {\n name: string;\n type?: string;\n default?: string;\n attribute?: string;\n description?: string;\n}\n\ninterface WcaSlot {\n name: string;\n description?: string;\n}\n\ninterface WcaEvent {\n name: string;\n description?: string;\n}\n\ninterface WcaCssPart {\n name: string;\n description?: string;\n}\n\ninterface WcaCssProperty {\n name: string;\n description?: string;\n}\n\ninterface WcaOutput {\n tags: WcaTag[];\n}\n\n// ─── MCP Manifest Types ─────────────────────────────────────────────\ninterface McpAttribute {\n type: string;\n values?: string[];\n default?: string | boolean | number;\n description?: string;\n}\n\ninterface McpSlot {\n description?: string;\n}\n\ninterface McpEvent {\n detail?: Record<string, unknown>;\n description?: string;\n}\n\ninterface McpCssProperty {\n description?: string;\n}\n\ninterface McpComponent {\n name: string;\n category: string;\n description: string;\n attributes: Record<string, McpAttribute>;\n properties: Record<string, { type: string; description?: string }>;\n slots: Record<string, McpSlot>;\n events: Record<string, McpEvent>;\n cssProperties: Record<string, McpCssProperty>;\n examples: Array<{ description: string; html: string }>;\n}\n\n// ─── Transform Helpers ──────────────────────────────────────────────\n\n\n/**\n * Parse a WCA type string into a base type and optional values array.\n * e.g. '\"primary\" | \"secondary\" | \"tertiary\"' → { type: 'string', values: ['primary', 'secondary', 'tertiary'] }\n */\nfunction parseType(typeStr?: string): { type: string; values?: string[] } {\n if (!typeStr) return { type: 'string' };\n\n // Check for union of string literals: \"a\" | \"b\" | \"c\"\n const unionMatch = typeStr.match(/^\"[^\"]*\"(\\s*\\|\\s*\"[^\"]*\")+$/);\n if (unionMatch) {\n const values = [...typeStr.matchAll(/\"([^\"]*)\"/g)].map(m => m[1]);\n return { type: 'string', values };\n }\n\n // Check for union with undefined: \"a\" | \"b\" | undefined\n const unionWithUndefined = typeStr.replace(/\\s*\\|\\s*undefined/g, '').trim();\n if (unionWithUndefined !== typeStr) {\n return parseType(unionWithUndefined);\n }\n\n // Map common types\n const lower = typeStr.toLowerCase().trim();\n if (lower === 'boolean' || lower === 'true | false' || lower === 'false | true') return { type: 'boolean' };\n if (lower === 'number') return { type: 'number' };\n if (lower === 'string') return { type: 'string' };\n\n return { type: typeStr };\n}\n\n/**\n * Parse a default value string into the appropriate JS type.\n */\nfunction parseDefault(defaultStr?: string, type?: string): string | boolean | number | undefined {\n if (defaultStr === undefined || defaultStr === 'undefined' || defaultStr === '\"\"' || defaultStr === \"''\") {\n return undefined;\n }\n\n // Boolean\n if (defaultStr === 'false') return false;\n if (defaultStr === 'true') return true;\n\n // Number\n if (type === 'number' && !isNaN(Number(defaultStr))) {\n return Number(defaultStr);\n }\n\n // Strip quotes\n const unquoted = defaultStr.replace(/^[\"']|[\"']$/g, '');\n return unquoted || undefined;\n}\n\n/**\n * Get the component short name (without cre8- prefix) for category lookup.\n */\nfunction getShortName(tagName: string): string {\n return tagName.replace(/^cre8-/, '');\n}\n\n/**\n * Determine category from component name.\n */\nfunction getCategory(tagName: string): string {\n const short = getShortName(tagName);\n return CATEGORY_MAP[short] || 'Other';\n}\n\n/**\n * Generate basic examples for a component based on its attributes.\n */\nfunction generateExamples(tag: WcaTag): Array<{ description: string; html: string }> {\n const examples: Array<{ description: string; html: string }> = [];\n const name = tag.name;\n\n // Find variant attribute\n const variantAttr = tag.attributes?.find(a => a.name === 'variant');\n const textAttr = tag.attributes?.find(a => a.name === 'text');\n\n if (variantAttr) {\n const { values } = parseType(variantAttr.type);\n if (values && values.length > 0) {\n const primaryVariant = values[0];\n let attrs = `variant=\"${primaryVariant}\"`;\n if (textAttr) attrs += ` text=\"${capitalize(getShortName(name))}\"`;\n examples.push({\n description: `${capitalize(primaryVariant)} ${getShortName(name)}`,\n html: `<${name} ${attrs}></${name}>`,\n });\n }\n } else if (textAttr) {\n examples.push({\n description: `Basic ${getShortName(name)}`,\n html: `<${name} text=\"${capitalize(getShortName(name))}\"></${name}>`,\n });\n }\n\n return examples;\n}\n\nfunction capitalize(s: string): string {\n return s.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');\n}\n\n// ─── Main Transform ─────────────────────────────────────────────────\n\nfunction transformTag(tag: WcaTag): McpComponent {\n // Separate WCA attributes into true HTML attributes vs JS-only properties.\n // In Lit, @property() without an explicit `attribute:` option auto-creates\n // a lowercased attribute. But camelCase names (e.g. iconRotateDegree →\n // \"iconrotatedegree\") are awkward and rarely used as HTML attributes in\n // practice. We treat those as properties instead.\n const attributes: Record<string, McpAttribute> = {};\n const properties: Record<string, { type: string; values?: string[]; default?: string | boolean | number; description?: string }> = {};\n\n // Build a set of property names that WCA links to attributes\n\n\n for (const attr of tag.attributes || []) {\n const { type, values } = parseType(attr.type);\n const defaultValue = parseDefault(attr.default, type);\n const isCamelCase = /[A-Z]/.test(attr.name);\n\n const entry: McpAttribute = { type };\n if (values) entry.values = values;\n if (defaultValue !== undefined) entry.default = defaultValue;\n if (attr.description) entry.description = attr.description;\n\n if (isCamelCase) {\n // CamelCase → treat as a JS property (set via .prop or Lit binding)\n properties[attr.name] = entry;\n } else {\n // Simple lowercase name → genuine HTML attribute\n attributes[attr.name] = entry;\n }\n }\n\n // Add properties that WCA lists with no attribute linkage (true prop-only),\n // but skip inherited Lit/DOM internals that aren't useful for consumers\n const SKIP_PROPERTIES = new Set([\n 'styles', 'formAssociated', 'field', 'form', 'validationMessage',\n 'validity', 'willValidate', 'shadowRoot', 'renderRoot',\n 'isUpdatePending', 'hasUpdated', 'updateComplete',\n ]);\n for (const prop of tag.properties || []) {\n if (prop.attribute) continue; // Already handled above\n if (SKIP_PROPERTIES.has(prop.name)) continue;\n const { type } = parseType(prop.type);\n const entry: { type: string; description?: string } = { type };\n if (prop.description) entry.description = prop.description;\n properties[prop.name] = entry;\n }\n\n // Transform slots\n const slots: Record<string, McpSlot> = {};\n for (const slot of tag.slots || []) {\n const slotName = slot.name || 'default';\n slots[slotName] = {};\n if (slot.description) slots[slotName].description = slot.description;\n }\n\n // Transform events\n const events: Record<string, McpEvent> = {};\n for (const event of tag.events || []) {\n events[event.name] = { detail: {} };\n if (event.description) events[event.name].description = event.description;\n }\n\n // Transform CSS properties\n const cssProperties: Record<string, McpCssProperty> = {};\n for (const cssProp of tag.cssProperties || []) {\n cssProperties[cssProp.name] = {};\n if (cssProp.description) cssProperties[cssProp.name].description = cssProp.description;\n }\n\n return {\n name: tag.name,\n category: getCategory(tag.name),\n description: tag.description || `${capitalize(getShortName(tag.name))} component.`,\n attributes,\n properties,\n slots,\n events,\n cssProperties,\n examples: generateExamples(tag),\n };\n}\n\nfunction main() {\n // Read WCA output\n const wcaPath = process.argv[2] || '/tmp/wca-raw.json';\n console.log(`Reading WCA output from: ${wcaPath}`);\n\n let wcaData: WcaOutput;\n try {\n wcaData = JSON.parse(readFileSync(wcaPath, 'utf-8'));\n } catch (err) {\n console.error(`Failed to read WCA output: ${err}`);\n process.exit(1);\n }\n\n console.log(`Found ${wcaData.tags.length} tags in WCA output`);\n\n // Read static data\n const staticData = JSON.parse(\n readFileSync(join(__dirname, 'mcp-static-data.json'), 'utf-8')\n );\n\n // Read package.json for version and dependencies\n const pkgJson = JSON.parse(\n readFileSync(join(ROOT, 'package.json'), 'utf-8')\n );\n\n // Transform components\n const seen = new Set(wcaData.tags.map(t => t.name).filter(n => n.startsWith('cre8-')));\n const missingInternals = INTERNAL_ELEMENTS.filter(n => !seen.has(n));\n if (missingInternals.length) {\n throw new Error(\n `INTERNAL_ELEMENTS lists element(s) the analyzer no longer sees: ${missingInternals.join(', ')}. ` +\n `Remove them from the list, or fix the analyzer glob.`\n );\n }\n\n const components = wcaData.tags\n .filter(tag => tag.name.startsWith('cre8-'))\n .filter(tag => !INTERNAL_ELEMENTS.includes(tag.name))\n .map(transformTag)\n .sort((a, b) => {\n // Sort by category, then name\n const catCompare = a.category.localeCompare(b.category);\n if (catCompare !== 0) return catCompare;\n return a.name.localeCompare(b.name);\n });\n\n console.log(`Transformed ${components.length} components`);\n\n // Log category distribution\n const categories: Record<string, number> = {};\n for (const comp of components) {\n categories[comp.category] = (categories[comp.category] || 0) + 1;\n }\n console.log('Categories:', JSON.stringify(categories, null, 2));\n\n // Build dependencies from package.json\n const dependencies: Record<string, string> = {};\n const depKeys = ['lit', '@lit/context', '@lit/react', '@a11y/focus-trap', 'chart.js', 'classnames', 'nanoid', 'zod'];\n for (const key of depKeys) {\n if (pkgJson.dependencies?.[key]) {\n dependencies[key] = pkgJson.dependencies[key];\n }\n }\n\n // Build manifest\n const manifest = {\n version: pkgJson.version,\n library: pkgJson.name,\n tagPrefix: 'cre8',\n description: pkgJson.description,\n framework: `Lit ${pkgJson.dependencies?.lit || '3.x'}`,\n /**\n * Elements that register but are intentionally absent from `components`.\n * Recorded here so `check-layer-parity.mjs` can tell a deliberate omission\n * from a component that silently fell out of the pipeline, without keeping\n * a second copy of the list.\n */\n internalElements: INTERNAL_ELEMENTS,\n components,\n baseClasses: staticData.baseClasses,\n patterns: staticData.patterns,\n designTokens: staticData.designTokens,\n accessibility: staticData.accessibility,\n dependencies,\n };\n\n // Write output\n const outputPath = join(ROOT, 'mcp-manifest.json');\n writeFileSync(outputPath, JSON.stringify(manifest, null, 2) + '\\n');\n console.log(`Wrote manifest to: ${outputPath}`);\n console.log(`Total components: ${components.length}`);\n}\n\nmain();\n"]}
@@ -1,8 +1,9 @@
1
- declare global {
2
- namespace jest {
3
- interface Matchers<R> {
4
- toBeAccessible(): R;
5
- }
1
+ declare module 'vitest' {
2
+ interface Assertion<T = any> {
3
+ toBeAccessible(): Promise<T>;
4
+ }
5
+ interface AsymmetricMatchersContaining {
6
+ toBeAccessible(): Promise<void>;
6
7
  }
7
8
  }
8
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"toBeAccessible.d.ts","sourceRoot":"","sources":["../toBeAccessible.ts"],"names":[],"mappings":"AAuBA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,IAAI,CAAC;QACb,UAAU,QAAQ,CAAC,CAAC;YAClB,cAAc,IAAI,CAAC,CAAC;SACrB;KACF;CACF"}
1
+ {"version":3,"file":"toBeAccessible.d.ts","sourceRoot":"","sources":["../toBeAccessible.ts"],"names":[],"mappings":"AAuBA,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG;QACzB,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,UAAU,4BAA4B;QACpC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACjC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-namespace */
2
- import { expect } from '@jest/globals';
2
+ import { expect } from 'vitest';
3
3
  import { axe, toHaveNoViolations } from 'jest-axe';
4
4
  const defaultAxeOptions = {
5
5
  runOnly: {
@@ -1 +1 @@
1
- {"version":3,"file":"toBeAccessible.js","sourceRoot":"","sources":["../toBeAccessible.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,iBAAiB,GAAG;IACtB,OAAO,EAAE;QACL,IAAI,EAAE,KAAc;QACxB,+FAA+F;QAC/F,mEAAmE;QAC/D,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;KACvD;CACJ,CAAC;AAEF,6FAA6F;AAC7F,MAAM,cAAc,GAAG,KAAK,EAAE,IAAiB,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\n\nimport { expect } from '@jest/globals';\nimport { axe, toHaveNoViolations } from 'jest-axe';\n\nconst defaultAxeOptions = {\n runOnly: {\n type: 'tag' as const,\n // Note that although WCAG 2.1 is inclusive of WCAG 2.0 in their guidelines, axe-core currently\n // still separates these tags so we must include them for coverage.\n values: ['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa'],\n },\n};\n\n// axeOptions: https://github.com/dequelabs/axe-core/blob/master/doc/API.md#options-parameter\nconst toBeAccessible = async (html: HTMLElement) => {\n const results = await axe(html, { ...defaultAxeOptions, frameWaitTime: 10000 });\n return toHaveNoViolations.toHaveNoViolations(results);\n};\n\nexpect.extend({ toBeAccessible });\n\n\ndeclare global {\n namespace jest {\n interface Matchers<R> {\n toBeAccessible(): R;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"toBeAccessible.js","sourceRoot":"","sources":["../toBeAccessible.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,iBAAiB,GAAG;IACtB,OAAO,EAAE;QACL,IAAI,EAAE,KAAc;QACxB,+FAA+F;QAC/F,mEAAmE;QAC/D,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;KACvD;CACJ,CAAC;AAEF,6FAA6F;AAC7F,MAAM,cAAc,GAAG,KAAK,EAAE,IAAiB,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\n\nimport { expect } from 'vitest';\nimport { axe, toHaveNoViolations } from 'jest-axe';\n\nconst defaultAxeOptions = {\n runOnly: {\n type: 'tag' as const,\n // Note that although WCAG 2.1 is inclusive of WCAG 2.0 in their guidelines, axe-core currently\n // still separates these tags so we must include them for coverage.\n values: ['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa'],\n },\n};\n\n// axeOptions: https://github.com/dequelabs/axe-core/blob/master/doc/API.md#options-parameter\nconst toBeAccessible = async (html: HTMLElement) => {\n const results = await axe(html, { ...defaultAxeOptions, frameWaitTime: 10000 });\n return toHaveNoViolations.toHaveNoViolations(results);\n};\n\nexpect.extend({ toBeAccessible });\n\n\ndeclare module 'vitest' {\n interface Assertion<T = any> {\n toBeAccessible(): Promise<T>;\n }\n interface AsymmetricMatchersContaining {\n toBeAccessible(): Promise<void>;\n }\n}\n"]}
package/mcp-manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.1.1",
2
+ "version": "2.2.0",
3
3
  "library": "@tmorrow/cre8-wc",
4
4
  "tagPrefix": "cre8",
5
5
  "description": "cre8 Web Components is a library of presentational UI web components to be consumed by # web applications.",
@@ -2149,6 +2149,49 @@
2149
2149
  "cssProperties": {},
2150
2150
  "examples": []
2151
2151
  },
2152
+ {
2153
+ "name": "cre8-form",
2154
+ "category": "Forms",
2155
+ "description": "The form component groups form-associated Cre8 controls, aggregates their\nvalidation on submit, and orchestrates submit and reset.\n\n# How to Use\n1. Place any Cre8 form controls inside `cre8-form`. They may be nested inside\n layout components such as `cre8-grid` or `cre8-layout`.\n2. Add a `cre8-button` with `type=\"submit\"` to submit the form.\n3. Listen for `form-submit` to receive the collected `FormData`.\n\nNote: this component renders to light DOM. A form-associated control's form\nowner is the nearest `<form>` in its own node tree, so a shadow-DOM `<form>`\nwould own nothing and `new FormData(form)` would come back empty.",
2156
+ "attributes": {
2157
+ "novalidate": {
2158
+ "type": "boolean",
2159
+ "description": "Skips aggregate validation on submit."
2160
+ },
2161
+ "disabled": {
2162
+ "type": "boolean",
2163
+ "description": "Disables every control in the form, for example while submitting."
2164
+ }
2165
+ },
2166
+ "properties": {
2167
+ "controls": {
2168
+ "type": "Cre8FormElement[]",
2169
+ "description": "Every form-associated Cre8 control owned by this form, in document order.\nReaches through layout components because slotting does not move nodes\nout of the light-DOM tree."
2170
+ },
2171
+ "values": {
2172
+ "type": "Record<string, FormDataEntryValue | FormDataEntryValue[]>",
2173
+ "description": "The form's current values, derived from FormData."
2174
+ }
2175
+ },
2176
+ "slots": {
2177
+ "default": {
2178
+ "description": "The form's controls and layout."
2179
+ }
2180
+ },
2181
+ "events": {
2182
+ "form-submit": {
2183
+ "detail": {}
2184
+ },
2185
+ "form-reset": {
2186
+ "detail": {}
2187
+ },
2188
+ "form-invalid": {
2189
+ "detail": {}
2190
+ }
2191
+ },
2192
+ "cssProperties": {},
2193
+ "examples": []
2194
+ },
2152
2195
  {
2153
2196
  "name": "cre8-multi-select",
2154
2197
  "category": "Forms",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tmorrow/cre8-wc",
3
- "version": "2.1.1",
3
+ "version": "2.2.2",
4
4
  "description": "cre8 Web Components is a library of presentational UI web components to be consumed by # web applications.",
5
5
  "license": "BSD-3-Clause",
6
6
  "scripts": {
@@ -13,17 +13,21 @@
13
13
  "build:react-manifest": "npx tsx scripts/generate-react-manifest.ts",
14
14
  "build:cdn": "rm -rf cdn && vite build --config vite.config.cdn.ts",
15
15
  "build:react": "rm -rf react-wrappers/components react-wrappers/dist react-wrappers/index.ts && npx tsx scripts/generate-react-wrappers.ts && cd react-wrappers && npx tsc",
16
- "build:a2ui": "pnpm run build:a2ui:catalog && pnpm run build:a2ui:compile",
16
+ "build:a2ui": "pnpm run build:a2ui:catalog && pnpm run build:a2ui:kg && pnpm run build:a2ui:compile",
17
17
  "build:a2ui:catalog": "node a2ui/generate-catalog.mjs",
18
+ "build:a2ui:kg": "node a2ui/generate-catalog-kg.mjs",
18
19
  "build:a2ui:compile": "tsc --module esnext --moduleResolution bundler --target es2022 --lib es2022,dom,dom.iterable --strict --skipLibCheck --declaration --outDir a2ui a2ui/types.ts a2ui/registry.ts a2ui/renderer.ts a2ui/index.ts a2ui/stream/types.ts a2ui/stream/pointer.ts a2ui/stream/model.ts a2ui/stream/renderer.ts a2ui/stream/diff.ts a2ui/stream/index.ts",
19
20
  "a2ui:demo": "python3 -m http.server 8765",
20
21
  "storybook:react": "pnpm run build:react && cd react-wrappers && npx storybook dev -p 9009",
21
22
  "build-storybook:react": "pnpm run build:react && cd react-wrappers && npx storybook build -o dist-storybook",
22
- "build:all": "pnpm run build:cdn && pnpm run build",
23
+ "build:all": "pnpm run build",
23
24
  "build:watch": "vite build --watch",
24
25
  "build:custom-elements.json": "npx @custom-elements-manifest/analyzer analyze --litelement --globs \"components/*/*.ts\" --outdir .storybook",
25
- "test": "jest --verbose",
26
- "test:jenkins": "jest --coverage=false --ci --runInBand --silent --bail",
26
+ "test": "vitest run --project=unit",
27
+ "test:watch": "vitest --project=unit",
28
+ "test:storybook": "vitest run --project=storybook",
29
+ "test:all": "vitest run",
30
+ "test:jenkins": "vitest run --project=unit --coverage=false --bail=1",
27
31
  "storybook-docs": "storybook dev --docs",
28
32
  "storybook": "storybook dev -p 6006",
29
33
  "build-storybook": "del-cli dist && storybook build -o dist",
@@ -140,6 +144,7 @@
140
144
  "@storybook/addon-docs": "10.5.4",
141
145
  "@storybook/addon-mcp": "^0.5.0",
142
146
  "@storybook/addon-themes": "10.5.4",
147
+ "@storybook/addon-vitest": "10.5.4",
143
148
  "@storybook/builder-vite": "10.5.4",
144
149
  "@storybook/react": "10.5.4",
145
150
  "@storybook/react-vite": "10.5.4",
@@ -147,31 +152,28 @@
147
152
  "@storybook/web-components-vite": "10.5.4",
148
153
  "@testing-library/jest-dom": "^6.9.1",
149
154
  "@testing-library/user-event": "^14.6.1",
150
- "@types/jest": "^30.0.0",
151
155
  "@types/jest-axe": "^3.5.9",
152
156
  "@types/resize-observer-browser": "^0.1.11",
153
157
  "@types/sanitize-html": "^2.16.0",
154
158
  "@typescript-eslint/eslint-plugin": "^8.46.3",
155
159
  "@typescript-eslint/parser": "^8.46.3",
156
160
  "@vitejs/plugin-react": "^5.2.0",
161
+ "@vitest/browser-playwright": "4.1.8",
162
+ "@vitest/coverage-v8": "^4.1.10",
157
163
  "@wc-toolkit/storybook-helpers": "^10.5.1",
158
- "babel-jest": "^30.2.0",
159
164
  "clone": "^2.1.2",
160
165
  "css-parse": "2.0.0",
161
166
  "del-cli": "^7.0.0",
162
167
  "dotenv": "^17.2.3",
163
168
  "element-internals-polyfill": "^3.0.2",
164
169
  "glob": "^11.0.3",
165
- "identity-obj-proxy": "^3.0.0",
166
- "jest": "^30.2.0",
167
170
  "jest-axe": "^10.0.0",
168
- "jest-canvas-mock": "^2.5.2",
169
- "jest-environment-jsdom": "^30.2.0",
170
171
  "js-yaml": "^4.1.0",
171
172
  "jsdom": "^27.1.0",
172
173
  "lint-staged": "^16.2.6",
173
174
  "loader-utils": "^3.3.1",
174
175
  "marked": "^17.0.0",
176
+ "playwright": "^1.62.1",
175
177
  "plop": "^4.0.4",
176
178
  "postcss": "^8.5.6",
177
179
  "react": "^19.2.0",
@@ -182,12 +184,13 @@
182
184
  "storybook": "10.5.4",
183
185
  "style-dictionary": "^5.1.1",
184
186
  "style-loader": "^4.0.0",
185
- "ts-jest": "^29.4.5",
186
187
  "ts-lit-plugin": "^2.0.2",
187
188
  "ts-node": "^10.9.2",
188
189
  "tsx": "^4.21.0",
189
190
  "typescript": "^5.9.3",
190
- "vite": "^7.2.2"
191
+ "vite": "^7.2.2",
192
+ "vitest": "^4.1.8",
193
+ "vitest-canvas-mock": "^1.1.4"
191
194
  },
192
195
  "lint-staged": {
193
196
  "*.ts": "eslint --cache --fix"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.1.1",
2
+ "version": "2.2.0",
3
3
  "library": "@tmorrow/cre8-react",
4
4
  "componentPrefix": "Cre8",
5
5
  "description": "React wrappers for cre8 Web Components (@tmorrow/cre8-wc)",
@@ -1955,6 +1955,44 @@
1955
1955
  },
1956
1956
  "examples": []
1957
1957
  },
1958
+ {
1959
+ "name": "Cre8Form",
1960
+ "tagName": "cre8-form",
1961
+ "category": "Forms",
1962
+ "description": "The form component groups form-associated Cre8 controls, aggregates their\nvalidation on submit, and orchestrates submit and reset.\n\n# How to Use\n1. Place any Cre8 form controls inside `cre8-form`. They may be nested inside\n layout components such as `cre8-grid` or `cre8-layout`.\n2. Add a `cre8-button` with `type=\"submit\"` to submit the form.\n3. Listen for `form-submit` to receive the collected `FormData`.\n\nNote: this component renders to light DOM. A form-associated control's form\nowner is the nearest `<form>` in its own node tree, so a shadow-DOM `<form>`\nwould own nothing and `new FormData(form)` would come back empty.",
1963
+ "props": {
1964
+ "novalidate": {
1965
+ "type": "boolean",
1966
+ "description": "Skips aggregate validation on submit."
1967
+ },
1968
+ "disabled": {
1969
+ "type": "boolean",
1970
+ "description": "Disables every control in the form, for example while submitting."
1971
+ },
1972
+ "controls": {
1973
+ "type": "Cre8FormElement[]",
1974
+ "description": "Every form-associated Cre8 control owned by this form, in document order.\nReaches through layout components because slotting does not move nodes\nout of the light-DOM tree."
1975
+ },
1976
+ "values": {
1977
+ "type": "Record<string, FormDataEntryValue | FormDataEntryValue[]>",
1978
+ "description": "The form's current values, derived from FormData."
1979
+ },
1980
+ "children": {
1981
+ "type": "React.ReactNode",
1982
+ "description": "Slotted content."
1983
+ },
1984
+ "onFormSubmit": {
1985
+ "type": "(event: CustomEvent) => void"
1986
+ },
1987
+ "onFormReset": {
1988
+ "type": "(event: CustomEvent) => void"
1989
+ },
1990
+ "onFormInvalid": {
1991
+ "type": "(event: CustomEvent) => void"
1992
+ }
1993
+ },
1994
+ "examples": []
1995
+ },
1958
1996
  {
1959
1997
  "name": "Cre8MultiSelect",
1960
1998
  "tagName": "cre8-multi-select",
@@ -3693,7 +3731,7 @@
3693
3731
  },
3694
3732
  "dependencies": {
3695
3733
  "@lit/react": "^1.0.8",
3696
- "@tmorrow/cre8-wc": "^2.1.1",
3734
+ "@tmorrow/cre8-wc": "^2.2.0",
3697
3735
  "react": ">=18",
3698
3736
  "react-dom": ">=18"
3699
3737
  }
@@ -1 +0,0 @@
1
- import{k as p,u as f,j as m,b as d}from"./iframe-BNJP6ovU.js";import{g as h}from"./_commonjsHelpers-DaWZu8wl.js";const y={attribute:!0,type:String,converter:f,reflect:!1,hasChanged:p},v=(o=y,r,s)=>{const{kind:a,metadata:i}=s;let t=globalThis.litPropertyMetadata.get(i);if(t===void 0&&globalThis.litPropertyMetadata.set(i,t=new Map),a==="setter"&&((o=Object.create(o)).wrapped=!0),t.set(s.name,o),a==="accessor"){const{name:e}=s;return{set(n){const c=r.get.call(this);r.set.call(this,n),this.requestUpdate(e,c,o,!0,n)},init(n){return n!==void 0&&this.C(e,void 0,o,n),n}}}if(a==="setter"){const{name:e}=s;return function(n){const c=this[e];r.call(this,n),this.requestUpdate(e,c,o,!0,n)}}throw Error("Unsupported decorator location: "+a)};function g(o){return(r,s)=>typeof s=="object"?v(o,r,s):((a,i,t)=>{const e=i.hasOwnProperty(t);return i.constructor.createProperty(t,a),e?Object.getOwnPropertyDescriptor(i,t):void 0})(o,r,s)}var u={exports:{}},l;function b(){return l||(l=1,(function(o){(function(){var r={}.hasOwnProperty;function s(){for(var t="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(t=i(t,a(n)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return s.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var n in t)r.call(t,n)&&t[n]&&(e=i(e,n));return e}function i(t,e){return e?t?t+" "+e:t+e:t}o.exports?(s.default=s,o.exports=s):window.classNames=s})()})(u)),u.exports}var E=b();const x=h(E);class j extends m{componentClassNames(r,s={}){return x(r,s)}slotEmpty(r){return!this.querySelector(`[slot="${r}"]`)}slotNotEmpty(r){return this.slotEmpty(r)?null:!this.slotEmpty(r)}dispatch({e:r,eventName:s,detailObj:a={},optionsObj:i={}}){const t={bubbles:!0,composed:!0,...i,detail:{...r&&{originalEvent:r},...a}},e=new CustomEvent(s,t);return this.dispatchEvent(e),e}render(){return d`<slot></slot>`}}export{j as C,x as c,g as n};
@@ -1 +0,0 @@
1
- import{C as f,n as h}from"./cre8-element-B35i4Lyg.js";let b=class extends Event{constructor(t,s,i,e){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s,this.callback=i,this.subscribe=e??!1}};class v{get value(){return this.o}set value(t){this.setValue(t)}setValue(t,s=!1){const i=s||!Object.is(t,this.o);this.o=t,i&&this.updateObservers()}constructor(t){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:i}]of this.subscriptions)s(this.o,i)},t!==void 0&&(this.value=t)}addCallback(t,s,i){if(!i)return void t(this.value);this.subscriptions.has(t)||this.subscriptions.set(t,{disposer:()=>{this.subscriptions.delete(t)},consumerHost:s});const{disposer:e}=this.subscriptions.get(t);t(this.value,e)}clearCallbacks(){this.subscriptions.clear()}}let x=class extends Event{constructor(t,s){super("context-provider",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}};class d extends v{constructor(t,s,i){super(s.context!==void 0?s.initialValue:i),this.onContextRequest=e=>{if(e.context!==this.context)return;const a=e.contextTarget??e.composedPath()[0];a!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,a,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;const a=new Set;for(const[r,{consumerHost:l}]of this.subscriptions)a.has(r)||(a.add(r),l.dispatchEvent(new b(this.context,l,r,!0)));e.stopPropagation()},this.host=t,s.context!==void 0?this.context=s.context:this.context=s,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new x(this.context,this.host))}}function p({context:n}){return(t,s)=>{const i=new WeakMap;if(typeof s=="object")return{get(){return t.get.call(this)},set(e){return i.get(this).setValue(e),t.set.call(this,e)},init(e){return i.set(this,new d(this,{context:n,initialValue:e})),e}};{t.constructor.addInitializer((r=>{i.set(r,new d(r,{context:n}))}));const e=Object.getOwnPropertyDescriptor(t,s);let a;if(e===void 0){const r=new WeakMap;a={get(){return r.get(this)},set(l){i.get(this).setValue(l),r.set(this,l)},configurable:!0,enumerable:!0}}else{const r=e.set;a={...e,set(l){i.get(this).setValue(l),r?.call(this,l)}}}return void Object.defineProperty(t,s,a)}}}const m=Symbol("cre8-form-internals"),y=Symbol("cre8-form-state");var V=Object.defineProperty,_=Object.getOwnPropertyDescriptor,u=(n,t,s,i)=>{for(var e=i>1?void 0:i?_(t,s):t,a=n.length-1,r;a>=0;a--)(r=n[a])&&(e=(i?r(t,s,e):r(e))||e);return i&&e&&V(t,s,e),e};const c=class c extends f{constructor(){super(),this.internalValue="",this.defaultValue="",this._formState={value:"",disabled:!1,required:!1,isError:!1,isSuccess:!1},this._internals=this.attachInternals()}get value(){return this.internalValue}set value(t){const s=this.value;this.internalValue=t,this.type!=="checkbox"&&this.type!=="radio"&&this._internals?.setFormValue(t),this.updateField(),this.updateFormState(),this.requestUpdate("value",s)}updateFormState(){this._formState={value:this.internalValue,disabled:this.disabled??!1,required:this.required??!1,isError:this.isError??!1,isSuccess:this.isSuccess??!1,name:this.name}}updateField(){this.field&&this.internalValue!==void 0&&(this.field.value=this.internalValue??"")}firstUpdated(){this.type!=="checkbox"&&this.type!=="radio"&&(this.defaultValue=this.value||this.getAttribute("value")||""),this.updateField(),this.updateFormState()}updated(t){super.updated(t),(t.has("disabled")||t.has("required")||t.has("isError")||t.has("isSuccess")||t.has("name"))&&this.updateFormState()}formResetCallback(){this.value=this.defaultValue,this.updateField()}formDisabledCallback(t){this.disabled=t}formStateRestoreCallback(t,s){typeof t=="string"&&(this.value=t)}get form(){return this._internals?.form??null}get validationMessage(){return this._internals?.validationMessage??""}get validity(){return this._internals?.validity}get willValidate(){return this._internals?.willValidate??!1}reportValidity(){return this._internals?.reportValidity()??!0}checkValidity(){return this._internals?.checkValidity()??!0}setCustomValidity(t){this._internals&&this.field&&(t?this._internals.setValidity({customError:!0},t,this.field):this._internals.setValidity({}))}};c.formAssociated=!0;let o=c;u([p({context:m})],o.prototype,"_internals",2);u([p({context:y})],o.prototype,"_formState",2);u([h()],o.prototype,"name",2);u([h({type:Boolean,reflect:!0})],o.prototype,"disabled",2);u([h({type:Boolean,reflect:!0})],o.prototype,"required",2);u([h({type:Boolean,reflect:!0})],o.prototype,"isError",2);u([h({type:Boolean,reflect:!0})],o.prototype,"isSuccess",2);u([h()],o.prototype,"value",1);export{o as C,m as f,b as s};
@@ -1,26 +0,0 @@
1
- import{b as o}from"./iframe-BNJP6ovU.js";import"./dropdown-BEP5x3CW.js";import"./preload-helper-PPVm8Dsz.js";import"./cre8-element-B35i4Lyg.js";import"./_commonjsHelpers-DaWZu8wl.js";import"./state-DkQhleoO.js";import"./query-BpjciUlk.js";import"./base-DVmwUFg0.js";const u={title:"In Development/Dropdown Item",component:"cre8-dropdown-item",parameters:{status:{type:"inProgress"},actions:{handles:["dropdown-item-selected"]},docs:{story:{height:"300px"}}}},p=({buttonText:e,dropdownContent:n,maxHeight:r,dropdownWithLink:d})=>o`
2
- <cre8-dropdown
3
- buttonText=${e}
4
- maxHeight=${r}
5
- dropdownWithLink=${d}
6
- >
7
- ${n}
8
- </cre8-dropdown>
9
- `,t=p.bind({});t.args={buttonText:"Select",dropdownContent:o`
10
- <cre8-dropdown-item>Item 1</cre8-dropdown-item>
11
- <cre8-dropdown-item>Item 2 Item with longer text than default</cre8-dropdown-item>
12
- <cre8-dropdown-item>Item 3</cre8-dropdown-item>
13
- `};t.parameters={...t.parameters,docs:{...t.parameters?.docs,source:{originalSource:`({
14
- buttonText,
15
- dropdownContent,
16
- maxHeight,
17
- dropdownWithLink
18
- }) => html\`
19
- <cre8-dropdown
20
- buttonText=\${buttonText}
21
- maxHeight=\${maxHeight}
22
- dropdownWithLink=\${dropdownWithLink}
23
- >
24
- \${dropdownContent}
25
- </cre8-dropdown>
26
- \``,...t.parameters?.docs?.source}}};const x=["Default"];export{t as Default,x as __namedExportsOrder,u as default};
@@ -1,10 +0,0 @@
1
- import{a as e,b as a}from"./iframe-BNJP6ovU.js";import"./preload-helper-PPVm8Dsz.js";e`
2
- @import 'design-tokens/core/scss/theming/component';
3
-
4
- // #EXAMPLE-DRUG-CARD
5
-
6
- .drug-info {
7
- margin-top: 16px;
8
- margin-bottom: 16px;
9
- }
10
- `;const m={title:"Examples/Example Drug Card",component:"example-drug-card",parameters:{status:{type:"inProgress"}}},r=s=>a`<example-drug-card></example-drug-card>`;r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:"args => html`<example-drug-card></example-drug-card>`",...r.parameters?.docs?.source}}};const p=["Default"];export{r as Default,p as __namedExportsOrder,m as default};
@@ -1,49 +0,0 @@
1
- import{a as c,b as l}from"./iframe-BNJP6ovU.js";import{w as r}from"./decorator-iVSD-Llo.js";import"./preload-helper-PPVm8Dsz.js";import"./chunk-EUVGDK4H-rHCQfRxh.js";c`
2
-
3
-
4
-
5
- /**
6
- * 1)
7
- */
8
- @import 'design-tokens/core/scss/theming/component' ;
9
- `;const n={title:"Examples/Form Example",component:"form-example",parameters:{actions:{handles:["submit"]},status:{type:"inProgress"}},decorators:[r]},a={},e=i=>l`
10
- <iframe name="dummyframe" id="dummyframe" style="display:none" }></iframe>
11
- <form id="form-example" action="#" target="dummyframe">
12
- <cre8-field class="cre8-u-display-block cre8-u-margin-bottom-lg" name="name" label="Enter your name"></cre8-field>
13
- <cre8-field class="cre8-u-display-block cre8-u-margin-bottom-lg" name="textfield2" value="Council of Ricks" label="cre8 team"></cre8-field>
14
- <cre8-checkbox-field class="cre8-u-display-block cre8-u-margin-bottom-lg" label="Checkbox field">
15
- <cre8-checkbox-field-item name="checkbox-example" value="1" label="Checkbox field item 1"></cre8-checkbox-field-item>
16
- <cre8-checkbox-field-item name="checkbox-example" value="2" label="Checkbox field item 2" checked></cre8-checkbox-field-item>
17
- <cre8-checkbox-field-item name="checkbox-example" value="3" label="Checkbox field item 3"></cre8-checkbox-field-item>
18
- </cre8-checkbox-field>
19
- <cre8-radio-field class="cre8-u-display-block cre8-u-margin-bottom-lg" label="radio-field">
20
- <cre8-radio-field-item name="radio-example" label="On" value="on"></cre8-radio-field-item>
21
- <cre8-radio-field-item name="radio-example" label="Off" value="off"></cre8-radio-field-item>
22
- </cre8-radio-field>
23
- <cre8-select class="cre8-u-display-block cre8-u-margin-bottom-lg" .items=${a} name="select" fieldNote="This is a field note."></cre8-select>
24
- <cre8-button-group>
25
- <cre8-button text="Submit" type="submit"></cre8-button>
26
- <cre8-button text="Reset" type="reset"></cre8-button>
27
- </cre8-button-group>
28
- </form>
29
- `;e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`args => html\`
30
- <iframe name="dummyframe" id="dummyframe" style="display:none" }></iframe>
31
- <form id="form-example" action="#" target="dummyframe">
32
- <cre8-field class="cre8-u-display-block cre8-u-margin-bottom-lg" name="name" label="Enter your name"></cre8-field>
33
- <cre8-field class="cre8-u-display-block cre8-u-margin-bottom-lg" name="textfield2" value="Council of Ricks" label="cre8 team"></cre8-field>
34
- <cre8-checkbox-field class="cre8-u-display-block cre8-u-margin-bottom-lg" label="Checkbox field">
35
- <cre8-checkbox-field-item name="checkbox-example" value="1" label="Checkbox field item 1"></cre8-checkbox-field-item>
36
- <cre8-checkbox-field-item name="checkbox-example" value="2" label="Checkbox field item 2" checked></cre8-checkbox-field-item>
37
- <cre8-checkbox-field-item name="checkbox-example" value="3" label="Checkbox field item 3"></cre8-checkbox-field-item>
38
- </cre8-checkbox-field>
39
- <cre8-radio-field class="cre8-u-display-block cre8-u-margin-bottom-lg" label="radio-field">
40
- <cre8-radio-field-item name="radio-example" label="On" value="on"></cre8-radio-field-item>
41
- <cre8-radio-field-item name="radio-example" label="Off" value="off"></cre8-radio-field-item>
42
- </cre8-radio-field>
43
- <cre8-select class="cre8-u-display-block cre8-u-margin-bottom-lg" .items=\${items} name="select" fieldNote="This is a field note."></cre8-select>
44
- <cre8-button-group>
45
- <cre8-button text="Submit" type="submit"></cre8-button>
46
- <cre8-button text="Reset" type="reset"></cre8-button>
47
- </cre8-button-group>
48
- </form>
49
- \``,...e.parameters?.docs?.source}}};const s=["Default"];export{e as Default,s as __namedExportsOrder,n as default};