@tmorrow/cre8-wc 2.0.7 → 2.0.8
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.
- package/a2ui/catalog +5 -5
- package/a2ui/catalog-kg.json +156 -20
- package/a2ui/catalog.json +393 -34
- package/a2ui/catalog.svg +2445 -2445
- package/a2ui/examples/compound-families.json +298 -0
- package/a2ui/examples/llm-observability.json +678 -650
- package/a2ui/generate-catalog.mjs +116 -3
- package/a2ui/inert-props.json +32 -0
- package/a2ui/render-audit.mjs +294 -0
- package/a2ui/renderer.d.ts +2 -1
- package/a2ui/renderer.js +1 -1
- package/a2ui/renderer.ts +1 -1
- package/a2ui/smoke-test.mjs +3 -3
- package/a2ui/stream/diff-test.mjs +299 -0
- package/a2ui/stream/diff.d.ts +28 -0
- package/a2ui/stream/diff.js +130 -0
- package/a2ui/stream/diff.ts +145 -0
- package/a2ui/stream/index.d.ts +11 -0
- package/a2ui/stream/index.js +11 -0
- package/a2ui/stream/index.ts +43 -0
- package/a2ui/stream/model.d.ts +66 -0
- package/a2ui/stream/model.js +429 -0
- package/a2ui/stream/model.ts +472 -0
- package/a2ui/stream/pointer.d.ts +34 -0
- package/a2ui/stream/pointer.js +146 -0
- package/a2ui/stream/pointer.ts +147 -0
- package/a2ui/stream/renderer.d.ts +51 -0
- package/a2ui/stream/renderer.js +282 -0
- package/a2ui/stream/renderer.ts +291 -0
- package/a2ui/stream/stream-test.mjs +592 -0
- package/a2ui/stream/types.d.ts +173 -0
- package/a2ui/stream/types.js +17 -0
- package/a2ui/stream/types.ts +127 -0
- package/cdn/cre8-wc.esm.js +3527 -3226
- package/cdn/cre8-wc.esm.js.map +1 -1
- package/cdn/cre8-wc.min.js +289 -289
- package/cdn/cre8-wc.min.js.map +1 -1
- package/dist/assets/{Changelog-Documentation-BguNswiM.js → Changelog-Documentation-CeOetLxK.js} +1 -1
- package/dist/assets/{Code-Guidelines-BM3dZyzL.js → Code-Guidelines-BjdezAjj.js} +1 -1
- package/dist/assets/{Color-6AOWCN3U-C4AEGNk3.js → Color-6AOWCN3U-DPFGZitI.js} +1 -1
- package/dist/assets/{Contributing-Guidelines-DZURVehh.js → Contributing-Guidelines-B1M2V1hW.js} +1 -1
- package/dist/assets/{DocsRenderer-JROSPFPF-DeZmCI9u.js → DocsRenderer-JROSPFPF-BBy8KWNl.js} +1 -1
- package/dist/assets/{Tokens-Documentation-ZecGbtQg.js → Tokens-Documentation-CdTxFDLe.js} +1 -1
- package/dist/assets/{WithTooltip-7X4HQR7L-2Hfrkir-.js → WithTooltip-7X4HQR7L-DZzTNMQ7.js} +1 -1
- package/dist/assets/{accordion-item.stories-D-MjrX5G.js → accordion-item.stories-Bl26JlHp.js} +1 -9
- package/dist/assets/{accordion.stories-icgNa1dl.js → accordion.stories-DjoLApQw.js} +3 -11
- package/dist/assets/{alert.stories-BzDaXtj-.js → alert.stories-pO1y3YCQ.js} +15 -31
- package/dist/assets/{badge-C5wOWgyg.js → badge-BTxW3bN2.js} +3 -11
- package/dist/assets/{badge.stories-5GfB4jVI.js → badge.stories-vqh63RJ2.js} +1 -1
- package/dist/assets/{band.stories-DhXaP_kL.js → band.stories-CjKRppSb.js} +1 -9
- package/dist/assets/{blocks-DhUVut8Z.js → blocks-1be_-L6v.js} +5 -5
- package/dist/assets/{breadcrumbs.stories-CrPUBVk1.js → breadcrumbs.stories-Doyfy3V9.js} +2 -18
- package/dist/assets/{button-CJL8yzAT.js → button-CgaWukz0.js} +1 -9
- package/dist/assets/{button-group-BgwgtSFC.js → button-group-G7qN4MwM.js} +1 -9
- package/dist/assets/{button-group.stories-W-07gO63.js → button-group.stories-cL3Kay6M.js} +1 -1
- package/dist/assets/{button.stories-BPzJ-sCv.js → button.stories-C9HSpxWb.js} +6 -6
- package/dist/assets/{card.stories-mlFGY2Xn.js → card.stories-BbU8YymD.js} +3 -11
- package/dist/assets/{chart.stories-C8yuHHeK.js → chart.stories-BL4FxIA_.js} +1 -1
- package/dist/assets/{checkbox-field-item-iHcdmTNw.js → checkbox-field-item-DIMHcWM0.js} +1 -9
- package/dist/assets/{checkbox-field-item.stories-D1aVLDXn.js → checkbox-field-item.stories-XbB4x_lO.js} +1 -1
- package/dist/assets/{checkbox-field.stories-BoVB2jCx.js → checkbox-field.stories-YnqFUI4K.js} +2 -10
- package/dist/assets/{cre8-element-DfmMtHJO.js → cre8-element-B35i4Lyg.js} +1 -1
- package/dist/assets/{cre8-form-element-bQpK8UYN.js → cre8-form-element-Cfc5VeYV.js} +1 -1
- package/dist/assets/{danger-button.stories-Cb4ljnhQ.js → danger-button.stories-xh25hmfd.js} +1 -9
- package/dist/assets/{date-picker.stories-Cje3qk8D.js → date-picker.stories-DD_ctzEF.js} +1 -49
- package/dist/assets/{divider-B_PXBGWD.js → divider-xZ2KARHf.js} +2 -10
- package/dist/assets/{divider.stories-CtfeBqVV.js → divider.stories-Bk9oF-OV.js} +1 -1
- package/dist/assets/{dropdown-Cgwne34I.js → dropdown-BEP5x3CW.js} +6 -22
- package/dist/assets/{dropdown-item.stories-pXkDLRuv.js → dropdown-item.stories-Iaw_UrEP.js} +1 -1
- package/dist/assets/{dropdown.stories-DZnmHieY.js → dropdown.stories-B0OlKD7h.js} +1 -1
- package/dist/assets/{example-drug-card.stories-DTzLXTFx.js → example-drug-card.stories-Bp5JIeE_.js} +1 -1
- package/dist/assets/{f-po-C2WpbOFJ.js → f-po-BdPzDRD-.js} +1 -1
- package/dist/assets/{feature.stories-DffXdJch.js → feature.stories-DYE1Js70.js} +1 -9
- package/dist/assets/{field-DzYRqQb2.js → field-BpUYyRW1.js} +1 -9
- package/dist/assets/{field-note-DKXZiXLU.js → field-note-fccBckVl.js} +3 -11
- package/dist/assets/{field-note.stories-DS_0bQul.js → field-note.stories-BH9AZMbF.js} +1 -1
- package/dist/assets/{field.stories-BvXn0oG6.js → field.stories-BQPtmziK.js} +1 -1
- package/dist/assets/{footer.stories-C3ZibisU.js → footer.stories-DCWEciqD.js} +1 -9
- package/dist/assets/{form-example.stories-C-TuOeF2.js → form-example.stories-9IDC0AgX.js} +1 -1
- package/dist/assets/{formatter-L2YTDE3Q-CJVnxOUW.js → formatter-L2YTDE3Q-B9u1AOWn.js} +1 -1
- package/dist/assets/{global-nav-item-xQL7wVjY.js → global-nav-item-T4htN-yO.js} +6 -14
- package/dist/assets/{global-nav-item.stories-Dp9TE3aR.js → global-nav-item.stories-2dWRfCXv.js} +1 -1
- package/dist/assets/{global-nav.stories-B5Nk8JZ0.js → global-nav.stories-Fh1gScqg.js} +2 -10
- package/dist/assets/{grid-DYgnZBsd.js → grid-C5CKMXNe.js} +3 -19
- package/dist/assets/{grid.stories-BFiXTq2C.js → grid.stories-BLmCNdeA.js} +1 -1
- package/dist/assets/{header.stories-D1f7xhjV.js → header.stories-BkDrjJtj.js} +1 -9
- package/dist/assets/{heading-485Jz7JZ.js → heading-Dbka33DK.js} +2 -10
- package/dist/assets/{heading.stories-gPF_SmTc.js → heading.stories-Be40_bmG.js} +1 -1
- package/dist/assets/{hero.stories-BHlFNdvF.js → hero.stories-vRu7PZG9.js} +1 -9
- package/dist/assets/{icon-DeTLDzTS.js → icon-ChfRWXWy.js} +2 -10
- package/dist/assets/{icon-description-o-YaiEjK.js → icon-description-BBSwDykJ.js} +1 -1
- package/dist/assets/{icon-description.stories-BdPRvEwe.js → icon-description.stories-Cg6ekOme.js} +1 -1
- package/dist/assets/{icon.stories-BxWpqxT5.js → icon.stories-Cj4U7L5G.js} +1 -1
- package/dist/assets/if-defined-Bxnzk64Q.js +1 -0
- package/dist/assets/{iframe-dHvya7sk.js → iframe-BNJP6ovU.js} +35 -35
- package/dist/assets/{inline-alert.stories-FH0bQ0jh.js → inline-alert.stories-CygBYI02.js} +1 -9
- package/dist/assets/{layout-container.stories-D6Z6Kx78.js → layout-container.stories-TMyIJteJ.js} +2 -10
- package/dist/assets/{layout.stories-CNYuwC_r.js → layout.stories-ylRM-ANL.js} +7 -23
- package/dist/assets/{linelength-container.stories-pCRXZvxS.js → linelength-container.stories-Br2v8jXE.js} +1 -9
- package/dist/assets/{link-BpCiLxNW.js → link-CRE0Eqdo.js} +1 -9
- package/dist/assets/{link-list.stories-12vsAa1P.js → link-list.stories--y-urrVo.js} +7 -23
- package/dist/assets/{link.stories-DAoQtY4_.js → link.stories-C3WQOgkY.js} +2 -2
- package/dist/assets/{list.stories-D0N3yBIf.js → list.stories-Bd2bxkxn.js} +7 -23
- package/dist/assets/{loading-spinner-g6iJajXH.js → loading-spinner-C52KNq6y.js} +4 -12
- package/dist/assets/{loading-spinner.stories-B6_mgPxB.js → loading-spinner.stories-DPRGEeHT.js} +1 -1
- package/dist/assets/{logo.stories-BvMwN2qg.js → logo.stories-2LBqqraT.js} +1 -9
- package/dist/assets/{main.stories-pL4zefbs.js → main.stories-BQzD7iWD.js} +2 -10
- package/dist/assets/{medication-card.stories-DK1XGJic.js → medication-card.stories-Wc-hA0-s.js} +5 -5
- package/dist/assets/{medication-form.stories-Bj5dLp5S.js → medication-form.stories-DfFOCDaU.js} +1 -1
- package/dist/assets/{modal-CO0M4e_8.js → modal-CCfbY4fF.js} +1 -9
- package/dist/assets/{modal-BNu8xy08.js → modal-GglWRNJp.js} +1 -1
- package/dist/assets/{modal.stories-CHYBrq_E.js → modal.stories-CpybCs79.js} +1 -1
- package/dist/assets/{multi-select.stories-C9XXsWio.js → multi-select.stories-BhzEKRui.js} +1 -9
- package/dist/assets/{nav-container.stories-DU9fhvDu.js → nav-container.stories-Be1YlegP.js} +3 -11
- package/dist/assets/{page-header.stories-BrstKiEY.js → page-header.stories-BOVLQ0YF.js} +1 -9
- package/dist/assets/{pagination.stories-Bw2M2iOn.js → pagination.stories-D62sa_1K.js} +9 -25
- package/dist/assets/{percent-bar.stories-UQRXYUqd.js → percent-bar.stories-CYi4El7T.js} +1 -9
- package/dist/assets/{popover.stories-ZkwrRFpR.js → popover.stories-B9O8F4yv.js} +1 -9
- package/dist/assets/{primary-nav.stories-wqOKwgQn.js → primary-nav.stories-Bt-o7h45.js} +1 -17
- package/dist/assets/{progress-meter-TzASasu0.js → progress-meter-Dit59091.js} +1 -9
- package/dist/assets/{progress-meter.stories-qfJALZf8.js → progress-meter.stories-CYnOCmjo.js} +1 -1
- package/dist/assets/{progress-steps-item-KvW1d_7L.js → progress-steps-item-CWJsad0s.js} +1 -9
- package/dist/assets/{progress-steps-item.stories-uOn6tJ1W.js → progress-steps-item.stories-ePn_6bPn.js} +1 -1
- package/dist/assets/{progress-steps.stories-CKFPx8D0.js → progress-steps.stories-CblrEcXF.js} +1 -9
- package/dist/assets/{radio-field-item-CTaR50XR.js → radio-field-item-Bm-0RWPe.js} +5 -21
- package/dist/assets/{radio-field-item.stories-DQSLj8W1.js → radio-field-item.stories-y_TrTRIW.js} +1 -1
- package/dist/assets/{radio-field.stories-Btmc_Iep.js → radio-field.stories-CSWrbUrn.js} +1 -1
- package/dist/assets/{remove-tag-BSEZ7VT8.js → remove-tag-lCr57c5r.js} +1 -9
- package/dist/assets/{remove-tag.stories-diRKi7Ua.js → remove-tag.stories-CDfwCdvZ.js} +1 -1
- package/dist/assets/{request-prescription.stories-DQvra7ia.js → request-prescription.stories-O4zqokfb.js} +1 -1
- package/dist/assets/{sample-modal.stories-deE1EBfZ.js → sample-modal.stories-BZ4N2R2Z.js} +1 -1
- package/dist/assets/{section.stories-DF4mcy2O.js → section.stories-D_1InThX.js} +1 -9
- package/dist/assets/{select-tile-D-C8oSrm.js → select-tile-BqqB3ZtE.js} +2 -10
- package/dist/assets/{select-tile-list.stories-vsBQUIcl.js → select-tile-list.stories-Di4ILgV8.js} +1 -9
- package/dist/assets/{select-tile.stories-CqHzN5fc.js → select-tile.stories-D3h_6zlV.js} +6 -6
- package/dist/assets/{select.stories-8aOGxTtr.js → select.stories-BB2phP9A.js} +1 -9
- package/dist/assets/{skeleton-loader.stories-CwR2-aC5.js → skeleton-loader.stories-y4uml_kV.js} +5 -13
- package/dist/assets/{split-button.stories-CyfdrK4u.js → split-button.stories-C_82I4ME.js} +2 -10
- package/dist/assets/{spread-BPiNgQQF.js → spread-CnPic3C2.js} +1 -1
- package/dist/assets/state-DkQhleoO.js +1 -0
- package/dist/assets/{submenu.stories-CDhNzZzh.js → submenu.stories-UDtaREr1.js} +2 -18
- package/dist/assets/{syntaxhighlighter-T5IQBZDB-BzI6WxUR.js → syntaxhighlighter-T5IQBZDB-D-I_s_yD.js} +1 -1
- package/dist/assets/{table-header-CfcchoYz.js → table-header-2837i43H.js} +3 -51
- package/dist/assets/{table-object.stories-Bd5qdfMU.js → table-object.stories-D4KoI-wA.js} +1 -9
- package/dist/assets/{table.stories-DxuBe9dJ.js → table.stories-DUJDibEp.js} +1 -1
- package/dist/assets/{tabs.stories-Cpc3OHJx.js → tabs.stories-C06SngOF.js} +5 -29
- package/dist/assets/{tag-list.stories-BmyCmrTF.js → tag-list.stories-Du-IoYzu.js} +2 -10
- package/dist/assets/{tag-vQFuZneb.js → tag-oHGdclJl.js} +1 -9
- package/dist/assets/{tag.stories-DGzrNUbb.js → tag.stories-C5D5IbuK.js} +1 -1
- package/dist/assets/{tertiary-nav.stories-D4q5K-am.js → tertiary-nav.stories-B1GU8Zi4.js} +3 -19
- package/dist/assets/{text-link-4qLRIeJB.js → text-link-B3m3KEqY.js} +1 -9
- package/dist/assets/{text-link.stories-D6BRm2I5.js → text-link.stories-4O6qn82H.js} +1 -1
- package/dist/assets/{text-passage-DGaI5i2I.js → text-passage-xQVosjOr.js} +3 -19
- package/dist/assets/{text-passage.stories-DkmXVUhH.js → text-passage.stories-Da1nspwG.js} +1 -1
- package/dist/assets/{tooltip.stories-B7ADDq7o.js → tooltip.stories-DLKyyeKn.js} +6 -14
- package/dist/assets/{utility-nav.stories-ffXVvyLp.js → utility-nav.stories-B6xBFe7z.js} +5 -21
- package/dist/design-tokens/brands/cre8/css/tokens_brand.css +1 -1
- package/dist/design-tokens/core/scss/theming/component.css +1 -1
- package/dist/design-tokens/core/scss/theming/variables.css +1 -7
- package/dist/design-tokens/core/scss/theming/variables.scss +0 -11
- package/dist/icons/cre8-icons.svg +1 -1
- package/dist/iframe.html +1 -24
- package/dist/index.html +25 -77
- package/dist/project.json +1 -1
- package/lib/a2ui/renderer.d.ts +2 -1
- package/lib/a2ui/renderer.d.ts.map +1 -1
- package/lib/a2ui/renderer.js +1 -1
- package/lib/a2ui/renderer.js.map +1 -1
- package/lib/a2ui/stream/diff.d.ts +29 -0
- package/lib/a2ui/stream/diff.d.ts.map +1 -0
- package/lib/a2ui/stream/diff.js +131 -0
- package/lib/a2ui/stream/diff.js.map +1 -0
- package/lib/a2ui/stream/index.d.ts +12 -0
- package/lib/a2ui/stream/index.d.ts.map +1 -0
- package/lib/a2ui/stream/index.js +12 -0
- package/lib/a2ui/stream/index.js.map +1 -0
- package/lib/a2ui/stream/model.d.ts +67 -0
- package/lib/a2ui/stream/model.d.ts.map +1 -0
- package/lib/a2ui/stream/model.js +423 -0
- package/lib/a2ui/stream/model.js.map +1 -0
- package/lib/a2ui/stream/pointer.d.ts +35 -0
- package/lib/a2ui/stream/pointer.d.ts.map +1 -0
- package/lib/a2ui/stream/pointer.js +147 -0
- package/lib/a2ui/stream/pointer.js.map +1 -0
- package/lib/a2ui/stream/renderer.d.ts +52 -0
- package/lib/a2ui/stream/renderer.d.ts.map +1 -0
- package/lib/a2ui/stream/renderer.js +279 -0
- package/lib/a2ui/stream/renderer.js.map +1 -0
- package/lib/a2ui/stream/types.d.ts +174 -0
- package/lib/a2ui/stream/types.d.ts.map +1 -0
- package/lib/a2ui/stream/types.js +18 -0
- package/lib/a2ui/stream/types.js.map +1 -0
- package/lib/components/accordion/accordion.d.ts +15 -0
- package/lib/components/accordion/accordion.d.ts.map +1 -1
- package/lib/components/accordion/accordion.js +23 -0
- package/lib/components/accordion/accordion.js.map +1 -1
- package/lib/components/badge/badge.d.ts +4 -17
- package/lib/components/badge/badge.d.ts.map +1 -1
- package/lib/components/badge/badge.js +0 -15
- package/lib/components/badge/badge.js.map +1 -1
- package/lib/components/breadcrumbs/breadcrumbs.d.ts +14 -0
- package/lib/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
- package/lib/components/breadcrumbs/breadcrumbs.js +21 -0
- package/lib/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/lib/components/chart/chart.d.ts +3 -3
- package/lib/components/chart/chart.js +6 -6
- package/lib/components/chart/chart.js.map +1 -1
- package/lib/components/checkbox-field/checkbox-field.d.ts +19 -0
- package/lib/components/checkbox-field/checkbox-field.d.ts.map +1 -1
- package/lib/components/checkbox-field/checkbox-field.js +28 -0
- package/lib/components/checkbox-field/checkbox-field.js.map +1 -1
- package/lib/components/cre8-element.d.ts +19 -0
- package/lib/components/cre8-element.d.ts.map +1 -1
- package/lib/components/cre8-element.js +51 -2
- package/lib/components/cre8-element.js.map +1 -1
- package/lib/components/divider/divider.d.ts +1 -1
- package/lib/components/divider/divider.d.ts.map +1 -1
- package/lib/components/divider/divider.js.map +1 -1
- package/lib/components/dropdown/dropdown.d.ts +13 -0
- package/lib/components/dropdown/dropdown.d.ts.map +1 -1
- package/lib/components/dropdown/dropdown.js +19 -0
- package/lib/components/dropdown/dropdown.js.map +1 -1
- package/lib/components/dropdown-item/dropdown-item.d.ts +1 -1
- package/lib/components/dropdown-item/dropdown-item.js +2 -2
- package/lib/components/dropdown-item/dropdown-item.js.map +1 -1
- package/lib/components/heading/heading.d.ts +3 -5
- package/lib/components/heading/heading.d.ts.map +1 -1
- package/lib/components/heading/heading.js +2 -4
- package/lib/components/heading/heading.js.map +1 -1
- package/lib/components/link-list/link-list.d.ts +19 -0
- package/lib/components/link-list/link-list.d.ts.map +1 -1
- package/lib/components/link-list/link-list.js +19 -0
- package/lib/components/link-list/link-list.js.map +1 -1
- package/lib/components/list/list.d.ts +13 -0
- package/lib/components/list/list.d.ts.map +1 -1
- package/lib/components/list/list.js +15 -0
- package/lib/components/list/list.js.map +1 -1
- package/lib/components/modal/modal.d.ts +2 -2
- package/lib/components/modal/modal.js +2 -2
- package/lib/components/modal/modal.js.map +1 -1
- package/lib/components/multi-select/multi-select.d.ts +2 -2
- package/lib/components/multi-select/multi-select.js +5 -5
- package/lib/components/multi-select/multi-select.js.map +1 -1
- package/lib/components/pagination/pagination.d.ts +1 -1
- package/lib/components/pagination/pagination.js +2 -2
- package/lib/components/pagination/pagination.js.map +1 -1
- package/lib/components/percent-bar/percent-bar.d.ts +2 -0
- package/lib/components/percent-bar/percent-bar.d.ts.map +1 -1
- package/lib/components/percent-bar/percent-bar.js +3 -1
- package/lib/components/percent-bar/percent-bar.js.map +1 -1
- package/lib/components/popover/popover.d.ts +6 -7
- package/lib/components/popover/popover.d.ts.map +1 -1
- package/lib/components/popover/popover.js +4 -4
- package/lib/components/popover/popover.js.map +1 -1
- package/lib/components/progress-meter/progress-meter.d.ts +0 -8
- package/lib/components/progress-meter/progress-meter.d.ts.map +1 -1
- package/lib/components/progress-meter/progress-meter.js +0 -7
- package/lib/components/progress-meter/progress-meter.js.map +1 -1
- package/lib/components/progress-steps/progress-steps.d.ts +16 -0
- package/lib/components/progress-steps/progress-steps.d.ts.map +1 -1
- package/lib/components/progress-steps/progress-steps.js +25 -0
- package/lib/components/progress-steps/progress-steps.js.map +1 -1
- package/lib/components/progress-steps-item/progress-steps-item.d.ts +1 -3
- package/lib/components/progress-steps-item/progress-steps-item.d.ts.map +1 -1
- package/lib/components/progress-steps-item/progress-steps-item.js +0 -1
- package/lib/components/progress-steps-item/progress-steps-item.js.map +1 -1
- package/lib/components/radio-field/radio-field.d.ts +33 -0
- package/lib/components/radio-field/radio-field.d.ts.map +1 -1
- package/lib/components/radio-field/radio-field.js +62 -0
- package/lib/components/radio-field/radio-field.js.map +1 -1
- package/lib/components/remove-tag/remove-tag.d.ts +1 -1
- package/lib/components/remove-tag/remove-tag.js +3 -3
- package/lib/components/remove-tag/remove-tag.js.map +1 -1
- package/lib/components/split-button/split-button.d.ts +3 -0
- package/lib/components/split-button/split-button.d.ts.map +1 -1
- package/lib/components/split-button/split-button.js +5 -2
- package/lib/components/split-button/split-button.js.map +1 -1
- package/lib/components/tab/tab.d.ts +1 -1
- package/lib/components/tab/tab.js +3 -3
- package/lib/components/tab/tab.js.map +1 -1
- package/lib/components/table/table.d.ts +36 -0
- package/lib/components/table/table.d.ts.map +1 -1
- package/lib/components/table/table.js +55 -0
- package/lib/components/table/table.js.map +1 -1
- package/lib/components/tabs/tabs.d.ts +20 -3
- package/lib/components/tabs/tabs.d.ts.map +1 -1
- package/lib/components/tabs/tabs.js +33 -5
- package/lib/components/tabs/tabs.js.map +1 -1
- package/lib/components/tag-list/tag-list.d.ts +17 -0
- package/lib/components/tag-list/tag-list.d.ts.map +1 -1
- package/lib/components/tag-list/tag-list.js +25 -0
- package/lib/components/tag-list/tag-list.js.map +1 -1
- package/lib/components/tooltip/tooltip.d.ts +2 -2
- package/lib/components/tooltip/tooltip.js +4 -4
- package/lib/components/tooltip/tooltip.js.map +1 -1
- package/lib/components/utils/light-children.d.ts +40 -0
- package/lib/components/utils/light-children.d.ts.map +1 -0
- package/lib/components/utils/light-children.js +100 -0
- package/lib/components/utils/light-children.js.map +1 -0
- package/lib/directives/if-truthy.d.ts +1 -1
- package/lib/light-children-TlEXev5S.js +39 -0
- package/lib/scripts/generate-react-wrappers.d.ts +8 -1
- package/lib/scripts/generate-react-wrappers.d.ts.map +1 -1
- package/lib/scripts/generate-react-wrappers.js +45 -1
- package/lib/scripts/generate-react-wrappers.js.map +1 -1
- package/mcp-manifest.json +162 -52
- package/package.json +11 -4
- package/react-manifest.json +153 -47
- package/dist/assets/if-defined-HKKhGupN.js +0 -1
- package/dist/assets/iframe-CWwoGI65.css +0 -1
- package/dist/assets/state-CfuknrX8.js +0 -1
- package/dist/fonts/PlusJakartaSans-Bold.woff2 +0 -0
- package/dist/fonts/PlusJakartaSans-Medium.woff2 +0 -0
- package/dist/fonts/PlusJakartaSans-Regular.woff2 +0 -0
- package/dist/fonts/PlusJakartaSans-SemiBold.woff2 +0 -0
- package/dist/logo.svg +0 -1
- package/dist/sb-addons/storybook-4/manager-bundle.js +0 -8
- /package/dist/icons/{express-scripts copy.svg → pharmacy copy.svg} +0 -0
- /package/dist/icons/{express-scripts.svg → pharmacy.svg} +0 -0
package/dist/iframe.html
CHANGED
|
@@ -551,28 +551,6 @@
|
|
|
551
551
|
console.warn('unable to connect to top frame for connecting dev tools');
|
|
552
552
|
}
|
|
553
553
|
</script>
|
|
554
|
-
<script>
|
|
555
|
-
/*
|
|
556
|
-
* Minimal `process` shim.
|
|
557
|
-
*
|
|
558
|
-
* `@wc-toolkit/storybook-helpers` imports `path`, which Vite resolves to the
|
|
559
|
-
* userland `path@0.12.7` package present transitively via
|
|
560
|
-
* `@bundled-es-modules/glob` and `@bundled-es-modules/memfs`. That package is
|
|
561
|
-
* a Node polyfill and dereferences `process` at module scope, so pre-bundling
|
|
562
|
-
* it for the browser threw `ReferenceError: process is not defined` before any
|
|
563
|
-
* story could mount — every story sat on the "preparing story" loader.
|
|
564
|
-
*
|
|
565
|
-
* This runs before the preview's module graph, which a Vite `define` cannot do
|
|
566
|
-
* safely here: defining bare `process` would also rewrite the `process.env.*`
|
|
567
|
-
* reads that Storybook and Vite rely on.
|
|
568
|
-
*/
|
|
569
|
-
window.process = window.process || {
|
|
570
|
-
env: {},
|
|
571
|
-
platform: 'browser',
|
|
572
|
-
argv: [],
|
|
573
|
-
cwd: function () { return '/'; },
|
|
574
|
-
};
|
|
575
|
-
</script>
|
|
576
554
|
<style>
|
|
577
555
|
@font-face {
|
|
578
556
|
font-family: 'Aeonik';
|
|
@@ -637,9 +615,8 @@
|
|
|
637
615
|
}
|
|
638
616
|
|
|
639
617
|
</style>
|
|
640
|
-
<script type="module" crossorigin src="./assets/iframe-
|
|
618
|
+
<script type="module" crossorigin src="./assets/iframe-BNJP6ovU.js"></script>
|
|
641
619
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-PPVm8Dsz.js">
|
|
642
|
-
<link rel="stylesheet" crossorigin href="./assets/iframe-CWwoGI65.css">
|
|
643
620
|
</head>
|
|
644
621
|
|
|
645
622
|
<body>
|
package/dist/index.html
CHANGED
|
@@ -53,87 +53,37 @@
|
|
|
53
53
|
<link href="./sb-addons/themes-2/manager-bundle.js" rel="modulepreload" />
|
|
54
54
|
|
|
55
55
|
<link href="./sb-addons/a11y-3/manager-bundle.js" rel="modulepreload" />
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
font-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
font-family: 'Plus Jakarta Sans';
|
|
77
|
-
font-style: normal;
|
|
78
|
-
font-weight: 600;
|
|
79
|
-
src: url('./fonts/PlusJakartaSans-SemiBold.woff2') format('woff2');
|
|
80
|
-
font-display: swap;
|
|
81
|
-
}
|
|
82
|
-
@font-face {
|
|
83
|
-
font-family: 'Plus Jakarta Sans';
|
|
84
|
-
font-style: normal;
|
|
85
|
-
font-weight: 700;
|
|
86
|
-
src: url('./fonts/PlusJakartaSans-Bold.woff2') format('woff2');
|
|
87
|
-
font-display: swap;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/* Cre8-branded sidebar header */
|
|
91
|
-
.cre8-brand {
|
|
92
|
-
display: flex;
|
|
56
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
57
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
58
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@500&display=swap" rel="stylesheet" />
|
|
59
|
+
|
|
60
|
+
<style>
|
|
61
|
+
.header-title {
|
|
62
|
+
align-content: center !important;
|
|
63
|
+
border-radius: 0.1875rem;
|
|
64
|
+
bottom: -5px;
|
|
65
|
+
color: #061376 !important;
|
|
66
|
+
display: flex !important;
|
|
67
|
+
flex-direction: column;
|
|
68
|
+
font-family: 'Open Sans', 'Liberation Mono', Menlo, Courier, monospace;
|
|
69
|
+
font-size: 0.7rem;
|
|
70
|
+
left: 10px;
|
|
71
|
+
letter-spacing: 0px;
|
|
72
|
+
line-height: inherit;
|
|
73
|
+
padding: 3px;
|
|
74
|
+
position: relative !important;
|
|
75
|
+
text-align: center;
|
|
93
76
|
align-items: center;
|
|
94
|
-
gap: 8px;
|
|
95
|
-
font-family: 'Plus Jakarta Sans', sans-serif;
|
|
96
|
-
line-height: 1;
|
|
97
77
|
white-space: nowrap;
|
|
78
|
+
width: fit-content;
|
|
98
79
|
}
|
|
99
|
-
.cre8-brand .cre8-logo {
|
|
100
|
-
width: auto;
|
|
101
|
-
height: 22px;
|
|
102
|
-
display: block;
|
|
103
|
-
}
|
|
104
|
-
.cre8-brand .cre8-name {
|
|
105
|
-
font-size: 1.15rem;
|
|
106
|
-
font-weight: 800;
|
|
107
|
-
letter-spacing: -0.02em;
|
|
108
|
-
color: #0F172A;
|
|
109
|
-
}
|
|
110
|
-
.cre8-brand .cre8-sub {
|
|
111
|
-
font-size: 0.8rem;
|
|
112
|
-
font-weight: 500;
|
|
113
|
-
color: #64748B;
|
|
114
|
-
}
|
|
115
|
-
.cre8-brand .cre8-ver {
|
|
116
|
-
margin-left: 4px;
|
|
117
|
-
padding: 2px 8px;
|
|
118
|
-
font-size: 0.68rem;
|
|
119
|
-
font-weight: 600;
|
|
120
|
-
color: #3B82F6;
|
|
121
|
-
background: rgba(59, 130, 246, 0.1);
|
|
122
|
-
border: 1px solid rgba(59, 130, 246, 0.22);
|
|
123
|
-
border-radius: 999px;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
80
|
.sidebar-header img {
|
|
127
|
-
height:
|
|
128
|
-
max-width:
|
|
81
|
+
height: auto;
|
|
82
|
+
max-width: 175px;
|
|
83
|
+
min-width: 100px;
|
|
129
84
|
width: auto;
|
|
130
85
|
}
|
|
131
|
-
|
|
132
|
-
/* Brand gradient accent under the sidebar header */
|
|
133
|
-
.sidebar-header {
|
|
134
|
-
border-bottom: 2px solid transparent;
|
|
135
|
-
border-image: linear-gradient(90deg, #3B82F6, #EC4899) 1;
|
|
136
|
-
}
|
|
86
|
+
|
|
137
87
|
</style>
|
|
138
88
|
|
|
139
89
|
|
|
@@ -231,8 +181,6 @@
|
|
|
231
181
|
|
|
232
182
|
import './sb-addons/a11y-3/manager-bundle.js';
|
|
233
183
|
|
|
234
|
-
import './sb-addons/storybook-4/manager-bundle.js';
|
|
235
|
-
|
|
236
184
|
|
|
237
185
|
import './sb-manager/runtime.js';
|
|
238
186
|
</script>
|
package/dist/project.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1785074537125,"userSince":1748105051138,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"knownPackages":{"testPackages":{"@testing-library/jest-dom":"6.9.1","@testing-library/user-event":"^14.6.1","jest":"30.3.0"},"stylingPackages":{"postcss":"^8.5.6","sass":"^1.97.2"}},"hasRouterPackage":false,"packageManager":{"type":"pnpm","version":"8.11.0","agent":"pnpm","nodeLinker":""},"typescriptOptions":{"check":false},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/web-components-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/web-components","portableStoriesFileCount":1,"applicationFileCount":7,"storybookVersion":"10.5.4","storybookVersionSpecifier":"^10.0.6","language":"typescript","storybookPackages":{"@storybook/addon-mcp":{},"@storybook/builder-vite":{"version":"10.5.4"},"@storybook/react":{"version":"10.5.4"},"@storybook/react-vite":{"version":"10.5.4"},"@storybook/web-components":{"version":"10.5.4"},"@storybook/web-components-vite":{"version":"10.5.4"},"@wc-toolkit/storybook-helpers":{"version":"10.5.1"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.5.4"},"@storybook/addon-themes":{"version":"10.5.4"},"@storybook/addon-a11y":{"version":"10.5.4"}},"packageJsonType":"module"}
|
package/lib/a2ui/renderer.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ComponentSpec, EmittedEvent, RegisteredCatalog } from './types.js';
|
|
1
|
+
import type { ComponentSpec, EmittedEvent, PropSchema, RegisteredCatalog } from './types.js';
|
|
2
2
|
export interface RenderOptions {
|
|
3
3
|
root?: HTMLElement;
|
|
4
4
|
doc?: Document;
|
|
5
5
|
onEvent?: (evt: EmittedEvent) => void;
|
|
6
6
|
}
|
|
7
7
|
export declare function render(spec: ComponentSpec, catalog: RegisteredCatalog, options?: RenderOptions): HTMLElement;
|
|
8
|
+
export declare function applyProp(el: HTMLElement, key: string, value: unknown, schema: PropSchema | undefined): void;
|
|
8
9
|
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../a2ui/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../a2ui/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEZ,UAAU,EACV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,MAAM,CACpB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAMb;AA8FD,wBAAgB,SAAS,CACvB,EAAE,EAAE,WAAW,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,UAAU,GAAG,SAAS,GAC7B,IAAI,CAyBN"}
|
package/lib/a2ui/renderer.js
CHANGED
|
@@ -76,7 +76,7 @@ function attachEvent(el, component, path, eventName, binding, onEvent) {
|
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
|
-
function applyProp(el, key, value, schema) {
|
|
79
|
+
export function applyProp(el, key, value, schema) {
|
|
80
80
|
if (value === undefined || value === null)
|
|
81
81
|
return;
|
|
82
82
|
if (schema?.['x-kind'] === 'property') {
|
package/lib/a2ui/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../a2ui/renderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../a2ui/renderer.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ComponentSpec,\n EmittedEvent,\n EventBinding,\n PropSchema,\n RegisteredCatalog,\n} from './types.js';\nimport { validateSpec } from './registry.js';\n\nexport interface RenderOptions {\n root?: HTMLElement;\n doc?: Document;\n onEvent?: (evt: EmittedEvent) => void;\n}\n\nexport function render(\n spec: ComponentSpec,\n catalog: RegisteredCatalog,\n options: RenderOptions = {}\n): HTMLElement {\n validateSpec(spec, catalog);\n const doc = options.doc ?? document;\n const el = buildElement(spec, catalog, doc, '$', options.onEvent);\n if (options.root) options.root.replaceChildren(el);\n return el;\n}\n\nfunction buildElement(\n spec: ComponentSpec,\n catalog: RegisteredCatalog,\n doc: Document,\n path: string,\n onEvent?: (evt: EmittedEvent) => void\n): HTMLElement {\n const def = catalog.components.get(spec.component)!;\n const propDefs = def.properties?.props?.properties ?? {};\n const el = doc.createElement(spec.component);\n\n if (spec.props) {\n for (const [key, value] of Object.entries(spec.props)) {\n applyProp(el, key, value, propDefs[key]);\n }\n }\n\n if (spec.events && onEvent) {\n for (const [evtName, binding] of Object.entries(spec.events)) {\n attachEvent(el, spec.component, path, evtName, binding, onEvent);\n }\n }\n\n if (spec.children) {\n spec.children.forEach((child, i) => {\n if (typeof child === 'string') {\n el.appendChild(doc.createTextNode(child));\n return;\n }\n el.appendChild(buildElement(child, catalog, doc, `${path}.children[${i}]`, onEvent));\n });\n }\n\n if (spec.slots) {\n for (const [slotName, children] of Object.entries(spec.slots)) {\n children.forEach((child, i) => {\n if (typeof child === 'string') {\n if (slotName === 'default') {\n el.appendChild(doc.createTextNode(child));\n } else {\n const wrap = doc.createElement('span');\n wrap.setAttribute('slot', slotName);\n wrap.textContent = child;\n el.appendChild(wrap);\n }\n return;\n }\n const childEl = buildElement(\n child,\n catalog,\n doc,\n `${path}.slots.${slotName}[${i}]`,\n onEvent\n );\n if (slotName !== 'default') childEl.setAttribute('slot', slotName);\n el.appendChild(childEl);\n });\n }\n }\n\n return el;\n}\n\nfunction attachEvent(\n el: HTMLElement,\n component: string,\n path: string,\n eventName: string,\n binding: EventBinding,\n onEvent: (evt: EmittedEvent) => void\n): void {\n const handler = typeof binding === 'string' ? binding : binding.handler;\n const stop = typeof binding === 'object' && binding.stopPropagation === true;\n const prevent = typeof binding === 'object' && binding.preventDefault === true;\n\n el.addEventListener(eventName, (nativeEvent) => {\n if (stop) nativeEvent.stopPropagation();\n if (prevent) nativeEvent.preventDefault();\n const detail = 'detail' in nativeEvent\n ? (nativeEvent as CustomEvent).detail\n : undefined;\n onEvent({\n component,\n path,\n event: eventName,\n handler,\n detail,\n nativeEvent,\n });\n });\n}\n\nexport function applyProp(\n el: HTMLElement,\n key: string,\n value: unknown,\n schema: PropSchema | undefined\n): void {\n if (value === undefined || value === null) return;\n\n if (schema?.['x-kind'] === 'property') {\n (el as unknown as Record<string, unknown>)[key] = value;\n return;\n }\n\n if (typeof value === 'boolean') {\n if (value) el.setAttribute(key, '');\n else el.removeAttribute(key);\n return;\n }\n\n if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {\n (el as unknown as Record<string, unknown>)[key] = value;\n return;\n }\n\n if (schema && isComplexSchema(schema)) {\n (el as unknown as Record<string, unknown>)[key] = value;\n return;\n }\n\n el.setAttribute(key, String(value));\n}\n\nfunction isComplexSchema(schema: PropSchema): boolean {\n const t = schema.type;\n if (Array.isArray(t)) return t.some((x) => x === 'object' || x === 'array');\n return t === 'object' || t === 'array';\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn "here is the new tree" into the smallest set of patch ops that gets
|
|
3
|
+
* there.
|
|
4
|
+
*
|
|
5
|
+
* The op vocabulary is the right primitive, and it is the wrong interface for
|
|
6
|
+
* how models actually work: asked to change one label, a model regenerates the
|
|
7
|
+
* whole document. Without a diff, that costs a full remount — every element
|
|
8
|
+
* recreated, focus lost, scroll reset, animations restarted — which is exactly
|
|
9
|
+
* what streaming exists to avoid. With one, an agent gets incremental rendering
|
|
10
|
+
* without ever learning what `appendText` is.
|
|
11
|
+
*
|
|
12
|
+
* Node identity here is positional, matching the rest of the streaming layer.
|
|
13
|
+
* That means the diff is deliberately *not* a minimal edit script: it compares
|
|
14
|
+
* position by position and only appends or removes at the tail. Inserting at the
|
|
15
|
+
* head of a long list therefore rewrites the list rather than shifting it. A
|
|
16
|
+
* keyed diff would do better, but keys would have to come from somewhere, and
|
|
17
|
+
* the whole reason this dialect has no ids is that nothing has to invent them.
|
|
18
|
+
*/
|
|
19
|
+
import type { ComponentSpec } from '../types.js';
|
|
20
|
+
import type { PatchOp } from './types.js';
|
|
21
|
+
/**
|
|
22
|
+
* Ops that turn `prev` into `next`. Returns an empty array when they already
|
|
23
|
+
* match, so an agent can resend an unchanged tree for free.
|
|
24
|
+
*
|
|
25
|
+
* `null` for either side means "no surface root": the result is a single
|
|
26
|
+
* `replace`/`remove` at `$`, which the model handles as a root swap.
|
|
27
|
+
*/
|
|
28
|
+
export declare function diffSpecs(prev: ComponentSpec | null, next: ComponentSpec | null): PatchOp[];
|
|
29
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../a2ui/stream/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,YAAY,CAAC;AA6GzD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,EAAE,CAQ3F"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn "here is the new tree" into the smallest set of patch ops that gets
|
|
3
|
+
* there.
|
|
4
|
+
*
|
|
5
|
+
* The op vocabulary is the right primitive, and it is the wrong interface for
|
|
6
|
+
* how models actually work: asked to change one label, a model regenerates the
|
|
7
|
+
* whole document. Without a diff, that costs a full remount — every element
|
|
8
|
+
* recreated, focus lost, scroll reset, animations restarted — which is exactly
|
|
9
|
+
* what streaming exists to avoid. With one, an agent gets incremental rendering
|
|
10
|
+
* without ever learning what `appendText` is.
|
|
11
|
+
*
|
|
12
|
+
* Node identity here is positional, matching the rest of the streaming layer.
|
|
13
|
+
* That means the diff is deliberately *not* a minimal edit script: it compares
|
|
14
|
+
* position by position and only appends or removes at the tail. Inserting at the
|
|
15
|
+
* head of a long list therefore rewrites the list rather than shifting it. A
|
|
16
|
+
* keyed diff would do better, but keys would have to come from somewhere, and
|
|
17
|
+
* the whole reason this dialect has no ids is that nothing has to invent them.
|
|
18
|
+
*/
|
|
19
|
+
import { childPath } from './pointer.js';
|
|
20
|
+
function isSpec(node) {
|
|
21
|
+
return typeof node === 'object' && node !== null;
|
|
22
|
+
}
|
|
23
|
+
function sameShape(a, b) {
|
|
24
|
+
if (typeof a === 'string' || typeof b === 'string')
|
|
25
|
+
return typeof a === typeof b;
|
|
26
|
+
return isSpec(a) && isSpec(b) && a.component === b.component;
|
|
27
|
+
}
|
|
28
|
+
function equal(a, b) {
|
|
29
|
+
return JSON.stringify(a ?? null) === JSON.stringify(b ?? null);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Props that changed, plus `null` for props that went away — the shape
|
|
33
|
+
* `setProps` already understands.
|
|
34
|
+
*/
|
|
35
|
+
function propDelta(prev = {}, next = {}) {
|
|
36
|
+
const delta = {};
|
|
37
|
+
for (const [key, value] of Object.entries(next)) {
|
|
38
|
+
if (!equal(prev[key], value))
|
|
39
|
+
delta[key] = value;
|
|
40
|
+
}
|
|
41
|
+
for (const key of Object.keys(prev)) {
|
|
42
|
+
if (!(key in next))
|
|
43
|
+
delta[key] = null;
|
|
44
|
+
}
|
|
45
|
+
return Object.keys(delta).length ? delta : null;
|
|
46
|
+
}
|
|
47
|
+
function contentLists(spec) {
|
|
48
|
+
const lists = new Map();
|
|
49
|
+
if (spec.children)
|
|
50
|
+
lists.set(null, spec.children);
|
|
51
|
+
for (const [slot, list] of Object.entries(spec.slots ?? {}))
|
|
52
|
+
lists.set(slot, list);
|
|
53
|
+
return lists;
|
|
54
|
+
}
|
|
55
|
+
function diffList(path, slot, prev, next, ops) {
|
|
56
|
+
const shared = Math.min(prev.length, next.length);
|
|
57
|
+
for (let i = 0; i < shared; i++) {
|
|
58
|
+
const before = prev[i];
|
|
59
|
+
const after = next[i];
|
|
60
|
+
const childAt = childPath(path, slot, i);
|
|
61
|
+
if (typeof after === 'string') {
|
|
62
|
+
// A text child that changed. setText replaces the whole list, so it is
|
|
63
|
+
// only safe when the text is the entire content.
|
|
64
|
+
if (before !== after) {
|
|
65
|
+
if (prev.length === 1 && next.length === 1) {
|
|
66
|
+
ops.push({ op: 'setText', path, slot, text: after });
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
ops.push({ op: 'replace', path: childAt, node: after });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (!sameShape(before, after)) {
|
|
75
|
+
ops.push({ op: 'replace', path: childAt, node: after });
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
diffNode(childAt, before, after, ops);
|
|
79
|
+
}
|
|
80
|
+
// Tail only: positional identity means anything else would renumber the
|
|
81
|
+
// siblings the caller is about to address.
|
|
82
|
+
if (next.length > prev.length) {
|
|
83
|
+
ops.push({ op: 'append', path, slot, nodes: next.slice(prev.length) });
|
|
84
|
+
}
|
|
85
|
+
else if (prev.length > next.length) {
|
|
86
|
+
for (let i = prev.length - 1; i >= next.length; i--) {
|
|
87
|
+
ops.push({ op: 'remove', path: childPath(path, slot, i) });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function diffNode(path, prev, next, ops) {
|
|
92
|
+
const props = propDelta(prev.props, next.props);
|
|
93
|
+
if (props)
|
|
94
|
+
ops.push({ op: 'setProps', path, props });
|
|
95
|
+
if (!equal(prev.events, next.events)) {
|
|
96
|
+
const events = { ...(next.events ?? {}) };
|
|
97
|
+
for (const name of Object.keys(prev.events ?? {})) {
|
|
98
|
+
if (!(name in (next.events ?? {})))
|
|
99
|
+
events[name] = null;
|
|
100
|
+
}
|
|
101
|
+
if (Object.keys(events).length)
|
|
102
|
+
ops.push({ op: 'setEvents', path, events });
|
|
103
|
+
}
|
|
104
|
+
const prevLists = contentLists(prev);
|
|
105
|
+
const nextLists = contentLists(next);
|
|
106
|
+
for (const [slot, nextList] of nextLists) {
|
|
107
|
+
diffList(path, slot, prevLists.get(slot) ?? [], nextList, ops);
|
|
108
|
+
}
|
|
109
|
+
for (const [slot] of prevLists) {
|
|
110
|
+
if (!nextLists.has(slot))
|
|
111
|
+
ops.push({ op: 'clear', path, slot });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Ops that turn `prev` into `next`. Returns an empty array when they already
|
|
116
|
+
* match, so an agent can resend an unchanged tree for free.
|
|
117
|
+
*
|
|
118
|
+
* `null` for either side means "no surface root": the result is a single
|
|
119
|
+
* `replace`/`remove` at `$`, which the model handles as a root swap.
|
|
120
|
+
*/
|
|
121
|
+
export function diffSpecs(prev, next) {
|
|
122
|
+
if (!next)
|
|
123
|
+
return prev ? [{ op: 'remove', path: '$' }] : [];
|
|
124
|
+
if (!prev || prev.component !== next.component) {
|
|
125
|
+
return [{ op: 'replace', path: '$', node: next }];
|
|
126
|
+
}
|
|
127
|
+
const ops = [];
|
|
128
|
+
diffNode('$', prev, next, ops);
|
|
129
|
+
return ops;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../a2ui/stream/diff.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Turn \"here is the new tree\" into the smallest set of patch ops that gets\n * there.\n *\n * The op vocabulary is the right primitive, and it is the wrong interface for\n * how models actually work: asked to change one label, a model regenerates the\n * whole document. Without a diff, that costs a full remount — every element\n * recreated, focus lost, scroll reset, animations restarted — which is exactly\n * what streaming exists to avoid. With one, an agent gets incremental rendering\n * without ever learning what `appendText` is.\n *\n * Node identity here is positional, matching the rest of the streaming layer.\n * That means the diff is deliberately *not* a minimal edit script: it compares\n * position by position and only appends or removes at the tail. Inserting at the\n * head of a long list therefore rewrites the list rather than shifting it. A\n * keyed diff would do better, but keys would have to come from somewhere, and\n * the whole reason this dialect has no ids is that nothing has to invent them.\n */\n\nimport type { ComponentSpec, SpecChild } from '../types.js';\nimport type { ContentTarget, PatchOp } from './types.js';\nimport { childPath } from './pointer.js';\n\nfunction isSpec(node: SpecChild | undefined): node is ComponentSpec {\n return typeof node === 'object' && node !== null;\n}\n\nfunction sameShape(a: SpecChild | undefined, b: SpecChild | undefined): boolean {\n if (typeof a === 'string' || typeof b === 'string') return typeof a === typeof b;\n return isSpec(a) && isSpec(b) && a.component === b.component;\n}\n\nfunction equal(a: unknown, b: unknown): boolean {\n return JSON.stringify(a ?? null) === JSON.stringify(b ?? null);\n}\n\n/**\n * Props that changed, plus `null` for props that went away — the shape\n * `setProps` already understands.\n */\nfunction propDelta(\n prev: Record<string, unknown> = {},\n next: Record<string, unknown> = {}\n): Record<string, unknown> | null {\n const delta: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(next)) {\n if (!equal(prev[key], value)) delta[key] = value;\n }\n for (const key of Object.keys(prev)) {\n if (!(key in next)) delta[key] = null;\n }\n return Object.keys(delta).length ? delta : null;\n}\n\nfunction contentLists(spec: ComponentSpec): Map<ContentTarget, SpecChild[]> {\n const lists = new Map<ContentTarget, SpecChild[]>();\n if (spec.children) lists.set(null, spec.children);\n for (const [slot, list] of Object.entries(spec.slots ?? {})) lists.set(slot, list);\n return lists;\n}\n\nfunction diffList(\n path: string,\n slot: ContentTarget,\n prev: SpecChild[],\n next: SpecChild[],\n ops: PatchOp[]\n): void {\n const shared = Math.min(prev.length, next.length);\n\n for (let i = 0; i < shared; i++) {\n const before = prev[i];\n const after = next[i];\n const childAt = childPath(path, slot, i);\n\n if (typeof after === 'string') {\n // A text child that changed. setText replaces the whole list, so it is\n // only safe when the text is the entire content.\n if (before !== after) {\n if (prev.length === 1 && next.length === 1) {\n ops.push({ op: 'setText', path, slot, text: after });\n } else {\n ops.push({ op: 'replace', path: childAt, node: after });\n }\n }\n continue;\n }\n\n if (!sameShape(before, after)) {\n ops.push({ op: 'replace', path: childAt, node: after });\n continue;\n }\n diffNode(childAt, before as ComponentSpec, after, ops);\n }\n\n // Tail only: positional identity means anything else would renumber the\n // siblings the caller is about to address.\n if (next.length > prev.length) {\n ops.push({ op: 'append', path, slot, nodes: next.slice(prev.length) });\n } else if (prev.length > next.length) {\n for (let i = prev.length - 1; i >= next.length; i--) {\n ops.push({ op: 'remove', path: childPath(path, slot, i) });\n }\n }\n}\n\nfunction diffNode(path: string, prev: ComponentSpec, next: ComponentSpec, ops: PatchOp[]): void {\n const props = propDelta(prev.props, next.props);\n if (props) ops.push({ op: 'setProps', path, props });\n\n if (!equal(prev.events, next.events)) {\n const events: Record<string, unknown> = { ...(next.events ?? {}) };\n for (const name of Object.keys(prev.events ?? {})) {\n if (!(name in (next.events ?? {}))) events[name] = null;\n }\n if (Object.keys(events).length) ops.push({ op: 'setEvents', path, events });\n }\n\n const prevLists = contentLists(prev);\n const nextLists = contentLists(next);\n\n for (const [slot, nextList] of nextLists) {\n diffList(path, slot, prevLists.get(slot) ?? [], nextList, ops);\n }\n for (const [slot] of prevLists) {\n if (!nextLists.has(slot)) ops.push({ op: 'clear', path, slot });\n }\n}\n\n/**\n * Ops that turn `prev` into `next`. Returns an empty array when they already\n * match, so an agent can resend an unchanged tree for free.\n *\n * `null` for either side means \"no surface root\": the result is a single\n * `replace`/`remove` at `$`, which the model handles as a root swap.\n */\nexport function diffSpecs(prev: ComponentSpec | null, next: ComponentSpec | null): PatchOp[] {\n if (!next) return prev ? [{ op: 'remove', path: '$' }] : [];\n if (!prev || prev.component !== next.component) {\n return [{ op: 'replace', path: '$', node: next }];\n }\n const ops: PatchOp[] = [];\n diffNode('$', prev, next, ops);\n return ops;\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI streaming surfaces for cre8.
|
|
3
|
+
*
|
|
4
|
+
* `SurfaceModel` is DOM-free and runs anywhere; `SurfaceRenderer` mirrors it
|
|
5
|
+
* into the browser. See `docs/kb/08-streaming-ui.md`.
|
|
6
|
+
*/
|
|
7
|
+
export { A2UI_STREAM_VERSION, isBindingRef, type BindingRef, type ContentTarget, type DataPatch, type JsonPointer, type PatchOp, type SurfaceChange, type SurfaceEventMessage, type SurfaceMessage, type SurfaceState, } from './types.js';
|
|
8
|
+
export { SurfaceModel, SurfaceSeqGapError, resolveNode, type ApplyResult, type SurfaceModelOptions, } from './model.js';
|
|
9
|
+
export { SurfaceRenderer, findPath, type SurfaceRendererOptions } from './renderer.js';
|
|
10
|
+
export { diffSpecs } from './diff.js';
|
|
11
|
+
export { childPath, formatPath, parsePath, parsePointer, pointerGet, pointerRemove, pointerSet, type PathSegment, } from './pointer.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../a2ui/stream/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI streaming surfaces for cre8.
|
|
3
|
+
*
|
|
4
|
+
* `SurfaceModel` is DOM-free and runs anywhere; `SurfaceRenderer` mirrors it
|
|
5
|
+
* into the browser. See `docs/kb/08-streaming-ui.md`.
|
|
6
|
+
*/
|
|
7
|
+
export { A2UI_STREAM_VERSION, isBindingRef, } from './types.js';
|
|
8
|
+
export { SurfaceModel, SurfaceSeqGapError, resolveNode, } from './model.js';
|
|
9
|
+
export { SurfaceRenderer, findPath } from './renderer.js';
|
|
10
|
+
export { diffSpecs } from './diff.js';
|
|
11
|
+
export { childPath, formatPath, parsePath, parsePointer, pointerGet, pointerRemove, pointerSet, } from './pointer.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../a2ui/stream/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,YAAY,GAUb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,GAGZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAA+B,MAAM,eAAe,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,GAEX,MAAM,cAAc,CAAC","sourcesContent":["/**\n * A2UI streaming surfaces for cre8.\n *\n * `SurfaceModel` is DOM-free and runs anywhere; `SurfaceRenderer` mirrors it\n * into the browser. See `docs/kb/08-streaming-ui.md`.\n */\n\nexport {\n A2UI_STREAM_VERSION,\n isBindingRef,\n type BindingRef,\n type ContentTarget,\n type DataPatch,\n type JsonPointer,\n type PatchOp,\n type SurfaceChange,\n type SurfaceEventMessage,\n type SurfaceMessage,\n type SurfaceState,\n} from './types.js';\n\nexport {\n SurfaceModel,\n SurfaceSeqGapError,\n resolveNode,\n type ApplyResult,\n type SurfaceModelOptions,\n} from './model.js';\n\nexport { SurfaceRenderer, findPath, type SurfaceRendererOptions } from './renderer.js';\n\nexport { diffSpecs } from './diff.js';\n\nexport {\n childPath,\n formatPath,\n parsePath,\n parsePointer,\n pointerGet,\n pointerRemove,\n pointerSet,\n type PathSegment,\n} from './pointer.js';\n"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SurfaceModel — the authoritative, DOM-free state of a streaming surface.
|
|
3
|
+
*
|
|
4
|
+
* The model runs identically in Node and in the browser. That is the point: the
|
|
5
|
+
* MCP server applies a patch to reject it at the tool boundary and to keep a
|
|
6
|
+
* canonical snapshot for late joiners, and the browser applies the same patch to
|
|
7
|
+
* move real DOM. One set of apply-semantics, two hosts.
|
|
8
|
+
*
|
|
9
|
+
* Every message is applied atomically to a draft. If any op fails validation,
|
|
10
|
+
* the draft is discarded and the surface is left exactly as it was — a rejected
|
|
11
|
+
* patch never half-lands.
|
|
12
|
+
*/
|
|
13
|
+
import type { ComponentSpec, RegisteredCatalog, SpecChild } from '../types.js';
|
|
14
|
+
import { childPath } from './pointer.js';
|
|
15
|
+
import { type SurfaceChange, type SurfaceMessage, type SurfaceState } from './types.js';
|
|
16
|
+
export interface SurfaceModelOptions {
|
|
17
|
+
surfaceId?: string;
|
|
18
|
+
title?: string;
|
|
19
|
+
data?: Record<string, unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* Reject a message whose `seq` is not exactly one past the last applied one.
|
|
22
|
+
* On by default — a silent gap is how a streamed UI ends up subtly wrong.
|
|
23
|
+
* Messages with no `seq` are always accepted (local, in-process use).
|
|
24
|
+
*/
|
|
25
|
+
strictSeq?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface ApplyResult {
|
|
28
|
+
changes: SurfaceChange[];
|
|
29
|
+
seq: number;
|
|
30
|
+
}
|
|
31
|
+
export declare class SurfaceSeqGapError extends Error {
|
|
32
|
+
readonly expected: number;
|
|
33
|
+
readonly received: number;
|
|
34
|
+
constructor(expected: number, received: number);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Deep-copy a node with `{ $bind }` prop values replaced by their data-model
|
|
38
|
+
* values. An unresolvable binding with no `default` drops the prop entirely
|
|
39
|
+
* rather than passing `undefined` through — a prop that is absent is a prop the
|
|
40
|
+
* validator and the renderer both handle correctly.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveNode(node: SpecChild, data: Record<string, unknown>): SpecChild;
|
|
43
|
+
export declare class SurfaceModel {
|
|
44
|
+
readonly catalog: RegisteredCatalog;
|
|
45
|
+
surfaceId: string;
|
|
46
|
+
title: string | undefined;
|
|
47
|
+
state: SurfaceState;
|
|
48
|
+
seq: number;
|
|
49
|
+
data: Record<string, unknown>;
|
|
50
|
+
private readonly strictSeq;
|
|
51
|
+
private _root;
|
|
52
|
+
constructor(catalog: RegisteredCatalog, options?: SurfaceModelOptions);
|
|
53
|
+
get root(): ComponentSpec | null;
|
|
54
|
+
/** The tree with every binding resolved — what a renderer or snapshot sees. */
|
|
55
|
+
snapshot(): ComponentSpec | null;
|
|
56
|
+
/** The raw (unresolved) node at `path`. Throws if nothing is there. */
|
|
57
|
+
nodeAt(path: string): SpecChild;
|
|
58
|
+
/** The resolved node at `path` — bindings substituted. */
|
|
59
|
+
resolvedAt(path: string): SpecChild;
|
|
60
|
+
apply(message: SurfaceMessage): ApplyResult;
|
|
61
|
+
private applyCreate;
|
|
62
|
+
private applyData;
|
|
63
|
+
private applyOps;
|
|
64
|
+
private applyOp;
|
|
65
|
+
}
|
|
66
|
+
export { childPath };
|
|
67
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../a2ui/stream/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAoD,MAAM,cAAc,CAAC;AAC3F,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBADhB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CAK5B;AAQD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA4BrF;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAU;IAC7B,GAAG,SAAK;IACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,KAAK,CAA8B;gBAE/B,OAAO,EAAE,iBAAiB,EAAE,OAAO,GAAE,mBAAwB;IAQzE,IAAI,IAAI,IAAI,aAAa,GAAG,IAAI,CAE/B;IAED,+EAA+E;IAC/E,QAAQ,IAAI,aAAa,GAAG,IAAI;IAIhC,uEAAuE;IACvE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI/B,0DAA0D;IAC1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAInC,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,WAAW;IAyC3C,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,QAAQ;IAsChB,OAAO,CAAC,OAAO;CA6HhB;AAgGD,OAAO,EAAE,SAAS,EAAE,CAAC"}
|