@tmorrow/cre8-wc 2.1.0 → 2.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 (200) 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/a2ui/inert-props.json +1 -1
  7. package/cdn/cre8-wc.esm.js +2081 -1863
  8. package/cdn/cre8-wc.esm.js.map +1 -1
  9. package/cdn/cre8-wc.min.js +275 -257
  10. package/cdn/cre8-wc.min.js.map +1 -1
  11. package/dist/assets/{Changelog-Documentation-CeOetLxK.js → Changelog-Documentation-K_4-eEw_.js} +1 -1
  12. package/dist/assets/{Code-Guidelines-BjdezAjj.js → Code-Guidelines-BEfK4tNO.js} +1 -1
  13. package/dist/assets/{Color-6AOWCN3U-DPFGZitI.js → Color-6AOWCN3U-CgqtjCvc.js} +1 -1
  14. package/dist/assets/{Contributing-Guidelines-B1M2V1hW.js → Contributing-Guidelines-D3izkh_3.js} +1 -1
  15. package/dist/assets/{DocsRenderer-JROSPFPF-BBy8KWNl.js → DocsRenderer-JROSPFPF-BDiztMcx.js} +1 -1
  16. package/dist/assets/{Tokens-Documentation-CdTxFDLe.js → Tokens-Documentation-CLb4TXSM.js} +1 -1
  17. package/dist/assets/{WithTooltip-7X4HQR7L-DZzTNMQ7.js → WithTooltip-7X4HQR7L-tqNV1W_i.js} +1 -1
  18. package/dist/assets/{accordion-item.stories-Bl26JlHp.js → accordion-item.stories-WmzemFi_.js} +9 -1
  19. package/dist/assets/{accordion.stories-DjoLApQw.js → accordion.stories-D9yFH2Hq.js} +22 -14
  20. package/dist/assets/address-form.stories-CAphSi-g.js +71 -0
  21. package/dist/assets/{alert.stories-pO1y3YCQ.js → alert.stories-bMm7rWnS.js} +31 -15
  22. package/dist/assets/{badge-BTxW3bN2.js → badge-D5MyHlf3.js} +11 -3
  23. package/dist/assets/{badge.stories-vqh63RJ2.js → badge.stories-BPFbBOFL.js} +7 -8
  24. package/dist/assets/{band.stories-CjKRppSb.js → band.stories-CA81yMeF.js} +9 -1
  25. package/dist/assets/{blocks-1be_-L6v.js → blocks-DlUWku5n.js} +5 -5
  26. package/dist/assets/{breadcrumbs.stories-Doyfy3V9.js → breadcrumbs.stories-mfUqTE_a.js} +25 -9
  27. package/dist/assets/{button-group-G7qN4MwM.js → button-group-DjFiwkrF.js} +9 -1
  28. package/dist/assets/{button-group.stories-cL3Kay6M.js → button-group.stories-CanLG17w.js} +1 -1
  29. package/dist/assets/{button-CgaWukz0.js → button-rmsX1TVb.js} +9 -1
  30. package/dist/assets/{button.stories-C9HSpxWb.js → button.stories-BvDrcI8Q.js} +1 -1
  31. package/dist/assets/{card.stories-BbU8YymD.js → card-BNXY-4UF.js} +14 -50
  32. package/dist/assets/card.stories-BsHAGXKa.js +45 -0
  33. package/dist/assets/{chart.stories-BL4FxIA_.js → chart.stories-MmiQ9AaE.js} +3 -3
  34. package/dist/assets/{checkbox-field-item-DIMHcWM0.js → checkbox-field-item-C5vdtGYd.js} +9 -1
  35. package/dist/assets/{checkbox-field-item.stories-XbB4x_lO.js → checkbox-field-item.stories-IeHp3Od1.js} +1 -1
  36. package/dist/assets/{checkbox-field.stories-YnqFUI4K.js → checkbox-field.stories-DflhNO0m.js} +20 -12
  37. package/dist/assets/cre8-element-CaOpCq8p.js +1 -0
  38. package/dist/assets/cre8-form-element-Dowz62UX.js +1 -0
  39. package/dist/assets/{danger-button.stories-xh25hmfd.js → danger-button.stories-BMgfVb0A.js} +9 -1
  40. package/dist/assets/{date-picker.stories-DD_ctzEF.js → date-picker.stories-Ctw_UuKt.js} +51 -3
  41. package/dist/assets/{divider-xZ2KARHf.js → divider-CDrocq4F.js} +10 -2
  42. package/dist/assets/{divider.stories-Bk9oF-OV.js → divider.stories-BSNOQGoZ.js} +1 -1
  43. package/dist/assets/{dropdown-BEP5x3CW.js → dropdown-B03mbsrW.js} +25 -9
  44. package/dist/assets/dropdown-item.stories-B6_J9kd6.js +26 -0
  45. package/dist/assets/{dropdown.stories-B0OlKD7h.js → dropdown.stories-CgzAbark.js} +2 -2
  46. package/dist/assets/{f-po-BdPzDRD-.js → f-po-ByatXsWC.js} +1 -1
  47. package/dist/assets/{feature.stories-DYE1Js70.js → feature.stories-BiEVKnSG.js} +9 -1
  48. package/dist/assets/field-BpyhbS2M.js +44 -0
  49. package/dist/assets/{field-note-fccBckVl.js → field-note-B7iNgXW2.js} +11 -3
  50. package/dist/assets/{field-note.stories-BH9AZMbF.js → field-note.stories-nB3JUIfK.js} +1 -1
  51. package/dist/assets/{field.stories-BQPtmziK.js → field.stories-DL6PXwc3.js} +6 -6
  52. package/dist/assets/{field-BpUYyRW1.js → field.styles-DwF2OuJ8.js} +12 -45
  53. package/dist/assets/{footer.stories-DCWEciqD.js → footer.stories-lRkixJ_m.js} +9 -1
  54. package/dist/assets/form-kQUqwepo.js +17 -0
  55. package/dist/assets/form.stories-DdezGU-e.js +75 -0
  56. package/dist/assets/{formatter-L2YTDE3Q-B9u1AOWn.js → formatter-L2YTDE3Q-Ch1Vr_xh.js} +1 -1
  57. package/dist/assets/{global-nav-item-T4htN-yO.js → global-nav-item-Cxq8RcLW.js} +14 -6
  58. package/dist/assets/{global-nav-item.stories-2dWRfCXv.js → global-nav-item.stories-BN2A5owe.js} +1 -1
  59. package/dist/assets/{global-nav.stories-Fh1gScqg.js → global-nav.stories-CQxLq7RO.js} +10 -2
  60. package/dist/assets/{grid-C5CKMXNe.js → grid-item-B260kL-6.js} +573 -557
  61. package/dist/assets/{grid.stories-BLmCNdeA.js → grid.stories-CxastlqY.js} +1 -1
  62. package/dist/assets/{header.stories-BkDrjJtj.js → header.stories-j4U5LNrm.js} +9 -1
  63. package/dist/assets/{heading-Dbka33DK.js → heading-ByebtBvm.js} +10 -2
  64. package/dist/assets/{heading.stories-Be40_bmG.js → heading.stories-DexN19oH.js} +1 -1
  65. package/dist/assets/{hero.stories-vRu7PZG9.js → hero.stories-DeQ_dyTs.js} +9 -1
  66. package/dist/assets/{icon-ChfRWXWy.js → icon-BvsTH4V8.js} +9 -1
  67. package/dist/assets/{icon.stories-Cj4U7L5G.js → icon.stories-BT08w1wj.js} +1 -1
  68. package/dist/assets/if-defined-RYzTvKuT.js +1 -0
  69. package/dist/assets/iframe-CWwoGI65.css +1 -0
  70. package/dist/assets/{iframe-BNJP6ovU.js → iframe-nwd_1gnU.js} +142 -142
  71. package/dist/assets/{inline-alert.stories-CygBYI02.js → inline-alert.stories-B4Q6UW0u.js} +9 -1
  72. package/dist/assets/{layout-container.stories-TMyIJteJ.js → layout-container.stories-B-Jf2Oai.js} +10 -2
  73. package/dist/assets/{layout.stories-ylRM-ANL.js → layout.stories-CKzFqX2b.js} +23 -7
  74. package/dist/assets/light-children-DDjBxt3J.js +1 -0
  75. package/dist/assets/{linelength-container.stories-Br2v8jXE.js → linelength-container.stories-DIF_Sdc1.js} +9 -1
  76. package/dist/assets/{link-list.stories--y-urrVo.js → link-list.stories-CYh9rIaJ.js} +39 -23
  77. package/dist/assets/{link-CRE0Eqdo.js → link-vQ01kiW8.js} +9 -1
  78. package/dist/assets/{link.stories-C3WQOgkY.js → link.stories-Ep9XvcaI.js} +1 -1
  79. package/dist/assets/{list.stories-Bd2bxkxn.js → list.stories-CdDgDNZW.js} +29 -13
  80. package/dist/assets/{loading-spinner-C52KNq6y.js → loading-spinner-B7JDCfNK.js} +12 -4
  81. package/dist/assets/{loading-spinner.stories-DPRGEeHT.js → loading-spinner.stories-n42RNnGQ.js} +1 -1
  82. package/dist/assets/{logo.stories-2LBqqraT.js → logo.stories-BcJXB658.js} +9 -1
  83. package/dist/assets/{main.stories-BQzD7iWD.js → main.stories-B6lL5ks-.js} +10 -2
  84. package/dist/assets/{modal-GglWRNJp.js → modal-Bn53iVj7.js} +3 -3
  85. package/dist/assets/{modal-CCfbY4fF.js → modal-DgnLTA-d.js} +10 -2
  86. package/dist/assets/{modal.stories-CpybCs79.js → modal.stories-CsImmcQy.js} +1 -1
  87. package/dist/assets/{multi-select.stories-BhzEKRui.js → multi-select.stories-D9VO8lGJ.js} +12 -4
  88. package/dist/assets/{nav-container.stories-Be1YlegP.js → nav-container.stories-N7legDVk.js} +11 -3
  89. package/dist/assets/{page-header.stories-BOVLQ0YF.js → page-header.stories-Cm-bhKlB.js} +9 -1
  90. package/dist/assets/{pagination.stories-D62sa_1K.js → pagination.stories-Coox3PDk.js} +28 -12
  91. package/dist/assets/{percent-bar.stories-CYi4El7T.js → percent-bar.stories-DOJJUwvS.js} +11 -3
  92. package/dist/assets/{popover.stories-B9O8F4yv.js → popover.stories-CNa_bU0v.js} +11 -3
  93. package/dist/assets/{primary-nav.stories-Bt-o7h45.js → primary-nav.stories-DkQnXnem.js} +17 -1
  94. package/dist/assets/{progress-meter-Dit59091.js → progress-meter-Ce6ogPi2.js} +9 -1
  95. package/dist/assets/{progress-meter.stories-CYnOCmjo.js → progress-meter.stories-BtH8g8Wo.js} +1 -1
  96. package/dist/assets/{progress-steps-item-CWJsad0s.js → progress-steps-item-Cz0rvvpE.js} +9 -1
  97. package/dist/assets/{progress-steps-item.stories-ePn_6bPn.js → progress-steps-item.stories-D96tf3mT.js} +1 -1
  98. package/dist/assets/{progress-steps.stories-CblrEcXF.js → progress-steps.stories-8BCOIabC.js} +37 -29
  99. package/dist/assets/{radio-field-item-Bm-0RWPe.js → radio-field-item-S4cTjx4A.js} +31 -15
  100. package/dist/assets/{radio-field-item.stories-y_TrTRIW.js → radio-field-item.stories-rvg95_c5.js} +6 -6
  101. package/dist/assets/{radio-field.stories-CSWrbUrn.js → radio-field.stories-Bn2ifEnO.js} +2 -2
  102. package/dist/assets/{remove-tag-lCr57c5r.js → remove-tag-DeV9CojL.js} +10 -2
  103. package/dist/assets/{remove-tag.stories-CDfwCdvZ.js → remove-tag.stories-Cl4iRZe4.js} +1 -1
  104. package/dist/assets/{sample-modal.stories-BZ4N2R2Z.js → sample-modal.stories-iefBJIsu.js} +4 -4
  105. package/dist/assets/{section.stories-D_1InThX.js → section.stories-o84k8ERD.js} +9 -1
  106. package/dist/assets/{select-tile-BqqB3ZtE.js → select-tile-C4vj-veo.js} +10 -2
  107. package/dist/assets/{select-tile-list.stories-Di4ILgV8.js → select-tile-list.stories-BvGfDwQp.js} +9 -1
  108. package/dist/assets/{select-tile.stories-D3h_6zlV.js → select-tile.stories-CAj_RKLu.js} +1 -1
  109. package/dist/assets/{select.stories-BB2phP9A.js → select.stories-DQyvoREf.js} +9 -1
  110. package/dist/assets/sign-in.stories-BKqgyRoA.js +63 -0
  111. package/dist/assets/{skeleton-loader.stories-y4uml_kV.js → skeleton-loader.stories-CksQXuUE.js} +13 -5
  112. package/dist/assets/{split-button.stories-C_82I4ME.js → split-button.stories-DcJIeVfi.js} +12 -4
  113. package/dist/assets/{spread-CnPic3C2.js → spread-D16Rn3WA.js} +1 -1
  114. package/dist/assets/state-DZNbmwHN.js +1 -0
  115. package/dist/assets/{submenu.stories-UDtaREr1.js → submenu.stories-CcUGwoae.js} +18 -2
  116. package/dist/assets/{syntaxhighlighter-T5IQBZDB-D-I_s_yD.js → syntaxhighlighter-T5IQBZDB-JEA9Ib97.js} +1 -1
  117. package/dist/assets/{table-header-2837i43H.js → table-header-B2jlwG0L.js} +81 -33
  118. package/dist/assets/{table-object.stories-D4KoI-wA.js → table-object.stories-DCrrXH-U.js} +11 -3
  119. package/dist/assets/{table.stories-DUJDibEp.js → table.stories-DHNUpWFk.js} +2 -2
  120. package/dist/assets/{tabs.stories-C06SngOF.js → tabs.stories-o9pLUMwX.js} +34 -10
  121. package/dist/assets/{tag-oHGdclJl.js → tag-BDbKYA95.js} +9 -1
  122. package/dist/assets/{tag-list.stories-Du-IoYzu.js → tag-list.stories-BLeM-gma.js} +21 -13
  123. package/dist/assets/{tag.stories-C5D5IbuK.js → tag.stories-hu36S63W.js} +1 -1
  124. package/dist/assets/{tertiary-nav.stories-B1GU8Zi4.js → tertiary-nav.stories-CqratFQw.js} +19 -3
  125. package/dist/assets/{text-link-B3m3KEqY.js → text-link-VO8qilFK.js} +9 -1
  126. package/dist/assets/{text-link.stories-4O6qn82H.js → text-link.stories-Da7lEll4.js} +1 -1
  127. package/dist/assets/{text-passage-xQVosjOr.js → text-passage-C6jDH-er.js} +19 -3
  128. package/dist/assets/{text-passage.stories-Da1nspwG.js → text-passage.stories-dk5c19n9.js} +1 -1
  129. package/dist/assets/{tooltip.stories-DLKyyeKn.js → tooltip.stories-DKVATLuD.js} +16 -8
  130. package/dist/assets/{utility-nav.stories-B6xBFe7z.js → utility-nav.stories-Bru0bzcG.js} +21 -5
  131. package/dist/design-tokens/brands/cre8-a2ui/css/tokens_brand.css +4 -4
  132. package/dist/design-tokens/core/scss/theming/component.css +1 -1
  133. package/dist/design-tokens/core/scss/theming/variables.css +7 -1
  134. package/dist/design-tokens/core/scss/theming/variables.scss +11 -0
  135. package/dist/fonts/PlusJakartaSans-Bold.woff2 +0 -0
  136. package/dist/fonts/PlusJakartaSans-Medium.woff2 +0 -0
  137. package/dist/fonts/PlusJakartaSans-Regular.woff2 +0 -0
  138. package/dist/fonts/PlusJakartaSans-SemiBold.woff2 +0 -0
  139. package/dist/iframe.html +25 -2
  140. package/dist/index.html +82 -26
  141. package/dist/index.json +1 -1
  142. package/dist/logo.svg +1 -0
  143. package/dist/manifests/components.html +766 -0
  144. package/dist/manifests/docs.json +37 -0
  145. package/dist/project.json +1 -1
  146. package/dist/sb-addons/storybook-5/manager-bundle.js +8 -0
  147. package/dist/sb-addons/vitest-4/manager-bundle.js +3 -0
  148. package/lib/cdn-entry.d.ts +2 -1
  149. package/lib/cdn-entry.d.ts.map +1 -1
  150. package/lib/cdn-entry.js +2 -1
  151. package/lib/cdn-entry.js.map +1 -1
  152. package/lib/components/cre8-field.js +1 -1
  153. package/lib/components/cre8-form-element.d.ts +27 -0
  154. package/lib/components/cre8-form-element.d.ts.map +1 -1
  155. package/lib/components/cre8-form-element.js +65 -1
  156. package/lib/components/cre8-form-element.js.map +1 -1
  157. package/lib/components/field/field.styles.d.ts.map +1 -1
  158. package/lib/components/field/field.styles.js +4 -2
  159. package/lib/components/field/field.styles.js.map +1 -1
  160. package/lib/components/form/form.d.ts +87 -0
  161. package/lib/components/form/form.d.ts.map +1 -0
  162. package/lib/components/form/form.js +209 -0
  163. package/lib/components/form/form.js.map +1 -0
  164. package/lib/components/form/form.styles.d.ts +14 -0
  165. package/lib/components/form/form.styles.d.ts.map +1 -0
  166. package/lib/components/form/form.styles.js +31 -0
  167. package/lib/components/form/form.styles.js.map +1 -0
  168. package/lib/{cre8-form-element-BymRdQUC.js → cre8-form-element-CCzBYtDm.js} +85 -32
  169. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_brand.css +4 -4
  170. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.d.ts +1 -1
  171. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.d.ts.map +1 -1
  172. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.js +4 -4
  173. package/lib/design-tokens/brands/cre8-a2ui/css/tokens_cre8-a2ui.module.js.map +1 -1
  174. package/lib/index.d.ts +1 -0
  175. package/lib/index.d.ts.map +1 -1
  176. package/lib/index.js +1 -0
  177. package/lib/index.js.map +1 -1
  178. package/lib/scripts/generate-mcp-manifest.js +1 -0
  179. package/lib/scripts/generate-mcp-manifest.js.map +1 -1
  180. package/lib/scripts/generate-react-wrappers.js +62 -0
  181. package/lib/scripts/generate-react-wrappers.js.map +1 -1
  182. package/lib/toBeAccessible.d.ts +6 -5
  183. package/lib/toBeAccessible.d.ts.map +1 -1
  184. package/lib/toBeAccessible.js +1 -1
  185. package/lib/toBeAccessible.js.map +1 -1
  186. package/mcp-manifest.json +44 -1
  187. package/package.json +18 -13
  188. package/react-manifest.json +40 -2
  189. package/dist/assets/cre8-element-B35i4Lyg.js +0 -1
  190. package/dist/assets/cre8-form-element-Cfc5VeYV.js +0 -1
  191. package/dist/assets/dropdown-item.stories-Iaw_UrEP.js +0 -26
  192. package/dist/assets/example-drug-card.stories-Bp5JIeE_.js +0 -10
  193. package/dist/assets/form-example.stories-9IDC0AgX.js +0 -49
  194. package/dist/assets/icon-description-BBSwDykJ.js +0 -45
  195. package/dist/assets/icon-description.stories-Cg6ekOme.js +0 -3
  196. package/dist/assets/if-defined-Bxnzk64Q.js +0 -1
  197. package/dist/assets/medication-card.stories-Wc-hA0-s.js +0 -165
  198. package/dist/assets/medication-form.stories-DfFOCDaU.js +0 -57
  199. package/dist/assets/request-prescription.stories-O4zqokfb.js +0 -24
  200. package/dist/assets/state-DkQhleoO.js +0 -1
package/package.json CHANGED
@@ -1,27 +1,33 @@
1
1
  {
2
2
  "name": "@tmorrow/cre8-wc",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
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": {
7
7
  "start": "pnpm run build:custom-elements.json && pnpm run storybook",
8
8
  "compile-styles": "npx tsx scripts/convert-scss-to-ts.ts",
9
9
  "build": "rm -rf lib && pnpm run compile-styles && pnpm build:cdn && vite build && tsc && cp .storybook/custom-elements.json custom-elements.json && pnpm run build:react && pnpm run build:mcp-manifest && pnpm run build:react-manifest",
10
+ "prepack": "node a2ui/check-layer-parity.mjs",
11
+ "prepublishOnly": "node a2ui/check-layer-parity.mjs",
10
12
  "build:mcp-manifest": "npx web-component-analyzer analyze \"components/**/*.ts\" --format json --outFile /tmp/wca-raw.json && npx tsx scripts/generate-mcp-manifest.ts",
11
13
  "build:react-manifest": "npx tsx scripts/generate-react-manifest.ts",
12
14
  "build:cdn": "rm -rf cdn && vite build --config vite.config.cdn.ts",
13
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",
14
- "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",
15
17
  "build:a2ui:catalog": "node a2ui/generate-catalog.mjs",
18
+ "build:a2ui:kg": "node a2ui/generate-catalog-kg.mjs",
16
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",
17
20
  "a2ui:demo": "python3 -m http.server 8765",
18
21
  "storybook:react": "pnpm run build:react && cd react-wrappers && npx storybook dev -p 9009",
19
22
  "build-storybook:react": "pnpm run build:react && cd react-wrappers && npx storybook build -o dist-storybook",
20
- "build:all": "pnpm run build:cdn && pnpm run build",
23
+ "build:all": "pnpm run build",
21
24
  "build:watch": "vite build --watch",
22
25
  "build:custom-elements.json": "npx @custom-elements-manifest/analyzer analyze --litelement --globs \"components/*/*.ts\" --outdir .storybook",
23
- "test": "jest --verbose",
24
- "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",
25
31
  "storybook-docs": "storybook dev --docs",
26
32
  "storybook": "storybook dev -p 6006",
27
33
  "build-storybook": "del-cli dist && storybook build -o dist",
@@ -138,6 +144,7 @@
138
144
  "@storybook/addon-docs": "10.5.4",
139
145
  "@storybook/addon-mcp": "^0.5.0",
140
146
  "@storybook/addon-themes": "10.5.4",
147
+ "@storybook/addon-vitest": "10.5.4",
141
148
  "@storybook/builder-vite": "10.5.4",
142
149
  "@storybook/react": "10.5.4",
143
150
  "@storybook/react-vite": "10.5.4",
@@ -145,31 +152,28 @@
145
152
  "@storybook/web-components-vite": "10.5.4",
146
153
  "@testing-library/jest-dom": "^6.9.1",
147
154
  "@testing-library/user-event": "^14.6.1",
148
- "@types/jest": "^30.0.0",
149
155
  "@types/jest-axe": "^3.5.9",
150
156
  "@types/resize-observer-browser": "^0.1.11",
151
157
  "@types/sanitize-html": "^2.16.0",
152
158
  "@typescript-eslint/eslint-plugin": "^8.46.3",
153
159
  "@typescript-eslint/parser": "^8.46.3",
154
160
  "@vitejs/plugin-react": "^5.2.0",
161
+ "@vitest/browser-playwright": "4.1.8",
162
+ "@vitest/coverage-v8": "^4.1.10",
155
163
  "@wc-toolkit/storybook-helpers": "^10.5.1",
156
- "babel-jest": "^30.2.0",
157
164
  "clone": "^2.1.2",
158
165
  "css-parse": "2.0.0",
159
166
  "del-cli": "^7.0.0",
160
167
  "dotenv": "^17.2.3",
161
168
  "element-internals-polyfill": "^3.0.2",
162
169
  "glob": "^11.0.3",
163
- "identity-obj-proxy": "^3.0.0",
164
- "jest": "^30.2.0",
165
170
  "jest-axe": "^10.0.0",
166
- "jest-canvas-mock": "^2.5.2",
167
- "jest-environment-jsdom": "^30.2.0",
168
171
  "js-yaml": "^4.1.0",
169
172
  "jsdom": "^27.1.0",
170
173
  "lint-staged": "^16.2.6",
171
174
  "loader-utils": "^3.3.1",
172
175
  "marked": "^17.0.0",
176
+ "playwright": "^1.62.1",
173
177
  "plop": "^4.0.4",
174
178
  "postcss": "^8.5.6",
175
179
  "react": "^19.2.0",
@@ -180,12 +184,13 @@
180
184
  "storybook": "10.5.4",
181
185
  "style-dictionary": "^5.1.1",
182
186
  "style-loader": "^4.0.0",
183
- "ts-jest": "^29.4.5",
184
187
  "ts-lit-plugin": "^2.0.2",
185
188
  "ts-node": "^10.9.2",
186
189
  "tsx": "^4.21.0",
187
190
  "typescript": "^5.9.3",
188
- "vite": "^7.2.2"
191
+ "vite": "^7.2.2",
192
+ "vitest": "^4.1.8",
193
+ "vitest-canvas-mock": "^1.1.4"
189
194
  },
190
195
  "lint-staged": {
191
196
  "*.ts": "eslint --cache --fix"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.1.0",
2
+ "version": "2.1.1",
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.0",
3734
+ "@tmorrow/cre8-wc": "^2.1.1",
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};
@@ -1,45 +0,0 @@
1
- import{a as i}from"./iframe-BNJP6ovU.js";i`@import 'design-tokens/core/scss/theming/component';
2
-
3
- /**
4
- * 1)
5
- */
6
- .c-icon-description {
7
- display: flex;
8
- gap: size(1);
9
- }
10
-
11
- .c-icon-description--sm {
12
- @include cre8-typography-label-small;
13
- }
14
-
15
- .c-icon-description--light {
16
- @include cre8-typography-body-default;
17
- }
18
-
19
- .c-icon-description--align-end {
20
- justify-content: flex-end;
21
- }
22
-
23
- .c-icon-description--valign-center {
24
- align-items: center;
25
- }
26
-
27
- .c-icon-description__header {
28
- .c-icon-description--sm & {
29
- display: flex;
30
- flex-direction: column;
31
- align-items: center;
32
- min-width: 2rem;
33
- }
34
- }
35
-
36
- ::slotted(cre8-icon-legacy) {
37
- --cre8-icon-height: #{size(6)};
38
- --cre8-icon-width: #{size(6)};
39
-
40
- .c-icon-description--sm & {
41
- --cre8-icon-height: #{size(2)};
42
- --cre8-icon-width: #{size(2)};
43
- }
44
- }
45
- `;
@@ -1,3 +0,0 @@
1
- import{b as o}from"./iframe-BNJP6ovU.js";import{s}from"./spread-CnPic3C2.js";import"./icon-description-BBSwDykJ.js";import"./preload-helper-PPVm8Dsz.js";const a={title:"Examples/Icon Description",component:"icon-description",parameters:{status:{type:"inProgress"}}},e=r=>o` <icon-description ${s(r)} verticalAlign="center" size="sm">
2
- <cre8-icon-legacy name="order-status" slot="header"></cre8-icon-legacy>Enrolled in auto refill
3
- </icon-description>`;e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:'args => html` <icon-description ${spread(args)} verticalAlign="center" size="sm">\n <cre8-icon-legacy name="order-status" slot="header"></cre8-icon-legacy>Enrolled in auto refill\n</icon-description>`',...e.parameters?.docs?.source}}};const l=["Default"];export{e as Default,l as __namedExportsOrder,a as default};
@@ -1 +0,0 @@
1
- import{A as r}from"./iframe-BNJP6ovU.js";const m=o=>o??r;export{m as o};
@@ -1,165 +0,0 @@
1
- import{a as t,b as r}from"./iframe-BNJP6ovU.js";import"./button-CgaWukz0.js";import"./grid-C5CKMXNe.js";import"./heading-Dbka33DK.js";import"./icon-ChfRWXWy.js";import"./text-link-B3m3KEqY.js";import"./text-passage-xQVosjOr.js";import{s as n}from"./spread-CnPic3C2.js";import"./icon-description-BBSwDykJ.js";import"./preload-helper-PPVm8Dsz.js";import"./if-defined-Bxnzk64Q.js";import"./cre8-element-B35i4Lyg.js";import"./_commonjsHelpers-DaWZu8wl.js";import"./query-BpjciUlk.js";import"./base-DVmwUFg0.js";import"./cre8-form-element-Cfc5VeYV.js";import"./loading-spinner-C52KNq6y.js";t`@import 'design-tokens/core/scss/theming/component';
2
-
3
- /**
4
- * 1)
5
- */
6
-
7
- div.c-medication-card__header {
8
- display: flex;
9
- align-items: center;
10
- padding: size(2);
11
- }
12
-
13
- .c-medication-card__icon {
14
- --cre8-icon-height: #{size(3)};
15
- --cre8-icon-width: #{size(3)};
16
- --cre8-icon-fill: var(--cre8-color-content-subtle);
17
- margin-right: size(2);
18
- }
19
-
20
- .c-medication-card__heading-after {
21
- @include cre8-typography-body-default;
22
- margin-left: auto;
23
-
24
- ::slotted(div) {
25
- display: flex;
26
- gap: size(1);
27
- align-items: center;
28
- }
29
- }
30
- .c-medication-card__footer {
31
- @include cre8-typography-body-default;
32
- padding: size(1) size(2);
33
- border-top: var(--cre8-theme-border-width) var(--cre8-border-style-default) var(--cre8-color-border-default);
34
- }
35
- `;const x={title:"Examples/Medication Card",component:"medication-card",parameters:{status:{type:"inProgress"}}},e=i=>r`<medication-card ${n(i)}>
36
- <cre8-heading slot="heading" headingTagName="h2" variant="title-default">atorvastatin</cre8-heading>
37
- <div slot="headingAfter">
38
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="25" viewBox="0 0 16 25" fill="none">
39
- <path
40
- d="M13.5694 5.87747C13.2776 5.87747 13.041 6.12621 13.041 6.433V22.5427C13.041 23.4732 12.8297 23.6871 11.9077 23.6871H4.59773C3.67837 23.6871 3.46703 23.4732 3.46703 22.5427V21.1928H9.85496C10.1468 21.1928 10.3833 20.9441 10.3833 20.6373V8.99389C10.3833 8.6871 10.1468 8.43839 9.85496 8.43839H3.46438V6.43578C3.46438 6.12898 3.22783 5.88027 2.93602 5.88027C2.64421 5.88027 2.40765 6.12898 2.40765 6.43578V22.5455C2.40765 24.087 3.1051 24.8036 4.60037 24.8036H11.9103C13.4082 24.8036 14.103 24.087 14.103 22.5455V6.43578C14.1037 6.287 14.0476 6.14414 13.9473 6.0392C13.847 5.93426 13.7109 5.87601 13.5694 5.87747Z"
41
- fill="#009BDF"
42
- />
43
- <path
44
- d="M15.4716 0H1.06053C0.768722 0 0.532166 0.248709 0.532166 0.555508V4.3274C0.532166 4.6342 0.768722 4.88291 1.06053 4.88291H15.4716C15.7634 4.88291 16 4.6342 16 4.3274V0.555508C16 0.248709 15.7634 0 15.4716 0ZM14.9433 3.7719H1.59153V1.11657H14.9433V3.7719Z"
45
- fill="#009BDF"
46
- />
47
- </svg>
48
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="25" viewBox="0 0 16 25" fill="none">
49
- <path
50
- d="M13.5694 5.87747C13.2776 5.87747 13.041 6.12621 13.041 6.433V22.5427C13.041 23.4732 12.8297 23.6871 11.9077 23.6871H4.59773C3.67837 23.6871 3.46703 23.4732 3.46703 22.5427V21.1928H9.85496C10.1468 21.1928 10.3833 20.9441 10.3833 20.6373V8.99389C10.3833 8.6871 10.1468 8.43839 9.85496 8.43839H3.46438V6.43578C3.46438 6.12898 3.22783 5.88027 2.93602 5.88027C2.64421 5.88027 2.40765 6.12898 2.40765 6.43578V22.5455C2.40765 24.087 3.1051 24.8036 4.60037 24.8036H11.9103C13.4082 24.8036 14.103 24.087 14.103 22.5455V6.43578C14.1037 6.287 14.0476 6.14414 13.9473 6.0392C13.847 5.93426 13.7109 5.87601 13.5694 5.87747Z"
51
- fill="#009BDF"
52
- />
53
- <path
54
- d="M15.4716 0H1.06053C0.768722 0 0.532166 0.248709 0.532166 0.555508V4.3274C0.532166 4.6342 0.768722 4.88291 1.06053 4.88291H15.4716C15.7634 4.88291 16 4.6342 16 4.3274V0.555508C16 0.248709 15.7634 0 15.4716 0ZM14.9433 3.7719H1.59153V1.11657H14.9433V3.7719Z"
55
- fill="#009BDF"
56
- />
57
- </svg>
58
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="25" viewBox="0 0 16 25" fill="none">
59
- <path
60
- d="M13.5694 5.87747C13.2776 5.87747 13.041 6.12621 13.041 6.433V22.5427C13.041 23.4732 12.8297 23.6871 11.9077 23.6871H4.59773C3.67837 23.6871 3.46703 23.4732 3.46703 22.5427V21.1928H9.85496C10.1468 21.1928 10.3833 20.9441 10.3833 20.6373V8.99389C10.3833 8.6871 10.1468 8.43839 9.85496 8.43839H3.46438V6.43578C3.46438 6.12898 3.22783 5.88027 2.93602 5.88027C2.64421 5.88027 2.40765 6.12898 2.40765 6.43578V22.5455C2.40765 24.087 3.1051 24.8036 4.60037 24.8036H11.9103C13.4082 24.8036 14.103 24.087 14.103 22.5455V6.43578C14.1037 6.287 14.0476 6.14414 13.9473 6.0392C13.847 5.93426 13.7109 5.87601 13.5694 5.87747Z"
61
- fill="#009BDF"
62
- />
63
- <path
64
- d="M15.4716 0H1.06053C0.768722 0 0.532166 0.248709 0.532166 0.555508V4.3274C0.532166 4.6342 0.768722 4.88291 1.06053 4.88291H15.4716C15.7634 4.88291 16 4.6342 16 4.3274V0.555508C16 0.248709 15.7634 0 15.4716 0ZM14.9433 3.7719H1.59153V1.11657H14.9433V3.7719Z"
65
- fill="#009BDF"
66
- />
67
- </svg>
68
- 3 refills left
69
- </div>
70
- <cre8-grid variant="1-3up">
71
- <cre8-grid-item>
72
- <cre8-text-passage> 40 mg </cre8-text-passage>
73
- <cre8-text-passage> Dr Hayden Park <a href="#">Update doctor</a> </cre8-text-passage>
74
- <cre8-text-passage> Rx# 8974065213 <a href="#">Prescription details</a> </cre8-text-passage>
75
- </cre8-grid-item>
76
- <cre8-grid-item>
77
- <icon-description verticalAlign="center" size="sm"><cre8-icon-legacy name="people" slot="header"></cre8-icon-legacy>Chris</icon-description>
78
- <icon-description verticalAlign="center" size="sm">
79
- <cre8-icon-legacy name="pharmacy" style="--cre8-icon-height: 2rem; --cre8-icon-width: 2rem;" slot="header"></cre8-icon-legacy> Pharmacy
80
- Pharmacy
81
- </icon-description>
82
- </cre8-grid-item>
83
- <cre8-grid-item style="text-align: right">
84
- <icon-description weight="light" class="cre8-u-display-block cre8-u-margin-bottom-sm" align="end" verticalAlign="center" size="sm">
85
- <cre8-icon-legacy name="order-status" slot="header"></cre8-icon-legacy>Enrolled in auto refill
86
- </icon-description>
87
- <cre8-button
88
- class="cre8-u-display-block cre8-u-margin-bottom-sm"
89
- text="Manage Auto Refill"
90
- iconPosition="after"
91
- iconName="keyboard-arrow-down"
92
- ></cre8-button>
93
- <cre8-text-link>Archive Medication</cre8-text-link>
94
- </cre8-grid-item>
95
- </cre8-grid>
96
- <div slot="footer" style="display: flex; align-items: center; gap: 1rem">
97
- <cre8-text-passage><strong>Next order:</strong> Processing Estimated delivery by: Aug 16,2022</cre8-text-passage>
98
- <cre8-button text="Order details" variant="link" size="sm" iconPosition="after" iconName="keyboard-arrow-down"></cre8-button>
99
- </div>
100
- </medication-card>`;e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`args => html\`<medication-card \${spread(args)}>
101
- <cre8-heading slot="heading" headingTagName="h2" variant="title-default">atorvastatin</cre8-heading>
102
- <div slot="headingAfter">
103
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="25" viewBox="0 0 16 25" fill="none">
104
- <path
105
- d="M13.5694 5.87747C13.2776 5.87747 13.041 6.12621 13.041 6.433V22.5427C13.041 23.4732 12.8297 23.6871 11.9077 23.6871H4.59773C3.67837 23.6871 3.46703 23.4732 3.46703 22.5427V21.1928H9.85496C10.1468 21.1928 10.3833 20.9441 10.3833 20.6373V8.99389C10.3833 8.6871 10.1468 8.43839 9.85496 8.43839H3.46438V6.43578C3.46438 6.12898 3.22783 5.88027 2.93602 5.88027C2.64421 5.88027 2.40765 6.12898 2.40765 6.43578V22.5455C2.40765 24.087 3.1051 24.8036 4.60037 24.8036H11.9103C13.4082 24.8036 14.103 24.087 14.103 22.5455V6.43578C14.1037 6.287 14.0476 6.14414 13.9473 6.0392C13.847 5.93426 13.7109 5.87601 13.5694 5.87747Z"
106
- fill="#009BDF"
107
- />
108
- <path
109
- d="M15.4716 0H1.06053C0.768722 0 0.532166 0.248709 0.532166 0.555508V4.3274C0.532166 4.6342 0.768722 4.88291 1.06053 4.88291H15.4716C15.7634 4.88291 16 4.6342 16 4.3274V0.555508C16 0.248709 15.7634 0 15.4716 0ZM14.9433 3.7719H1.59153V1.11657H14.9433V3.7719Z"
110
- fill="#009BDF"
111
- />
112
- </svg>
113
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="25" viewBox="0 0 16 25" fill="none">
114
- <path
115
- d="M13.5694 5.87747C13.2776 5.87747 13.041 6.12621 13.041 6.433V22.5427C13.041 23.4732 12.8297 23.6871 11.9077 23.6871H4.59773C3.67837 23.6871 3.46703 23.4732 3.46703 22.5427V21.1928H9.85496C10.1468 21.1928 10.3833 20.9441 10.3833 20.6373V8.99389C10.3833 8.6871 10.1468 8.43839 9.85496 8.43839H3.46438V6.43578C3.46438 6.12898 3.22783 5.88027 2.93602 5.88027C2.64421 5.88027 2.40765 6.12898 2.40765 6.43578V22.5455C2.40765 24.087 3.1051 24.8036 4.60037 24.8036H11.9103C13.4082 24.8036 14.103 24.087 14.103 22.5455V6.43578C14.1037 6.287 14.0476 6.14414 13.9473 6.0392C13.847 5.93426 13.7109 5.87601 13.5694 5.87747Z"
116
- fill="#009BDF"
117
- />
118
- <path
119
- d="M15.4716 0H1.06053C0.768722 0 0.532166 0.248709 0.532166 0.555508V4.3274C0.532166 4.6342 0.768722 4.88291 1.06053 4.88291H15.4716C15.7634 4.88291 16 4.6342 16 4.3274V0.555508C16 0.248709 15.7634 0 15.4716 0ZM14.9433 3.7719H1.59153V1.11657H14.9433V3.7719Z"
120
- fill="#009BDF"
121
- />
122
- </svg>
123
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="25" viewBox="0 0 16 25" fill="none">
124
- <path
125
- d="M13.5694 5.87747C13.2776 5.87747 13.041 6.12621 13.041 6.433V22.5427C13.041 23.4732 12.8297 23.6871 11.9077 23.6871H4.59773C3.67837 23.6871 3.46703 23.4732 3.46703 22.5427V21.1928H9.85496C10.1468 21.1928 10.3833 20.9441 10.3833 20.6373V8.99389C10.3833 8.6871 10.1468 8.43839 9.85496 8.43839H3.46438V6.43578C3.46438 6.12898 3.22783 5.88027 2.93602 5.88027C2.64421 5.88027 2.40765 6.12898 2.40765 6.43578V22.5455C2.40765 24.087 3.1051 24.8036 4.60037 24.8036H11.9103C13.4082 24.8036 14.103 24.087 14.103 22.5455V6.43578C14.1037 6.287 14.0476 6.14414 13.9473 6.0392C13.847 5.93426 13.7109 5.87601 13.5694 5.87747Z"
126
- fill="#009BDF"
127
- />
128
- <path
129
- d="M15.4716 0H1.06053C0.768722 0 0.532166 0.248709 0.532166 0.555508V4.3274C0.532166 4.6342 0.768722 4.88291 1.06053 4.88291H15.4716C15.7634 4.88291 16 4.6342 16 4.3274V0.555508C16 0.248709 15.7634 0 15.4716 0ZM14.9433 3.7719H1.59153V1.11657H14.9433V3.7719Z"
130
- fill="#009BDF"
131
- />
132
- </svg>
133
- 3 refills left
134
- </div>
135
- <cre8-grid variant="1-3up">
136
- <cre8-grid-item>
137
- <cre8-text-passage> 40 mg </cre8-text-passage>
138
- <cre8-text-passage> Dr Hayden Park <a href="#">Update doctor</a> </cre8-text-passage>
139
- <cre8-text-passage> Rx# 8974065213 <a href="#">Prescription details</a> </cre8-text-passage>
140
- </cre8-grid-item>
141
- <cre8-grid-item>
142
- <icon-description verticalAlign="center" size="sm"><cre8-icon-legacy name="people" slot="header"></cre8-icon-legacy>Chris</icon-description>
143
- <icon-description verticalAlign="center" size="sm">
144
- <cre8-icon-legacy name="pharmacy" style="--cre8-icon-height: 2rem; --cre8-icon-width: 2rem;" slot="header"></cre8-icon-legacy> Pharmacy
145
- Pharmacy
146
- </icon-description>
147
- </cre8-grid-item>
148
- <cre8-grid-item style="text-align: right">
149
- <icon-description weight="light" class="cre8-u-display-block cre8-u-margin-bottom-sm" align="end" verticalAlign="center" size="sm">
150
- <cre8-icon-legacy name="order-status" slot="header"></cre8-icon-legacy>Enrolled in auto refill
151
- </icon-description>
152
- <cre8-button
153
- class="cre8-u-display-block cre8-u-margin-bottom-sm"
154
- text="Manage Auto Refill"
155
- iconPosition="after"
156
- iconName="keyboard-arrow-down"
157
- ></cre8-button>
158
- <cre8-text-link>Archive Medication</cre8-text-link>
159
- </cre8-grid-item>
160
- </cre8-grid>
161
- <div slot="footer" style="display: flex; align-items: center; gap: 1rem">
162
- <cre8-text-passage><strong>Next order:</strong> Processing Estimated delivery by: Aug 16,2022</cre8-text-passage>
163
- <cre8-button text="Order details" variant="link" size="sm" iconPosition="after" iconName="keyboard-arrow-down"></cre8-button>
164
- </div>
165
- </medication-card>\``,...e.parameters?.docs?.source}}};const u=["Default"];export{e as Default,u as __namedExportsOrder,x as default};
@@ -1,57 +0,0 @@
1
- import{a as i,b as t}from"./iframe-BNJP6ovU.js";import"./button-CgaWukz0.js";import"./field-BpUYyRW1.js";import{s as o}from"./spread-CnPic3C2.js";import"./preload-helper-PPVm8Dsz.js";import"./if-defined-Bxnzk64Q.js";import"./cre8-element-B35i4Lyg.js";import"./_commonjsHelpers-DaWZu8wl.js";import"./query-BpjciUlk.js";import"./base-DVmwUFg0.js";import"./cre8-form-element-Cfc5VeYV.js";import"./icon-ChfRWXWy.js";import"./loading-spinner-C52KNq6y.js";import"./index.browser-BY9c7rfI.js";import"./field-note-fccBckVl.js";i`@import 'design-tokens/core/scss/theming/component' ;
2
-
3
- /**
4
- * 1)
5
- */
6
- .c-medication-form {
7
- display: flex;
8
- flex-wrap: wrap;
9
- margin: size(-1.5);
10
- flex-direction: column;
11
-
12
- @media all and (min-width: component.$cre8-breakpoint-md) {
13
- flex-direction: row;
14
- width: 100%;
15
- }
16
- }
17
-
18
- /**
19
- * Slotted grid item within 1-2-4up Grid
20
- */
21
- ::slotted(*) {
22
- width: 100%;
23
- padding: size(1.5);
24
-
25
- @media all and (min-width: component.$cre8-breakpoint-md) {
26
- width: 50%;
27
- }
28
-
29
- @media all and (min-width: component.$cre8-breakpoint-xl) {
30
- flex: 1;
31
- }
32
- }
33
-
34
- ::slotted(:first-child) {
35
- @media all and (min-width: component.$cre8-breakpoint-lg) {
36
- flex: auto;
37
- width: 20%;
38
- }
39
- }
40
-
41
- ::slotted(:last-child) {
42
- @media all and (min-width: component.$cre8-breakpoint-md) {
43
- position: relative;
44
- top: size(6.25);
45
- }
46
- }
47
- `;const y={title:"Examples/Medication Form",component:"medication-form",parameters:{status:{type:"inProgress"}}},e=r=>t`<medication-form ${o(r)}>
48
- <cre8-field label="Enter medication name of Rx number" placeholder="ex. Lipitor or Rx number"></cre8-field>
49
- <cre8-field label="Filter by member" placeholder="All"></cre8-field>
50
- <cre8-field label="Filter by pharmacy type" placeholder="All"></cre8-field>
51
- <cre8-button text="Clear All" variant="bare" ?disabled=${!0}></cre8-button>
52
- </medication-form>`;e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`args => html\`<medication-form \${spread(args)}>
53
- <cre8-field label="Enter medication name of Rx number" placeholder="ex. Lipitor or Rx number"></cre8-field>
54
- <cre8-field label="Filter by member" placeholder="All"></cre8-field>
55
- <cre8-field label="Filter by pharmacy type" placeholder="All"></cre8-field>
56
- <cre8-button text="Clear All" variant="bare" ?disabled=\${true}></cre8-button>
57
- </medication-form>\``,...e.parameters?.docs?.source}}};const $=["Default"];export{e as Default,$ as __namedExportsOrder,y as default};
@@ -1,24 +0,0 @@
1
- import{a as r,b as t}from"./iframe-BNJP6ovU.js";import"./button-CgaWukz0.js";import"./text-passage-xQVosjOr.js";import"./preload-helper-PPVm8Dsz.js";import"./if-defined-Bxnzk64Q.js";import"./cre8-element-B35i4Lyg.js";import"./_commonjsHelpers-DaWZu8wl.js";import"./query-BpjciUlk.js";import"./base-DVmwUFg0.js";import"./cre8-form-element-Cfc5VeYV.js";import"./icon-ChfRWXWy.js";import"./loading-spinner-C52KNq6y.js";r`@import 'design-tokens/core/scss/theming/component' ;
2
-
3
- /**
4
- * 1)
5
- */
6
- .c-request-prescription {
7
- @include cre8-typography-body-large();
8
- display: flex;
9
- flex-direction: column;
10
- align-items: center;
11
- padding: size(5);
12
- border: var(--cre8-theme-border-width) dashed var(--cre8-color-border-default);
13
- }
14
-
15
- .c-request-prescription__footer {
16
- margin-top: size(2);
17
- }
18
- `;const x={title:"Examples/Request Prescription",component:"request-prescription",parameters:{status:{type:"inProgress"}}},e=o=>t` <request-prescription>
19
- <cre8-text-passage>Have a new prescription or want to transfer one from another pharmacy?</cre8-text-passage>
20
- <cre8-button slot="footer" text="Request an Rx" iconPosition="before" iconName="add" variant="primary"></cre8-button>
21
- </request-prescription>`;e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`args => html\` <request-prescription>
22
- <cre8-text-passage>Have a new prescription or want to transfer one from another pharmacy?</cre8-text-passage>
23
- <cre8-button slot="footer" text="Request an Rx" iconPosition="before" iconName="add" variant="primary"></cre8-button>
24
- </request-prescription>\``,...e.parameters?.docs?.source}}};const b=["Default"];export{e as Default,b as __namedExportsOrder,x as default};
@@ -1 +0,0 @@
1
- import{n as r}from"./cre8-element-B35i4Lyg.js";function n(t){return r({...t,state:!0,attribute:!1})}export{n as r};