@kerfjs/ui 5.0.0-beta.10 → 5.0.0-beta.101
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/README.md +632 -132
- package/ai/application-ui-diagnostic-ids-v1.json +114 -0
- package/ai/application-ui-profile-sync.cjs +548 -0
- package/ai/application-ui-profile.d.mts +1 -0
- package/ai/application-ui-profile.d.ts +106 -0
- package/ai/application-ui-profile.defaults.json +96 -0
- package/ai/application-ui-profile.mjs +653 -0
- package/ai/application-ui-profile.schema.json +140 -0
- package/ai/catalog-authoring.json +34 -0
- package/ai/catalog-authoring.schema.json +105 -0
- package/ai/compile-time-contracts-v1.json +149 -0
- package/ai/compile-time-contracts-v1.schema.json +52 -0
- package/ai/component-catalog-extension.schema.json +104 -0
- package/ai/component-catalog.json +6668 -1002
- package/ai/component-catalog.schema.json +94 -1
- package/ai/component-class-owners.cjs +83 -0
- package/ai/component-composition-extension.d.ts +7 -0
- package/ai/component-composition-extension.schema.json +7 -0
- package/ai/component-composition-rules.json +551 -0
- package/ai/component-composition.d.ts +132 -0
- package/ai/component-composition.json +8937 -0
- package/ai/component-composition.schema.json +412 -0
- package/ai/components/README.md +187 -0
- package/ai/components/anchored-surface.md +99 -0
- package/ai/components/application-tabs.md +65 -0
- package/ai/components/backdrop-image.md +84 -0
- package/ai/components/badge.md +76 -0
- package/ai/components/chip.md +76 -0
- package/ai/components/choice-chips.md +87 -0
- package/ai/components/collapsible-panel.md +103 -0
- package/ai/components/column-track.md +78 -0
- package/ai/components/combobox.md +88 -0
- package/ai/components/composer.md +83 -0
- package/ai/components/content-item.md +98 -0
- package/ai/components/content-swap.md +78 -0
- package/ai/components/corner-status.md +88 -0
- package/ai/components/disclosure-arrow.md +77 -0
- package/ai/components/document-baseline.md +77 -0
- package/ai/components/edge-activity-indicator.md +81 -0
- package/ai/components/empty-state.md +80 -0
- package/ai/components/feedback.md +71 -0
- package/ai/components/file-picker.md +88 -0
- package/ai/components/floating-toolbar.md +82 -0
- package/ai/components/foundation.md +65 -0
- package/ai/components/framed-list.md +80 -0
- package/ai/components/grid.md +101 -0
- package/ai/components/headers.md +63 -0
- package/ai/components/icon-button.md +82 -0
- package/ai/components/icon-toggle-button.md +80 -0
- package/ai/components/layout.md +75 -0
- package/ai/components/list-action-row.md +108 -0
- package/ai/components/list-header.md +91 -0
- package/ai/components/list-inset-control.md +74 -0
- package/ai/components/list-inset-text.md +72 -0
- package/ai/components/list-item.md +108 -0
- package/ai/components/list.md +125 -0
- package/ai/components/loading-spinner.md +73 -0
- package/ai/components/lucide-icon.md +97 -0
- package/ai/components/nav-stack.md +120 -0
- package/ai/components/pane.md +125 -0
- package/ai/components/popup-menu.md +171 -0
- package/ai/components/recipe-app-shell.md +57 -0
- package/ai/components/recipe-collapsible-sidebar.md +57 -0
- package/ai/components/recipe-compact-toolbar.md +57 -0
- package/ai/components/recipe-composer-form.md +57 -0
- package/ai/components/recipe-list-detail-dialog.md +57 -0
- package/ai/components/recipe-list-workspace-states.md +57 -0
- package/ai/components/recipe-loading-inspector.md +57 -0
- package/ai/components/recipe-media-detail.md +57 -0
- package/ai/components/recipe-navigation-sidebar.md +57 -0
- package/ai/components/recipe-navigation-stack.md +57 -0
- package/ai/components/recipe-workspace-header.md +57 -0
- package/ai/components/resize.md +106 -0
- package/ai/components/row.md +96 -0
- package/ai/components/segmented-control.md +82 -0
- package/ai/components/select.md +116 -0
- package/ai/components/skeleton.md +84 -0
- package/ai/components/spacer.md +86 -0
- package/ai/components/split-button.md +80 -0
- package/ai/components/split-view.md +105 -0
- package/ai/components/state-banner.md +96 -0
- package/ai/components/summary-row.md +85 -0
- package/ai/components/sunken-panel.md +79 -0
- package/ai/components/surface-scaffold.md +112 -0
- package/ai/components/tab-bar.md +114 -0
- package/ai/components/tab-navigator.md +105 -0
- package/ai/components/tabs.md +95 -0
- package/ai/components/text.md +90 -0
- package/ai/components/token-search-field.md +107 -0
- package/ai/components/toolbar-control-group.md +126 -0
- package/ai/components/toolbar-text.md +100 -0
- package/ai/components/toolbar.md +103 -0
- package/ai/components/value-table.md +80 -0
- package/ai/components/wa-accordion-item.md +55 -0
- package/ai/components/wa-accordion.md +65 -0
- package/ai/components/wa-animated-image.md +55 -0
- package/ai/components/wa-animation.md +55 -0
- package/ai/components/wa-avatar.md +55 -0
- package/ai/components/wa-badge.md +55 -0
- package/ai/components/wa-breadcrumb-item.md +53 -0
- package/ai/components/wa-breadcrumb.md +55 -0
- package/ai/components/wa-button-group.md +60 -0
- package/ai/components/wa-button.md +59 -0
- package/ai/components/wa-callout.md +58 -0
- package/ai/components/wa-card.md +59 -0
- package/ai/components/wa-carousel-item.md +53 -0
- package/ai/components/wa-carousel.md +55 -0
- package/ai/components/wa-checkbox-group.md +55 -0
- package/ai/components/wa-checkbox.md +55 -0
- package/ai/components/wa-color-picker.md +55 -0
- package/ai/components/wa-comparison.md +55 -0
- package/ai/components/wa-copy-button.md +55 -0
- package/ai/components/wa-details.md +61 -0
- package/ai/components/wa-dialog.md +59 -0
- package/ai/components/wa-divider.md +53 -0
- package/ai/components/wa-drawer.md +55 -0
- package/ai/components/wa-dropdown-item.md +60 -0
- package/ai/components/wa-dropdown.md +60 -0
- package/ai/components/wa-format-bytes.md +53 -0
- package/ai/components/wa-format-date.md +53 -0
- package/ai/components/wa-format-number.md +53 -0
- package/ai/components/wa-icon.md +58 -0
- package/ai/components/wa-include.md +53 -0
- package/ai/components/wa-input.md +59 -0
- package/ai/components/wa-intersection-observer.md +53 -0
- package/ai/components/wa-known-date.md +53 -0
- package/ai/components/wa-markdown.md +53 -0
- package/ai/components/wa-mutation-observer.md +53 -0
- package/ai/components/wa-number-input.md +55 -0
- package/ai/components/wa-option.md +59 -0
- package/ai/components/wa-otp-input.md +53 -0
- package/ai/components/wa-page.md +53 -0
- package/ai/components/wa-pagination.md +55 -0
- package/ai/components/wa-popover.md +55 -0
- package/ai/components/wa-popup.md +53 -0
- package/ai/components/wa-progress-bar.md +53 -0
- package/ai/components/wa-progress-ring.md +53 -0
- package/ai/components/wa-qr-code.md +53 -0
- package/ai/components/wa-radio-group.md +59 -0
- package/ai/components/wa-radio.md +55 -0
- package/ai/components/wa-random-content.md +53 -0
- package/ai/components/wa-rating.md +55 -0
- package/ai/components/wa-relative-time.md +53 -0
- package/ai/components/wa-resize-observer.md +53 -0
- package/ai/components/wa-scroller.md +53 -0
- package/ai/components/wa-select.md +63 -0
- package/ai/components/wa-skeleton.md +53 -0
- package/ai/components/wa-slider.md +55 -0
- package/ai/components/wa-spinner.md +58 -0
- package/ai/components/wa-split-panel.md +58 -0
- package/ai/components/wa-switch.md +53 -0
- package/ai/components/wa-tab-group.md +69 -0
- package/ai/components/wa-tab-panel.md +60 -0
- package/ai/components/wa-tab.md +59 -0
- package/ai/components/wa-tag.md +59 -0
- package/ai/components/wa-textarea.md +53 -0
- package/ai/components/wa-time-input.md +55 -0
- package/ai/components/wa-toast-item.md +60 -0
- package/ai/components/wa-toast.md +60 -0
- package/ai/components/wa-tooltip.md +55 -0
- package/ai/components/wa-tree-item.md +55 -0
- package/ai/components/wa-tree.md +55 -0
- package/ai/components/wa-zoomable-frame.md +55 -0
- package/ai/components/workbench.md +120 -0
- package/ai/public-api-signatures-v1.md +4564 -438
- package/ai/skill.md +490 -64
- package/ai/webawesome-jsx-signatures-v1.md +9 -2
- package/analyzer/cli.mjs +49 -0
- package/analyzer/component-ownership.d.mts +72 -0
- package/analyzer/component-ownership.mjs +429 -0
- package/analyzer/index.d.mts +53 -0
- package/analyzer/index.mjs +2375 -0
- package/analyzer/loud-pairs.d.mts +49 -0
- package/analyzer/loud-pairs.mjs +357 -0
- package/analyzer/report.schema.json +66 -0
- package/analyzer/selectors.d.mts +21 -0
- package/analyzer/selectors.mjs +212 -0
- package/catalog-projection-cli.mjs +96 -0
- package/catalog-projection.d.mts +55 -0
- package/catalog-projection.mjs +62 -0
- package/dist/anchored-surface.d.ts +69 -0
- package/dist/anchored-surface.js +3 -0
- package/dist/anchored-surface.js.map +1 -0
- package/dist/app-tab.d.ts +39 -4
- package/dist/app-tab.js +2 -1
- package/dist/backdrop-image.d.ts +132 -0
- package/dist/backdrop-image.js +5 -0
- package/dist/backdrop-image.js.map +1 -0
- package/dist/badge.d.ts +83 -0
- package/dist/badge.js +4 -0
- package/dist/badge.js.map +1 -0
- package/dist/browser/anchored-surface.js +3 -0
- package/dist/browser/backdrop-image.js +3 -0
- package/dist/browser/badge.js +3 -0
- package/dist/browser/catalog.js +28 -0
- package/dist/browser/chip.js +3 -0
- package/dist/browser/choice-chips.js +3 -0
- package/dist/browser/collapsible-panel.js +9 -0
- package/dist/browser/column-track.js +3 -0
- package/dist/browser/combobox.js +3 -0
- package/dist/browser/composer.js +4 -0
- package/dist/browser/content-item.js +3 -0
- package/dist/browser/content-swap.js +3 -0
- package/dist/browser/corner-status.js +3 -0
- package/dist/browser/edge-activity-indicator.js +3 -0
- package/dist/browser/file-picker.js +3 -0
- package/dist/browser/floating-toolbar.js +3 -0
- package/dist/browser/framed-list.js +3 -0
- package/dist/browser/grid.js +3 -0
- package/dist/browser/icon-button.js +4 -0
- package/dist/browser/icon-toggle-button.js +4 -0
- package/dist/browser/list-action-row.js +2 -0
- package/dist/browser/list-header.js +3 -1
- package/dist/browser/list-inset-control.js +3 -0
- package/dist/browser/list-inset-text.js +3 -0
- package/dist/browser/list-item.js +1 -0
- package/dist/browser/list.js +3 -0
- package/dist/browser/nav-stack.js +11 -0
- package/dist/browser/pane.js +3 -0
- package/dist/browser/popup-menu.js +3 -0
- package/dist/browser/row.js +3 -0
- package/dist/browser/segmented-control.js +0 -1
- package/dist/browser/select.js +2 -1
- package/dist/browser/spacer.js +3 -0
- package/dist/browser/split-button.js +5 -0
- package/dist/browser/split-view.js +13 -0
- package/dist/browser/state-banner.js +1 -0
- package/dist/browser/summary-row.js +3 -0
- package/dist/browser/sunken-panel.js +3 -0
- package/dist/browser/surface-scaffold.js +3 -0
- package/dist/browser/tab-navigator.js +4 -0
- package/dist/browser/text.js +3 -0
- package/dist/browser/toolbar-control-group.js +1 -0
- package/dist/browser/workbench.js +14 -0
- package/dist/catalog-resources.d.ts +50 -0
- package/dist/catalog-resources.js +22 -0
- package/dist/catalog-resources.js.map +1 -0
- package/dist/catalog.d.ts +134 -101
- package/dist/catalog.js +669 -105
- package/dist/catalog.js.map +1 -1
- package/dist/chip.d.ts +69 -0
- package/dist/chip.js +3 -0
- package/dist/chip.js.map +1 -0
- package/dist/choice-chips.d.ts +82 -0
- package/dist/choice-chips.js +3 -0
- package/dist/choice-chips.js.map +1 -0
- package/dist/chunk-2GOCOLQL.js +270 -0
- package/dist/chunk-2GOCOLQL.js.map +1 -0
- package/dist/chunk-2MSPNRWJ.js +82 -0
- package/dist/chunk-2MSPNRWJ.js.map +1 -0
- package/dist/chunk-2PXZBFEC.js +141 -0
- package/dist/chunk-2PXZBFEC.js.map +1 -0
- package/dist/chunk-34U4ANDJ.js +119 -0
- package/dist/chunk-34U4ANDJ.js.map +1 -0
- package/dist/chunk-3SKAEPPZ.js +165 -0
- package/dist/chunk-3SKAEPPZ.js.map +1 -0
- package/dist/{chunk-56RJXPHG.js → chunk-3VXDSIBJ.js} +7 -4
- package/dist/chunk-3VXDSIBJ.js.map +1 -0
- package/dist/chunk-3WYREXW4.js +120 -0
- package/dist/chunk-3WYREXW4.js.map +1 -0
- package/dist/chunk-4UB5Z3ZZ.js +68 -0
- package/dist/chunk-4UB5Z3ZZ.js.map +1 -0
- package/dist/chunk-5NQF35VO.js +67 -0
- package/dist/chunk-5NQF35VO.js.map +1 -0
- package/dist/chunk-6C6DLP3W.js +31 -0
- package/dist/chunk-6C6DLP3W.js.map +1 -0
- package/dist/chunk-6E2H2E5A.js +196 -0
- package/dist/chunk-6E2H2E5A.js.map +1 -0
- package/dist/chunk-7IUEBNCO.js +108 -0
- package/dist/chunk-7IUEBNCO.js.map +1 -0
- package/dist/chunk-AN5IWMTM.js +24 -0
- package/dist/chunk-AN5IWMTM.js.map +1 -0
- package/dist/chunk-AV7CPAPT.js +82 -0
- package/dist/chunk-AV7CPAPT.js.map +1 -0
- package/dist/chunk-B53PS2LE.js +34 -0
- package/dist/chunk-B53PS2LE.js.map +1 -0
- package/dist/chunk-BYFTHA4I.js +153 -0
- package/dist/chunk-BYFTHA4I.js.map +1 -0
- package/dist/chunk-CA7LNX3J.js +44 -0
- package/dist/chunk-CA7LNX3J.js.map +1 -0
- package/dist/chunk-CEJ5FK6G.js +288 -0
- package/dist/chunk-CEJ5FK6G.js.map +1 -0
- package/dist/chunk-CMLPFIC5.js +46 -0
- package/dist/chunk-CMLPFIC5.js.map +1 -0
- package/dist/chunk-CVD5IZGB.js +66 -0
- package/dist/chunk-CVD5IZGB.js.map +1 -0
- package/dist/chunk-D5RGM3XA.js +38 -0
- package/dist/chunk-D5RGM3XA.js.map +1 -0
- package/dist/chunk-DZJ4GBSP.js +59 -0
- package/dist/chunk-DZJ4GBSP.js.map +1 -0
- package/dist/chunk-EIET4QLK.js +51 -0
- package/dist/chunk-EIET4QLK.js.map +1 -0
- package/dist/chunk-EKHDLBRP.js +86 -0
- package/dist/chunk-EKHDLBRP.js.map +1 -0
- package/dist/chunk-ELCMSQNJ.js +49 -0
- package/dist/chunk-ELCMSQNJ.js.map +1 -0
- package/dist/chunk-ETCWQLJV.js +85 -0
- package/dist/chunk-ETCWQLJV.js.map +1 -0
- package/dist/chunk-FDZNYD4C.js +138 -0
- package/dist/chunk-FDZNYD4C.js.map +1 -0
- package/dist/chunk-FNZQOUZ5.js +52 -0
- package/dist/chunk-FNZQOUZ5.js.map +1 -0
- package/dist/chunk-FR76ZJQC.js +90 -0
- package/dist/chunk-FR76ZJQC.js.map +1 -0
- package/dist/chunk-G3J7JDP6.js +29 -0
- package/dist/chunk-G3J7JDP6.js.map +1 -0
- package/dist/chunk-GS2QD3N7.js +14 -0
- package/dist/chunk-GS2QD3N7.js.map +1 -0
- package/dist/chunk-HLDRH23D.js +84 -0
- package/dist/chunk-HLDRH23D.js.map +1 -0
- package/dist/chunk-HQZYKJ56.js +302 -0
- package/dist/chunk-HQZYKJ56.js.map +1 -0
- package/dist/chunk-HZPHCSCS.js +95 -0
- package/dist/chunk-HZPHCSCS.js.map +1 -0
- package/dist/chunk-IKS72C6P.js +53 -0
- package/dist/chunk-IKS72C6P.js.map +1 -0
- package/dist/chunk-IM3GKYOG.js +202 -0
- package/dist/chunk-IM3GKYOG.js.map +1 -0
- package/dist/chunk-IQSRHXZR.js +164 -0
- package/dist/chunk-IQSRHXZR.js.map +1 -0
- package/dist/chunk-IXLUZHGT.js +162 -0
- package/dist/chunk-IXLUZHGT.js.map +1 -0
- package/dist/chunk-JOR5LGYE.js +55 -0
- package/dist/chunk-JOR5LGYE.js.map +1 -0
- package/dist/chunk-K4AT3V3J.js +545 -0
- package/dist/chunk-K4AT3V3J.js.map +1 -0
- package/dist/chunk-KCS6NJ3O.js +82 -0
- package/dist/chunk-KCS6NJ3O.js.map +1 -0
- package/dist/chunk-KH4KEMSP.js +71 -0
- package/dist/chunk-KH4KEMSP.js.map +1 -0
- package/dist/chunk-LL45C7BB.js +122 -0
- package/dist/chunk-LL45C7BB.js.map +1 -0
- package/dist/chunk-LOSRXZAH.js +100 -0
- package/dist/chunk-LOSRXZAH.js.map +1 -0
- package/dist/chunk-LPHU44S3.js +24 -0
- package/dist/chunk-LPHU44S3.js.map +1 -0
- package/dist/chunk-M5KZ26VV.js +148 -0
- package/dist/chunk-M5KZ26VV.js.map +1 -0
- package/dist/chunk-MF6ZUUJZ.js +300 -0
- package/dist/chunk-MF6ZUUJZ.js.map +1 -0
- package/dist/chunk-MHMWQ7RB.js +19 -0
- package/dist/chunk-MHMWQ7RB.js.map +1 -0
- package/dist/chunk-MJ5RU6XT.js +173 -0
- package/dist/chunk-MJ5RU6XT.js.map +1 -0
- package/dist/chunk-MXNIVEVL.js +48 -0
- package/dist/chunk-MXNIVEVL.js.map +1 -0
- package/dist/{chunk-YGN7OMLT.js → chunk-NS2TBYM4.js} +8 -5
- package/dist/chunk-NS2TBYM4.js.map +1 -0
- package/dist/chunk-NS762OVM.js +222 -0
- package/dist/chunk-NS762OVM.js.map +1 -0
- package/dist/chunk-OZ6X76G5.js +547 -0
- package/dist/chunk-OZ6X76G5.js.map +1 -0
- package/dist/chunk-PKL6QJKK.js +835 -0
- package/dist/chunk-PKL6QJKK.js.map +1 -0
- package/dist/chunk-QDSZTQXL.js +28 -0
- package/dist/chunk-QDSZTQXL.js.map +1 -0
- package/dist/chunk-QH5KOFNS.js +39 -0
- package/dist/chunk-QH5KOFNS.js.map +1 -0
- package/dist/chunk-QLA25V2K.js +493 -0
- package/dist/chunk-QLA25V2K.js.map +1 -0
- package/dist/chunk-QTSMHH5J.js +85 -0
- package/dist/chunk-QTSMHH5J.js.map +1 -0
- package/dist/chunk-QYMJHS4K.js +36 -0
- package/dist/chunk-QYMJHS4K.js.map +1 -0
- package/dist/chunk-S2XULQEK.js +52 -0
- package/dist/chunk-S2XULQEK.js.map +1 -0
- package/dist/chunk-S3ECMF23.js +33 -0
- package/dist/chunk-S3ECMF23.js.map +1 -0
- package/dist/chunk-S4Y3YTAI.js +35 -0
- package/dist/chunk-S4Y3YTAI.js.map +1 -0
- package/dist/chunk-S4ZGTDSG.js +18 -0
- package/dist/chunk-S4ZGTDSG.js.map +1 -0
- package/dist/chunk-SCDWURBO.js +136 -0
- package/dist/chunk-SCDWURBO.js.map +1 -0
- package/dist/chunk-SIW64V65.js +176 -0
- package/dist/chunk-SIW64V65.js.map +1 -0
- package/dist/chunk-SQ5DH66U.js +37 -0
- package/dist/chunk-SQ5DH66U.js.map +1 -0
- package/dist/chunk-TDMHA7C3.js +251 -0
- package/dist/chunk-TDMHA7C3.js.map +1 -0
- package/dist/chunk-TGLUDQP2.js +138 -0
- package/dist/chunk-TGLUDQP2.js.map +1 -0
- package/dist/chunk-U6QYTMDB.js +85 -0
- package/dist/chunk-U6QYTMDB.js.map +1 -0
- package/dist/chunk-VFYO3UGZ.js +45 -0
- package/dist/chunk-VFYO3UGZ.js.map +1 -0
- package/dist/chunk-W4IK7AWD.js +73 -0
- package/dist/chunk-W4IK7AWD.js.map +1 -0
- package/dist/chunk-WVS6CUCT.js +48 -0
- package/dist/chunk-WVS6CUCT.js.map +1 -0
- package/dist/chunk-Y6KT7ZTR.js +109 -0
- package/dist/chunk-Y6KT7ZTR.js.map +1 -0
- package/dist/chunk-YBWQR2OK.js +526 -0
- package/dist/chunk-YBWQR2OK.js.map +1 -0
- package/dist/chunk-YMUIQRWK.js +44 -0
- package/dist/chunk-YMUIQRWK.js.map +1 -0
- package/dist/chunk-YQ2AC4E2.js +59 -0
- package/dist/chunk-YQ2AC4E2.js.map +1 -0
- package/dist/chunk-ZKKO4MHC.js +25 -0
- package/dist/chunk-ZKKO4MHC.js.map +1 -0
- package/dist/chunk-ZNROKDSZ.js +54 -0
- package/dist/chunk-ZNROKDSZ.js.map +1 -0
- package/dist/chunk-ZYU5WRC3.js +230 -0
- package/dist/chunk-ZYU5WRC3.js.map +1 -0
- package/dist/collapsible-panel.d.ts +96 -17
- package/dist/collapsible-panel.js +133 -14
- package/dist/collapsible-panel.js.map +1 -1
- package/dist/column-track.d.ts +41 -0
- package/dist/column-track.js +4 -0
- package/dist/column-track.js.map +1 -0
- package/dist/combobox.d.ts +40 -0
- package/dist/combobox.js +3 -0
- package/dist/combobox.js.map +1 -0
- package/dist/composer.d.ts +62 -0
- package/dist/composer.js +5 -0
- package/dist/composer.js.map +1 -0
- package/dist/content-item.d.ts +116 -0
- package/dist/content-item.js +4 -0
- package/dist/content-item.js.map +1 -0
- package/dist/content-swap.d.ts +34 -0
- package/dist/content-swap.js +3 -0
- package/dist/content-swap.js.map +1 -0
- package/dist/corner-status.d.ts +36 -0
- package/dist/corner-status.js +3 -0
- package/dist/corner-status.js.map +1 -0
- package/dist/css-values.d.ts +127 -0
- package/dist/css-values.js +3 -0
- package/dist/css-values.js.map +1 -0
- package/dist/device-class.js +34 -6
- package/dist/device-class.js.map +1 -1
- package/dist/disclosure-arrow.d.ts +6 -1
- package/dist/disclosure-arrow.js +2 -1
- package/dist/edge-activity-indicator.d.ts +28 -0
- package/dist/edge-activity-indicator.js +3 -0
- package/dist/edge-activity-indicator.js.map +1 -0
- package/dist/empty-state.d.ts +5 -2
- package/dist/empty-state.js +2 -1
- package/dist/extension-attributes-mu8MFUl0.d.ts +13 -0
- package/dist/file-picker.d.ts +47 -0
- package/dist/file-picker.js +3 -0
- package/dist/file-picker.js.map +1 -0
- package/dist/flex-alignment-4ms8ZbV8.d.ts +5 -0
- package/dist/floating-toolbar.d.ts +51 -0
- package/dist/floating-toolbar.js +3 -0
- package/dist/floating-toolbar.js.map +1 -0
- package/dist/framed-list.d.ts +47 -0
- package/dist/framed-list.js +4 -0
- package/dist/framed-list.js.map +1 -0
- package/dist/grid.d.ts +58 -0
- package/dist/grid.js +6 -0
- package/dist/grid.js.map +1 -0
- package/dist/help-tags-register.d.ts +13 -0
- package/dist/help-tags-register.js +9 -0
- package/dist/help-tags-register.js.map +1 -0
- package/dist/icon-button.d.ts +46 -0
- package/dist/icon-button.js +6 -0
- package/dist/icon-button.js.map +1 -0
- package/dist/icon-toggle-button.d.ts +42 -0
- package/dist/icon-toggle-button.js +6 -0
- package/dist/icon-toggle-button.js.map +1 -0
- package/dist/index.d.ts +65 -17
- package/dist/index.js +71 -24
- package/dist/list-action-row.d.ts +69 -12
- package/dist/list-action-row.js +5 -1
- package/dist/list-header.d.ts +65 -10
- package/dist/list-header.js +4 -1
- package/dist/list-icon-tile-B8dr97OW.d.ts +18 -0
- package/dist/list-inset-control.d.ts +22 -0
- package/dist/list-inset-control.js +3 -0
- package/dist/list-inset-control.js.map +1 -0
- package/dist/list-inset-text.d.ts +30 -0
- package/dist/list-inset-text.js +4 -0
- package/dist/list-inset-text.js.map +1 -0
- package/dist/list-item.d.ts +49 -5
- package/dist/list-item.js +4 -1
- package/dist/list.d.ts +128 -0
- package/dist/list.js +7 -0
- package/dist/list.js.map +1 -0
- package/dist/loading-spinner.d.ts +12 -2
- package/dist/loading-spinner.js +2 -1
- package/dist/lucide-icon.d.ts +15 -3
- package/dist/lucide-icon.js +2 -1
- package/dist/nav-stack-CU_0dKtI.d.ts +194 -0
- package/dist/nav-stack.d.ts +15 -38
- package/dist/nav-stack.js +14 -1
- package/dist/pane.d.ts +225 -0
- package/dist/pane.js +6 -0
- package/dist/pane.js.map +1 -0
- package/dist/panel-toolbar-vg6Ir5Dy.d.ts +77 -0
- package/dist/popup-menu-register.d.ts +10 -0
- package/dist/popup-menu-register.js +336 -0
- package/dist/popup-menu-register.js.map +1 -0
- package/dist/popup-menu.d.ts +125 -0
- package/dist/popup-menu.js +3 -0
- package/dist/popup-menu.js.map +1 -0
- package/dist/resizable-region.d.ts +32 -3
- package/dist/resizable-region.js +1 -1
- package/dist/row.d.ts +53 -0
- package/dist/row.js +7 -0
- package/dist/row.js.map +1 -0
- package/dist/scroll-clearance-BikHljTc.d.ts +14 -0
- package/dist/segmented-control.d.ts +12 -9
- package/dist/segmented-control.js +1 -2
- package/dist/select-register.js +255 -3
- package/dist/select-register.js.map +1 -1
- package/dist/select.d.ts +103 -8
- package/dist/select.js +4 -1
- package/dist/semantic-content-BbzjvSu9.d.ts +14 -0
- package/dist/semantic-tone-CdW013KF.d.ts +4 -0
- package/dist/sides-BPSWde0A.d.ts +4 -0
- package/dist/skeleton.d.ts +14 -7
- package/dist/skeleton.js +2 -1
- package/dist/spacer.d.ts +18 -0
- package/dist/spacer.js +4 -0
- package/dist/spacer.js.map +1 -0
- package/dist/split-button.d.ts +57 -0
- package/dist/split-button.js +7 -0
- package/dist/split-button.js.map +1 -0
- package/dist/split-view.d.ts +63 -6
- package/dist/split-view.js +150 -10
- package/dist/split-view.js.map +1 -1
- package/dist/state-banner.d.ts +41 -7
- package/dist/state-banner.js +4 -1
- package/dist/styles/anchored-surface.css +41 -0
- package/dist/styles/app-tab.css +232 -0
- package/dist/styles/backdrop-image.css +241 -0
- package/dist/styles/badge.css +145 -0
- package/dist/styles/catalog/components/catalog-example-stack.css +14 -0
- package/dist/styles/catalog/components/catalog-example.css +204 -0
- package/dist/styles/catalog/components/catalog-stage.css +61 -0
- package/dist/styles/catalog/components/catalog.css +26 -0
- package/dist/styles/catalog.css +5 -498
- package/dist/styles/chip.css +208 -0
- package/dist/styles/choice-chips.css +154 -0
- package/dist/styles/collapsible-panel.css +450 -16
- package/dist/styles/column-track.css +57 -0
- package/dist/styles/combobox.css +113 -0
- package/dist/styles/components/actions/floating-toolbar/floating-toolbar.css +119 -0
- package/dist/styles/components/actions/icon-button/icon-button.css +22 -0
- package/dist/styles/components/actions/icon-toggle-button/icon-toggle-button.css +83 -0
- package/dist/styles/components/actions/popup-menu/popup-menu.css +370 -0
- package/dist/styles/components/actions/split-button/split-button.css +95 -0
- package/dist/styles/components/actions/toolbar/toolbar.css +452 -0
- package/dist/styles/components/actions/toolbar-control-group/toolbar-control-group.css +1197 -0
- package/dist/styles/components/actions/toolbar-text/toolbar-text.css +269 -0
- package/dist/styles/components/collections/framed-list/framed-list.css +47 -0
- package/dist/styles/components/collections/list/list.css +250 -0
- package/dist/styles/components/collections/list-action-row/list-action-row.css +466 -0
- package/dist/styles/components/collections/list-header/list-header.css +229 -0
- package/dist/styles/components/collections/list-inset-control/list-inset-control.css +30 -0
- package/dist/styles/components/collections/list-inset-text/list-inset-text.css +29 -0
- package/dist/styles/components/collections/list-item/list-item.css +461 -0
- package/dist/styles/components/collections/summary-row/summary-row.css +161 -0
- package/dist/styles/components/data-display/value-table/value-table.css +183 -0
- package/dist/styles/components/feedback/anchored-surface/anchored-surface.css +41 -0
- package/dist/styles/components/feedback/badge/badge.css +145 -0
- package/dist/styles/components/feedback/chip/chip.css +208 -0
- package/dist/styles/components/feedback/corner-status/corner-status.css +60 -0
- package/dist/styles/components/feedback/edge-activity-indicator/edge-activity-indicator.css +127 -0
- package/dist/styles/components/feedback/empty-state/empty-state.css +47 -0
- package/dist/styles/components/feedback/loading-spinner/loading-spinner.css +25 -0
- package/dist/styles/components/feedback/skeleton/skeleton.css +92 -0
- package/dist/styles/components/feedback/state-banner/state-banner.css +297 -0
- package/dist/styles/components/forms/choice-chips/choice-chips.css +154 -0
- package/dist/styles/components/forms/combobox/combobox.css +113 -0
- package/dist/styles/components/forms/composer/composer.css +100 -0
- package/dist/styles/components/forms/file-picker/file-picker.css +81 -0
- package/dist/styles/components/forms/segmented-control/segmented-control.css +196 -0
- package/dist/styles/components/forms/select/select.css +455 -0
- package/dist/styles/components/forms/token-search-field/token-search-field.css +432 -0
- package/dist/styles/components/layout/collapsible-panel/collapsible-panel.css +580 -0
- package/dist/styles/components/layout/column-track/column-track.css +57 -0
- package/dist/styles/components/layout/content-swap/content-swap.css +154 -0
- package/dist/styles/components/layout/grid/grid.css +88 -0
- package/dist/styles/components/layout/pane/pane.css +502 -0
- package/dist/styles/components/layout/resizable-region/resizable-region.css +545 -0
- package/dist/styles/components/layout/row/row.css +114 -0
- package/dist/styles/components/layout/spacer/spacer.css +11 -0
- package/dist/styles/components/layout/split-view/split-view.css +146 -0
- package/dist/styles/components/layout/workbench/workbench.css +1086 -0
- package/dist/styles/components/media/lucide-icon/lucide-icon.css +15 -0
- package/dist/styles/components/navigation/app-tab/app-tab.css +384 -0
- package/dist/styles/components/navigation/disclosure-arrow/disclosure-arrow.css +23 -0
- package/dist/styles/components/navigation/nav-stack/nav-stack.css +543 -0
- package/dist/styles/components/navigation/tab-bar/tab-bar.css +197 -0
- package/dist/styles/components/navigation/tab-navigator/tab-navigator.css +443 -0
- package/dist/styles/components/surfaces/backdrop-image/backdrop-image.css +241 -0
- package/dist/styles/components/surfaces/content-item/content-item.css +138 -0
- package/dist/styles/components/surfaces/sunken-panel/sunken-panel.css +31 -0
- package/dist/styles/components/surfaces/surface-scaffold/surface-scaffold.css +589 -0
- package/dist/styles/components/typography/text/text.css +220 -0
- package/dist/styles/composer.css +100 -0
- package/dist/styles/content-item.css +138 -0
- package/dist/styles/content-swap.css +154 -0
- package/dist/styles/corner-status.css +60 -0
- package/dist/styles/document.css +98 -0
- package/dist/styles/edge-activity-indicator.css +127 -0
- package/dist/styles/file-picker.css +81 -0
- package/dist/styles/floating-toolbar.css +119 -0
- package/dist/styles/foundation.css +419 -46
- package/dist/styles/framed-list.css +47 -0
- package/dist/styles/grid.css +88 -0
- package/dist/styles/icon-button.css +22 -0
- package/dist/styles/icon-toggle-button.css +83 -0
- package/dist/styles/layout.css +3 -41
- package/dist/styles/list-action-row.css +324 -18
- package/dist/styles/list-header.css +128 -59
- package/dist/styles/list-inset-control.css +30 -0
- package/dist/styles/list-inset-text.css +29 -0
- package/dist/styles/list-item.css +371 -33
- package/dist/styles/list.css +250 -0
- package/dist/styles/loading-spinner.css +4 -0
- package/dist/styles/lucide-icon.css +9 -0
- package/dist/styles/nav-stack.css +479 -47
- package/dist/styles/overlay-sheet.css +211 -0
- package/dist/styles/pane.css +502 -0
- package/dist/styles/popup-menu.css +370 -0
- package/dist/styles/resizable-region.css +438 -4
- package/dist/styles/row.css +114 -0
- package/dist/styles/segmented-control.css +36 -9
- package/dist/styles/select.css +338 -21
- package/dist/styles/skeleton.css +64 -3
- package/dist/styles/spacer.css +11 -0
- package/dist/styles/split-button.css +95 -0
- package/dist/styles/split-view.css +114 -3
- package/dist/styles/state-banner.css +146 -22
- package/dist/styles/styles.css +24 -1
- package/dist/styles/summary-row.css +161 -0
- package/dist/styles/sunken-panel.css +31 -0
- package/dist/styles/surface-scaffold.css +589 -0
- package/dist/styles/tab-bar.css +161 -9
- package/dist/styles/tab-navigator.css +443 -0
- package/dist/styles/text.css +220 -0
- package/dist/styles/token-search-field.css +202 -59
- package/dist/styles/toolbar-control-group.css +1022 -36
- package/dist/styles/toolbar-text.css +236 -7
- package/dist/styles/toolbar.css +402 -11
- package/dist/styles/value-table.css +115 -7
- package/dist/styles/webawesome.css +420 -17
- package/dist/styles/workbench.css +999 -7
- package/dist/summary-row.d.ts +56 -0
- package/dist/summary-row.js +4 -0
- package/dist/summary-row.js.map +1 -0
- package/dist/sunken-panel.d.ts +38 -0
- package/dist/sunken-panel.js +4 -0
- package/dist/sunken-panel.js.map +1 -0
- package/dist/surface-scaffold-register.d.ts +10 -0
- package/dist/surface-scaffold-register.js +254 -0
- package/dist/surface-scaffold-register.js.map +1 -0
- package/dist/surface-scaffold.d.ts +203 -0
- package/dist/surface-scaffold.js +4 -0
- package/dist/surface-scaffold.js.map +1 -0
- package/dist/tab-bar.d.ts +33 -7
- package/dist/tab-bar.js +1 -1
- package/dist/tab-navigator.d.ts +154 -0
- package/dist/tab-navigator.js +131 -0
- package/dist/tab-navigator.js.map +1 -0
- package/dist/text.d.ts +98 -0
- package/dist/text.js +3 -0
- package/dist/text.js.map +1 -0
- package/dist/token-search-field.d.ts +3 -43
- package/dist/token-search-field.js +2 -1
- package/dist/token-search-model-aYR0YAei.d.ts +184 -0
- package/dist/token-search-model.d.ts +3 -0
- package/dist/token-search-model.js +3 -0
- package/dist/token-search-model.js.map +1 -0
- package/dist/toolbar-control-group.d.ts +107 -7
- package/dist/toolbar-control-group.js +3 -1
- package/dist/toolbar-text.d.ts +63 -9
- package/dist/toolbar-text.js +2 -1
- package/dist/toolbar.d.ts +72 -7
- package/dist/toolbar.js +1 -1
- package/dist/types-CVgIwSdq.d.ts +189 -0
- package/dist/value-table.d.ts +30 -4
- package/dist/value-table.js +2 -1
- package/dist/webawesome.d.ts +8 -1
- package/dist/wire-catalog.d.ts +111 -5
- package/dist/wire-catalog.js +302 -14
- package/dist/wire-catalog.js.map +1 -1
- package/dist/wire-comboboxes.d.ts +26 -0
- package/dist/wire-comboboxes.js +3 -0
- package/dist/wire-comboboxes.js.map +1 -0
- package/dist/wire-composers.d.ts +16 -0
- package/dist/wire-composers.js +3 -0
- package/dist/wire-composers.js.map +1 -0
- package/dist/wire-content-items.d.ts +11 -0
- package/dist/wire-content-items.js +139 -0
- package/dist/wire-content-items.js.map +1 -0
- package/dist/wire-corner-status.d.ts +11 -0
- package/dist/wire-corner-status.js +3 -0
- package/dist/wire-corner-status.js.map +1 -0
- package/dist/wire-file-pickers.d.ts +26 -0
- package/dist/wire-file-pickers.js +3 -0
- package/dist/wire-file-pickers.js.map +1 -0
- package/dist/wire-list-focus-scroll.d.ts +16 -0
- package/dist/wire-list-focus-scroll.js +3 -0
- package/dist/wire-list-focus-scroll.js.map +1 -0
- package/dist/wire-list-reorder.d.ts +41 -0
- package/dist/wire-list-reorder.js +3 -0
- package/dist/wire-list-reorder.js.map +1 -0
- package/dist/wire-nav-stack.d.ts +4 -1
- package/dist/wire-nav-stack.js +352 -15
- package/dist/wire-nav-stack.js.map +1 -1
- package/dist/wire-overlay-sheets.d.ts +20 -0
- package/dist/wire-overlay-sheets.js +4 -0
- package/dist/wire-overlay-sheets.js.map +1 -0
- package/dist/wire-resizable-regions.d.ts +2 -1
- package/dist/wire-resizable-regions.js +2 -1
- package/dist/wire-scroll-dividers.d.ts +87 -0
- package/dist/wire-scroll-dividers.js +3 -0
- package/dist/wire-scroll-dividers.js.map +1 -0
- package/dist/wire-sidebar.d.ts +24 -4
- package/dist/wire-sidebar.js +159 -45
- package/dist/wire-sidebar.js.map +1 -1
- package/dist/wire-tab-bars.d.ts +6 -2
- package/dist/wire-tab-bars.js +1 -1
- package/dist/wire-tab-navigator.d.ts +13 -0
- package/dist/wire-tab-navigator.js +153 -0
- package/dist/wire-tab-navigator.js.map +1 -0
- package/dist/wire-token-search-fields.d.ts +28 -10
- package/dist/wire-token-search-fields.js +2 -1
- package/dist/wire-toolbar-visibility.d.ts +13 -0
- package/dist/wire-toolbar-visibility.js +3 -0
- package/dist/wire-toolbar-visibility.js.map +1 -0
- package/dist/wire-workbench.d.ts +116 -0
- package/dist/wire-workbench.js +6 -0
- package/dist/wire-workbench.js.map +1 -0
- package/dist/workbench.d.ts +253 -10
- package/dist/workbench.js +21 -15
- package/dist/workbench.js.map +1 -1
- package/docs/accessibility.md +675 -33
- package/docs/anchored-surface.md +101 -0
- package/docs/app-layouts.md +172 -10
- package/docs/apple-hig.md +2 -0
- package/docs/backdrop-image.md +128 -0
- package/docs/catalog.md +565 -63
- package/docs/collapsible-panel.md +308 -25
- package/docs/component-contract.md +818 -53
- package/docs/component-integration.md +75 -0
- package/docs/component-selection.md +971 -99
- package/docs/composer.md +143 -0
- package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -0
- package/docs/design/templates/choice-chips/color-palette.svg +1 -0
- package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -0
- package/docs/design/templates/choice-chips/compact-icons.svg +1 -0
- package/docs/design/templates/choice-chips/multiple-dark.svg +1 -0
- package/docs/design/templates/choice-chips/multiple.svg +1 -0
- package/docs/design/templates/choice-chips-dark.svg +1 -0
- package/docs/design/templates/choice-chips.svg +1 -0
- package/docs/design/templates/composer/chat-dark.svg +1 -0
- package/docs/design/templates/composer/chat.svg +1 -0
- package/docs/design/templates/composer/prompt-dark.svg +1 -0
- package/docs/design/templates/composer/prompt.svg +1 -0
- package/docs/design/templates/composer-dark.svg +1 -0
- package/docs/design/templates/composer.svg +1 -0
- package/docs/design/templates/empty-state/filtered-dark.svg +1 -0
- package/docs/design/templates/empty-state/filtered.svg +1 -0
- package/docs/design/templates/empty-state/with-action-dark.svg +1 -0
- package/docs/design/templates/empty-state/with-action.svg +1 -0
- package/docs/design/templates/empty-state-dark.svg +1 -0
- package/docs/design/templates/empty-state.svg +1 -0
- package/docs/design/templates/list/compact-dark.svg +1 -0
- package/docs/design/templates/list/compact.svg +1 -0
- package/docs/design/templates/list/stack-dark.svg +1 -0
- package/docs/design/templates/list/stack.svg +1 -0
- package/docs/design/templates/list-action-row/default-dark.svg +1 -0
- package/docs/design/templates/list-action-row/default.svg +1 -0
- package/docs/design/templates/list-action-row/icon-tile-dark.svg +1 -0
- package/docs/design/templates/list-action-row/icon-tile.svg +1 -0
- package/docs/design/templates/list-action-row/selected-dark.svg +1 -0
- package/docs/design/templates/list-action-row/selected.svg +1 -0
- package/docs/design/templates/list-action-row/trailing-menu-dark.svg +1 -0
- package/docs/design/templates/list-action-row/trailing-menu.svg +1 -0
- package/docs/design/templates/list-action-row-dark.svg +1 -0
- package/docs/design/templates/list-action-row.svg +1 -0
- package/docs/design/templates/list-dark.svg +1 -0
- package/docs/design/templates/list-header/action-dark.svg +1 -0
- package/docs/design/templates/list-header/action.svg +1 -0
- package/docs/design/templates/list-header/count-dark.svg +1 -0
- package/docs/design/templates/list-header/count.svg +1 -0
- package/docs/design/templates/list-header/inline-action-dark.svg +1 -0
- package/docs/design/templates/list-header/inline-action.svg +1 -0
- package/docs/design/templates/list-header/size-l-dark.svg +1 -0
- package/docs/design/templates/list-header/size-l.svg +1 -0
- package/docs/design/templates/list-header/size-m-dark.svg +1 -0
- package/docs/design/templates/list-header/size-m.svg +1 -0
- package/docs/design/templates/list-header/size-xl-dark.svg +1 -0
- package/docs/design/templates/list-header/size-xl.svg +1 -0
- package/docs/design/templates/list-header/size-xs-dark.svg +1 -0
- package/docs/design/templates/list-header/size-xs.svg +1 -0
- package/docs/design/templates/list-header/toggle-collapsed-dark.svg +1 -0
- package/docs/design/templates/list-header/toggle-collapsed.svg +1 -0
- package/docs/design/templates/list-header/toggle-expanded-dark.svg +1 -0
- package/docs/design/templates/list-header/toggle-expanded.svg +1 -0
- package/docs/design/templates/list-header-dark.svg +1 -0
- package/docs/design/templates/list-header.svg +1 -0
- package/docs/design/templates/list-item/default-dark.svg +1 -0
- package/docs/design/templates/list-item/default.svg +1 -0
- package/docs/design/templates/list-item/icon-tile-dark.svg +1 -0
- package/docs/design/templates/list-item/icon-tile.svg +1 -0
- package/docs/design/templates/list-item/multiline-dark.svg +1 -0
- package/docs/design/templates/list-item/multiline.svg +1 -0
- package/docs/design/templates/list-item/selected-dark.svg +1 -0
- package/docs/design/templates/list-item/selected.svg +1 -0
- package/docs/design/templates/list-item/trailing-dark.svg +1 -0
- package/docs/design/templates/list-item/trailing.svg +1 -0
- package/docs/design/templates/list-item-dark.svg +1 -0
- package/docs/design/templates/list-item.svg +1 -0
- package/docs/design/templates/list.svg +1 -0
- package/docs/design/templates/segmented-control/equal-dark.svg +1 -0
- package/docs/design/templates/segmented-control/equal.svg +1 -0
- package/docs/design/templates/segmented-control/pill-small-dark.svg +1 -0
- package/docs/design/templates/segmented-control/pill-small.svg +1 -0
- package/docs/design/templates/segmented-control-dark.svg +1 -0
- package/docs/design/templates/segmented-control.svg +1 -0
- package/docs/design/templates/skeleton/avatar-dark.svg +1 -0
- package/docs/design/templates/skeleton/avatar.svg +1 -0
- package/docs/design/templates/skeleton/block-dark.svg +1 -0
- package/docs/design/templates/skeleton/block.svg +1 -0
- package/docs/design/templates/skeleton/lines-dark.svg +1 -0
- package/docs/design/templates/skeleton/lines.svg +1 -0
- package/docs/design/templates/skeleton-dark.svg +1 -0
- package/docs/design/templates/skeleton.svg +1 -0
- package/docs/design/templates/state-banner/danger-dark.svg +1 -0
- package/docs/design/templates/state-banner/danger.svg +1 -0
- package/docs/design/templates/state-banner/info-badge-dark.svg +1 -0
- package/docs/design/templates/state-banner/info-badge.svg +1 -0
- package/docs/design/templates/state-banner/info-dark.svg +1 -0
- package/docs/design/templates/state-banner/info.svg +1 -0
- package/docs/design/templates/state-banner/strip-dark.svg +1 -0
- package/docs/design/templates/state-banner/strip.svg +1 -0
- package/docs/design/templates/state-banner/success-dark.svg +1 -0
- package/docs/design/templates/state-banner/success.svg +1 -0
- package/docs/design/templates/state-banner/warning-dark.svg +1 -0
- package/docs/design/templates/state-banner/warning.svg +1 -0
- package/docs/design/templates/state-banner-dark.svg +1 -0
- package/docs/design/templates/state-banner.svg +1 -0
- package/docs/design/templates/tab-bar/workspace-tabs-dark.svg +1 -0
- package/docs/design/templates/tab-bar/workspace-tabs.svg +1 -0
- package/docs/design/templates/tab-bar-dark.svg +1 -0
- package/docs/design/templates/tab-bar.svg +1 -0
- package/docs/design/templates/token-search-field/empty-dark.svg +1 -0
- package/docs/design/templates/token-search-field/empty.svg +1 -0
- package/docs/design/templates/token-search-field/tokens-dark.svg +1 -0
- package/docs/design/templates/token-search-field/tokens.svg +1 -0
- package/docs/design/templates/token-search-field-dark.svg +1 -0
- package/docs/design/templates/token-search-field.svg +1 -0
- package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -0
- package/docs/design/templates/toolbar/title-and-actions.svg +1 -0
- package/docs/design/templates/toolbar/width-visibility-320-dark.svg +1 -0
- package/docs/design/templates/toolbar/width-visibility-320.svg +1 -0
- package/docs/design/templates/toolbar/width-visibility-600-dark.svg +1 -0
- package/docs/design/templates/toolbar/width-visibility-600.svg +1 -0
- package/docs/design/templates/toolbar-control-group/borderless-single-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/borderless-single.svg +1 -1
- package/docs/design/templates/toolbar-control-group/glass-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/glass.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-buttons-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/icon-buttons.svg +1 -1
- package/docs/design/templates/toolbar-control-group/icon-tile-brand-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-brand.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-danger-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-danger.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-neutral-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-neutral.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-success-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-success.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-warning-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-tile-warning.svg +1 -0
- package/docs/design/templates/toolbar-control-group/push-buttons-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/push-buttons.svg +1 -1
- package/docs/design/templates/toolbar-control-group/with-text-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/with-text.svg +1 -1
- package/docs/design/templates/toolbar-control-group-dark.svg +1 -11
- package/docs/design/templates/toolbar-control-group.svg +1 -11
- package/docs/design/templates/toolbar-dark.svg +1 -0
- package/docs/design/templates/toolbar-text/dark-tone-dark.svg +1 -0
- package/docs/design/templates/toolbar-text/dark-tone.svg +1 -0
- package/docs/design/templates/toolbar-text/default-dark.svg +1 -0
- package/docs/design/templates/toolbar-text/default.svg +1 -0
- package/docs/design/templates/toolbar-text/large-dark.svg +1 -0
- package/docs/design/templates/toolbar-text/large.svg +1 -0
- package/docs/design/templates/toolbar-text/small-dark.svg +1 -0
- package/docs/design/templates/toolbar-text/small.svg +1 -0
- package/docs/design/templates/toolbar-text-dark.svg +1 -0
- package/docs/design/templates/toolbar-text.svg +1 -0
- package/docs/design/templates/toolbar.svg +1 -0
- package/docs/design/templates/value-table/details-dark.svg +1 -0
- package/docs/design/templates/value-table/details.svg +1 -0
- package/docs/design/templates/value-table-dark.svg +1 -0
- package/docs/design/templates/value-table.svg +1 -0
- package/docs/design/templates.md +83 -18
- package/docs/design-philosophy.md +65 -20
- package/docs/device-class.md +10 -9
- package/docs/document-baseline.md +93 -0
- package/docs/examples/application-ui-profile.json +60 -0
- package/docs/examples/command-palette-adapter.tsx +69 -17
- package/docs/examples/component-catalog-extension.json +52 -0
- package/docs/examples/component-composition-extension.json +80 -0
- package/docs/layout.md +926 -53
- package/docs/manual-test-plan.md +29 -0
- package/docs/nav-stack.md +323 -14
- package/docs/recipes.md +153 -73
- package/docs/split-view.md +96 -7
- package/docs/sunken-panel.md +106 -0
- package/docs/surface-scaffold.md +416 -0
- package/docs/tab-navigator.md +291 -0
- package/docs/type-contracts.md +137 -0
- package/docs/ui-analyzer.md +406 -0
- package/docs/ui-doctor.md +281 -0
- package/docs/ui-evaluator.md +139 -0
- package/docs/ux-demo.md +58 -17
- package/docs/webawesome-theme.md +215 -16
- package/docs/workbench.md +627 -12
- package/docs/writing.md +152 -0
- package/doctor/cli.mjs +120 -0
- package/doctor/component-style-checks.mjs +457 -0
- package/doctor/config.schema.json +94 -0
- package/doctor/copy-capitalization-checks.mjs +591 -0
- package/doctor/eslint-diagnostics.d.mts +24 -0
- package/doctor/eslint-diagnostics.mjs +24 -0
- package/doctor/index.d.mts +122 -0
- package/doctor/index.mjs +1424 -0
- package/doctor/report.schema.json +118 -0
- package/evaluator/cli.mjs +89 -0
- package/evaluator/index.d.mts +90 -0
- package/evaluator/index.mjs +1203 -0
- package/evaluator/report.schema.json +152 -0
- package/llms.txt +808 -50
- package/package.json +357 -27
- package/scripts/component-catalog-extension-validation.mjs +28 -0
- package/traversal-exclusions.mjs +86 -0
- package/ux-demo/recipes/app-shell.tsx +204 -16
- package/ux-demo/recipes/collapsible-sidebar.tsx +206 -45
- package/ux-demo/recipes/compact-toolbar.tsx +135 -14
- package/ux-demo/recipes/composer-form.tsx +133 -21
- package/ux-demo/recipes/list-detail-dialog.tsx +255 -14
- package/ux-demo/recipes/list-workspace-states.tsx +183 -11
- package/ux-demo/recipes/loaders.ts +11 -3
- package/ux-demo/recipes/loading-inspector.tsx +162 -39
- package/ux-demo/recipes/media-detail.tsx +272 -0
- package/ux-demo/recipes/mount-recipe.ts +26 -10
- package/ux-demo/recipes/navigation-sidebar.tsx +137 -11
- package/ux-demo/recipes/navigation-stack.tsx +79 -24
- package/ux-demo/recipes/types.ts +17 -2
- package/ux-demo/recipes/workspace-header.tsx +86 -5
- package/vite-ux-review.d.mts +83 -0
- package/vite-ux-review.mjs +120 -0
- package/dist/browser/panel-header.js +0 -7
- package/dist/chunk-2Z5TWHKQ.js +0 -34
- package/dist/chunk-2Z5TWHKQ.js.map +0 -1
- package/dist/chunk-37T3VNIZ.js +0 -19
- package/dist/chunk-37T3VNIZ.js.map +0 -1
- package/dist/chunk-55DATV3A.js +0 -10
- package/dist/chunk-55DATV3A.js.map +0 -1
- package/dist/chunk-56RJXPHG.js.map +0 -1
- package/dist/chunk-7BR3DO2A.js +0 -31
- package/dist/chunk-7BR3DO2A.js.map +0 -1
- package/dist/chunk-7JB7VPRI.js +0 -34
- package/dist/chunk-7JB7VPRI.js.map +0 -1
- package/dist/chunk-7LDCTU7D.js +0 -134
- package/dist/chunk-7LDCTU7D.js.map +0 -1
- package/dist/chunk-AQNKJRFH.js +0 -79
- package/dist/chunk-AQNKJRFH.js.map +0 -1
- package/dist/chunk-AVZHJN6C.js +0 -14
- package/dist/chunk-AVZHJN6C.js.map +0 -1
- package/dist/chunk-B24C4A6T.js +0 -22
- package/dist/chunk-B24C4A6T.js.map +0 -1
- package/dist/chunk-BLK3UEEI.js +0 -23
- package/dist/chunk-BLK3UEEI.js.map +0 -1
- package/dist/chunk-CVZYNJJ5.js +0 -265
- package/dist/chunk-CVZYNJJ5.js.map +0 -1
- package/dist/chunk-DAFFDO33.js +0 -14
- package/dist/chunk-DAFFDO33.js.map +0 -1
- package/dist/chunk-I7INRJO4.js +0 -17
- package/dist/chunk-I7INRJO4.js.map +0 -1
- package/dist/chunk-L4OKFDJY.js +0 -24
- package/dist/chunk-L4OKFDJY.js.map +0 -1
- package/dist/chunk-LC3YSAZC.js +0 -39
- package/dist/chunk-LC3YSAZC.js.map +0 -1
- package/dist/chunk-M5JRI6MN.js +0 -27
- package/dist/chunk-M5JRI6MN.js.map +0 -1
- package/dist/chunk-MFKMHK5W.js +0 -10
- package/dist/chunk-MFKMHK5W.js.map +0 -1
- package/dist/chunk-RUNWEPR4.js +0 -10
- package/dist/chunk-RUNWEPR4.js.map +0 -1
- package/dist/chunk-W2FK7ZNY.js +0 -26
- package/dist/chunk-W2FK7ZNY.js.map +0 -1
- package/dist/chunk-W5EQ3HYQ.js +0 -42
- package/dist/chunk-W5EQ3HYQ.js.map +0 -1
- package/dist/chunk-WVPYVDXY.js +0 -15
- package/dist/chunk-WVPYVDXY.js.map +0 -1
- package/dist/chunk-XXMOARTH.js +0 -229
- package/dist/chunk-XXMOARTH.js.map +0 -1
- package/dist/chunk-Y5MRDTLC.js +0 -20
- package/dist/chunk-Y5MRDTLC.js.map +0 -1
- package/dist/chunk-YGN7OMLT.js.map +0 -1
- package/dist/panel-header.d.ts +0 -36
- package/dist/panel-header.js +0 -7
- package/dist/panel-header.js.map +0 -1
- package/dist/styles/panel-header.css +0 -64
- package/dist/styles/tab-scaffold.css +0 -84
- package/dist/tab-scaffold.d.ts +0 -30
- package/dist/tab-scaffold.js +0 -16
- package/dist/tab-scaffold.js.map +0 -1
- package/dist/wire-tab-scaffold.d.ts +0 -11
- package/dist/wire-tab-scaffold.js +0 -16
- package/dist/wire-tab-scaffold.js.map +0 -1
- package/docs/design/templates/panel-header/icon-actions-dark.svg +0 -1
- package/docs/design/templates/panel-header/icon-actions.svg +0 -1
- package/docs/design/templates/panel-header/icon-summary-actions-dark.svg +0 -1
- package/docs/design/templates/panel-header/icon-summary-actions.svg +0 -1
- package/docs/design/templates/panel-header/no-icon-dark.svg +0 -1
- package/docs/design/templates/panel-header/no-icon.svg +0 -1
- package/docs/design/templates/panel-header/page-heading-dark.svg +0 -1
- package/docs/design/templates/panel-header/page-heading.svg +0 -1
- package/docs/design/templates/panel-header/title-only-dark.svg +0 -1
- package/docs/design/templates/panel-header/title-only.svg +0 -1
- package/docs/design/templates/panel-header-dark.svg +0 -13
- package/docs/design/templates/panel-header.svg +0 -13
- package/docs/tab-scaffold.md +0 -41
- package/ux-demo/recipes/recipes.css +0 -448
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { SafeHtml, Signal } from 'kerfjs';
|
|
2
|
+
import { K as KerfUiContent } from './semantic-content-BbzjvSu9.js';
|
|
3
|
+
|
|
4
|
+
interface TokenSearchToken {
|
|
5
|
+
value: string;
|
|
6
|
+
label: string;
|
|
7
|
+
offset?: number;
|
|
8
|
+
accessibleLabel?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Domain `data-*` metadata for a trailing action button. The component owns
|
|
12
|
+
* `data-action` (pass `action`) and its state attributes.
|
|
13
|
+
*/
|
|
14
|
+
type TokenSearchTrailingActionAttributes = Readonly<Record<`data-${string}`, string | undefined> & {
|
|
15
|
+
'data-action'?: never;
|
|
16
|
+
'data-component'?: never;
|
|
17
|
+
'data-key'?: never;
|
|
18
|
+
}>;
|
|
19
|
+
interface TokenSearchTrailingActionBase {
|
|
20
|
+
/** Decorative glyph, such as a `LucideIcon`. */
|
|
21
|
+
icon: SafeHtml;
|
|
22
|
+
/** Accessible name and tooltip, in title style ("Search Help"). */
|
|
23
|
+
label: string;
|
|
24
|
+
/** Delegated `data-action` value. */
|
|
25
|
+
action: string;
|
|
26
|
+
id?: string;
|
|
27
|
+
/** `aria-controls`: the id of the surface this button opens or toggles. */
|
|
28
|
+
controls?: string;
|
|
29
|
+
/** `aria-haspopup` for a button that opens a dialog, menu, or listbox. */
|
|
30
|
+
haspopup?: 'dialog' | 'menu' | 'listbox' | 'true';
|
|
31
|
+
/** Domain `data-*` metadata for the app's delegated handler. */
|
|
32
|
+
attributes?: TokenSearchTrailingActionAttributes;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A compact icon button in the field's trailing slot, sized and styled like
|
|
36
|
+
* the clear button. Pass `expanded` for a disclosure (a help surface it opens)
|
|
37
|
+
* or `pressed` for a toggle; the button shows the state with its hover fill.
|
|
38
|
+
*/
|
|
39
|
+
type TokenSearchTrailingAction = TokenSearchTrailingActionBase & ({
|
|
40
|
+
expanded?: boolean;
|
|
41
|
+
pressed?: never;
|
|
42
|
+
} | {
|
|
43
|
+
expanded?: never;
|
|
44
|
+
pressed?: boolean;
|
|
45
|
+
});
|
|
46
|
+
type TokenSearchEditorAttributes = Readonly<Record<`data-${string}`, string | undefined> & {
|
|
47
|
+
'data-component'?: never;
|
|
48
|
+
'data-key'?: never;
|
|
49
|
+
'data-morph-skip'?: never;
|
|
50
|
+
'data-token-search-editor'?: never;
|
|
51
|
+
'data-token-count'?: never;
|
|
52
|
+
'data-placeholder'?: never;
|
|
53
|
+
}>;
|
|
54
|
+
interface TokenSearchFieldBaseProps {
|
|
55
|
+
id: string;
|
|
56
|
+
label: string;
|
|
57
|
+
query?: string;
|
|
58
|
+
tokens?: readonly TokenSearchToken[];
|
|
59
|
+
/** Opt-in grammar, suggestion, and evaluation state. Overrides `query` and `tokens`. */
|
|
60
|
+
model?: TokenSearchModel;
|
|
61
|
+
/**
|
|
62
|
+
* Editor identity for a programmatic text replacement. The editor's text is
|
|
63
|
+
* DOM-owned between token changes, so a new `query` with the same tokens
|
|
64
|
+
* does not re-render it (that would reset the caret on every keystroke).
|
|
65
|
+
* Change `revision` when the app replaces the text itself — reseeding a
|
|
66
|
+
* persistent dialog's field on reopen, applying a saved search — and the
|
|
67
|
+
* editor is rebuilt from `query` and `tokens`.
|
|
68
|
+
*/
|
|
69
|
+
revision?: string | number;
|
|
70
|
+
placeholder?: string;
|
|
71
|
+
tokenPlaceholder?: string;
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
autofocus?: boolean;
|
|
74
|
+
/** Let an expanded collapsible field consume the available inline width. */
|
|
75
|
+
fill?: boolean;
|
|
76
|
+
leading?: KerfUiContent;
|
|
77
|
+
editAction?: string;
|
|
78
|
+
removeAction?: string;
|
|
79
|
+
clearAction?: string;
|
|
80
|
+
clearLabel?: string;
|
|
81
|
+
/** Icon for the clear button. Default: the Lucide `x` glyph token chips also use. */
|
|
82
|
+
clearIcon?: SafeHtml;
|
|
83
|
+
className?: string;
|
|
84
|
+
editorAttributes?: TokenSearchEditorAttributes;
|
|
85
|
+
/** Native named-slot assignment when composed inside a web component. */
|
|
86
|
+
slot?: string;
|
|
87
|
+
}
|
|
88
|
+
type TokenSearchTrailingProps = {
|
|
89
|
+
trailing?: KerfUiContent;
|
|
90
|
+
trailingAction?: never;
|
|
91
|
+
} | {
|
|
92
|
+
trailing?: never;
|
|
93
|
+
trailingAction: TokenSearchTrailingAction;
|
|
94
|
+
};
|
|
95
|
+
type TokenSearchPresentationProps = {
|
|
96
|
+
/** Standalone field chrome or the inset visual layer of a configured toolbar group. */
|
|
97
|
+
presentation?: 'standalone' | 'toolbar-group';
|
|
98
|
+
hint?: never;
|
|
99
|
+
required?: never;
|
|
100
|
+
} | {
|
|
101
|
+
/** Visible form label and optional hint around the full-width standalone control. */
|
|
102
|
+
presentation: 'form-field';
|
|
103
|
+
hint?: string;
|
|
104
|
+
/** Marks the editor required; the app validates its value. */
|
|
105
|
+
required?: boolean;
|
|
106
|
+
};
|
|
107
|
+
type TokenSearchCollapsibleProps = {
|
|
108
|
+
/** Allow an empty field to render as one iconic action. */
|
|
109
|
+
collapsible: true;
|
|
110
|
+
/** Keep an empty collapsible field open while the application owns focus. */
|
|
111
|
+
expanded?: boolean;
|
|
112
|
+
expandAction?: string;
|
|
113
|
+
expandLabel?: string;
|
|
114
|
+
} | {
|
|
115
|
+
collapsible?: false;
|
|
116
|
+
expanded?: never;
|
|
117
|
+
expandAction?: never;
|
|
118
|
+
expandLabel?: never;
|
|
119
|
+
};
|
|
120
|
+
type TokenSearchFieldProps = TokenSearchFieldBaseProps & TokenSearchCollapsibleProps & TokenSearchTrailingProps & TokenSearchPresentationProps;
|
|
121
|
+
interface TokenSearchFieldValue {
|
|
122
|
+
query: string;
|
|
123
|
+
tokens: TokenSearchToken[];
|
|
124
|
+
}
|
|
125
|
+
declare function TokenSearchField({ id, label, query, tokens, model, revision, placeholder, tokenPlaceholder, disabled, autofocus, fill, collapsible, expanded, expandAction, expandLabel, leading, trailing, trailingAction, presentation, hint, required, editAction, removeAction, clearAction, clearLabel, clearIcon, className, editorAttributes, slot, }: TokenSearchFieldProps): SafeHtml;
|
|
126
|
+
/** Read editable text and ordered token offsets from a rendered TokenSearchField editor. */
|
|
127
|
+
declare function readTokenSearchField(editor: HTMLElement, knownTokens?: readonly TokenSearchToken[]): TokenSearchFieldValue;
|
|
128
|
+
/** Focus an editor and place its caret at a text offset, skipping atomic token chips. */
|
|
129
|
+
declare function placeTokenSearchCaret(editor: HTMLElement, offset?: number): void;
|
|
130
|
+
|
|
131
|
+
interface TokenSearchRule {
|
|
132
|
+
/** The word before `:` (for example `tag` or `status`). */
|
|
133
|
+
name: string;
|
|
134
|
+
/** Return a canonical value, or undefined to leave invalid input as text. */
|
|
135
|
+
parse?: (input: string) => string | undefined;
|
|
136
|
+
/** Label for a committed chip. Defaults to `name:input`. */
|
|
137
|
+
label?: (value: string, input: string) => string;
|
|
138
|
+
/** Suggestions for the unfinished value after `name:`, with current committed tokens. */
|
|
139
|
+
suggest?: (input: string, state: TokenSearchState) => readonly (string | {
|
|
140
|
+
value: string;
|
|
141
|
+
label: string;
|
|
142
|
+
})[];
|
|
143
|
+
}
|
|
144
|
+
interface TokenSearchResolvedToken extends TokenSearchToken {
|
|
145
|
+
kind: string;
|
|
146
|
+
parsedValue: string;
|
|
147
|
+
}
|
|
148
|
+
interface TokenSearchState {
|
|
149
|
+
query: string;
|
|
150
|
+
tokens: TokenSearchResolvedToken[];
|
|
151
|
+
}
|
|
152
|
+
interface TokenSearchSuggestion {
|
|
153
|
+
value: string;
|
|
154
|
+
label: string;
|
|
155
|
+
}
|
|
156
|
+
interface TokenSearchModel<Result = unknown> {
|
|
157
|
+
state: Signal<TokenSearchState>;
|
|
158
|
+
/** Changes when a model action must replace DOM-owned editor text. */
|
|
159
|
+
editorRevision: Signal<number>;
|
|
160
|
+
suggestions: Signal<readonly TokenSearchSuggestion[]>;
|
|
161
|
+
result: Signal<Result | undefined>;
|
|
162
|
+
edit(value: TokenSearchFieldValue, commit?: boolean): void;
|
|
163
|
+
/** Replace app-owned search state and rebuild the DOM-owned editor text. */
|
|
164
|
+
replace(value: TokenSearchFieldValue): void;
|
|
165
|
+
submit(value: TokenSearchFieldValue): void;
|
|
166
|
+
choose(value: string): void;
|
|
167
|
+
/** Commit a value for the active `name:` prefix, even when it is not suggested. */
|
|
168
|
+
commit(value: string): void;
|
|
169
|
+
expandToken(value: string): void;
|
|
170
|
+
remove(value: string): void;
|
|
171
|
+
clear(): void;
|
|
172
|
+
dismiss(): void;
|
|
173
|
+
}
|
|
174
|
+
interface TokenSearchModelOptions<Result> {
|
|
175
|
+
rules?: readonly TokenSearchRule[];
|
|
176
|
+
initial?: TokenSearchFieldValue;
|
|
177
|
+
/** Runs after every state change, including initial state. */
|
|
178
|
+
evaluate?: (state: TokenSearchState) => Result;
|
|
179
|
+
onSubmit?: (state: TokenSearchState, result: Result | undefined) => void;
|
|
180
|
+
}
|
|
181
|
+
/** Opt-in state, token parsing, suggestions, and evaluation for TokenSearchField. */
|
|
182
|
+
declare function createTokenSearchModel<Result = unknown>({ rules, initial, evaluate, onSubmit, }?: TokenSearchModelOptions<Result>): TokenSearchModel<Result>;
|
|
183
|
+
|
|
184
|
+
export { type TokenSearchEditorAttributes as T, TokenSearchField as a, type TokenSearchFieldProps as b, type TokenSearchFieldValue as c, type TokenSearchModel as d, type TokenSearchModelOptions as e, type TokenSearchResolvedToken as f, type TokenSearchRule as g, type TokenSearchState as h, type TokenSearchSuggestion as i, type TokenSearchToken as j, type TokenSearchTrailingAction as k, type TokenSearchTrailingActionAttributes as l, createTokenSearchModel as m, placeTokenSearchCaret as p, readTokenSearchField as r };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { d as TokenSearchModel, e as TokenSearchModelOptions, f as TokenSearchResolvedToken, g as TokenSearchRule, h as TokenSearchState, i as TokenSearchSuggestion, m as createTokenSearchModel } from './token-search-model-aYR0YAei.js';
|
|
2
|
+
import 'kerfjs';
|
|
3
|
+
import './semantic-content-BbzjvSu9.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"token-search-model.js"}
|
|
@@ -1,15 +1,115 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as kerfjs from 'kerfjs';
|
|
2
|
+
import { K as KerfUiContent } from './semantic-content-BbzjvSu9.js';
|
|
3
|
+
import { CssLength } from './css-values.js';
|
|
2
4
|
|
|
5
|
+
type ToolbarControlGroupAppearance = 'contained' | 'borderless';
|
|
6
|
+
type ToolbarControlGroupTone = 'default' | 'dark';
|
|
7
|
+
/** Surface material: the opaque `solid` fill (default) or translucent `glass`. */
|
|
8
|
+
type ToolbarControlGroupMaterial = 'solid' | 'glass';
|
|
9
|
+
/** Quiet palette for a contained, single decorative icon tile. */
|
|
10
|
+
type ToolbarControlGroupTileTone = 'neutral' | 'brand' | 'success' | 'warning' | 'danger';
|
|
11
|
+
type ToolbarControlGroupButtonAppearance = 'plain' | 'push';
|
|
12
|
+
type ToolbarControlGroupShape = 'pill' | 'rounded';
|
|
13
|
+
type ToolbarControlGroupSize = 'default' | 'compact';
|
|
14
|
+
type ToolbarControlGroupDensity = 'comfortable' | 'tight';
|
|
15
|
+
type ToolbarControlGroupContent = 'icon' | 'text' | 'mixed' | 'avatar' | 'search';
|
|
16
|
+
type ToolbarControlGroupFocusRing = 'control' | 'outline' | 'halo';
|
|
17
|
+
type ToolbarControlGroupSelectedChrome = 'raised' | 'filled' | 'outline' | 'none';
|
|
18
|
+
type ToolbarControlGroupSelectedTone = 'brand' | 'neutral' | 'pop';
|
|
19
|
+
type ToolbarControlGroupOverflow = 'visible' | 'scroll' | 'wrap';
|
|
20
|
+
type ToolbarControlGroupExpandedOverflow = 'clip' | 'visible';
|
|
21
|
+
type ToolbarControlGroupMenuInset = 'standard' | 'compact' | 'list-zero';
|
|
22
|
+
type ToolbarControlGroupVisibility = 'always' | 'compact-only' | 'hide-collapsed-tiny' | 'yield-to-expanded-sibling';
|
|
23
|
+
type ToolbarControlGroupSizing = 'content' | 'grow' | 'fill';
|
|
24
|
+
type ToolbarControlGroupPlacement = 'start' | 'end';
|
|
25
|
+
interface ToolbarActionLinkProps {
|
|
26
|
+
href: string;
|
|
27
|
+
label: string;
|
|
28
|
+
icon?: KerfUiContent;
|
|
29
|
+
/** Optional machine-readable detail hidden visually but included in the default accessible name. */
|
|
30
|
+
detail?: string;
|
|
31
|
+
/** Override the accessible name when surrounding context is needed. */
|
|
32
|
+
ariaLabel?: string;
|
|
33
|
+
/** Open in a new tab with a safe rel and announce that behavior. */
|
|
34
|
+
external?: boolean;
|
|
35
|
+
className?: string;
|
|
36
|
+
/** Native named-slot assignment when composed inside a web component. */
|
|
37
|
+
slot?: string;
|
|
38
|
+
}
|
|
39
|
+
/** A semantic anchor with ToolbarControlGroup-owned action geometry. */
|
|
40
|
+
declare function ToolbarActionLink({ href, label, icon, detail, ariaLabel, external, className, slot, }: ToolbarActionLinkProps): kerfjs.SafeHtml;
|
|
3
41
|
interface ToolbarControlGroupProps {
|
|
4
|
-
children:
|
|
42
|
+
children: KerfUiContent;
|
|
5
43
|
label?: string;
|
|
6
44
|
className?: string;
|
|
7
45
|
expanded?: boolean;
|
|
8
46
|
single?: boolean;
|
|
9
|
-
appearance?:
|
|
10
|
-
tone?:
|
|
11
|
-
|
|
47
|
+
appearance?: ToolbarControlGroupAppearance;
|
|
48
|
+
tone?: ToolbarControlGroupTone;
|
|
49
|
+
/**
|
|
50
|
+
* `glass` paints the group on the translucent chrome material (backdrop
|
|
51
|
+
* blur and saturation) with a specular edge and a soft shadow, for a group
|
|
52
|
+
* floating over imagery or a clear toolbar. Controls take the normal text
|
|
53
|
+
* color so they keep AA over any content; the fill turns opaque under
|
|
54
|
+
* reduced transparency, increased contrast, static effects, or without
|
|
55
|
+
* backdrop-filter support. A borderless group has no surface and ignores it.
|
|
56
|
+
*/
|
|
57
|
+
material?: ToolbarControlGroupMaterial;
|
|
58
|
+
/** Quiet fill, matching border and foreground for a contained single group whose only child is a decorative SVG. Ignored for interactive or mixed content. */
|
|
59
|
+
tileTone?: ToolbarControlGroupTileTone;
|
|
60
|
+
buttonAppearance?: ToolbarControlGroupButtonAppearance;
|
|
61
|
+
/** Corner shape: fully round `pill` (default) or a softer `rounded` rectangle. */
|
|
62
|
+
shape?: ToolbarControlGroupShape;
|
|
63
|
+
size?: ToolbarControlGroupSize;
|
|
64
|
+
density?: ToolbarControlGroupDensity;
|
|
65
|
+
content?: ToolbarControlGroupContent;
|
|
66
|
+
/** Whether controls paint focus individually or the group paints an outline/halo on focus-within. */
|
|
67
|
+
focusRing?: ToolbarControlGroupFocusRing;
|
|
68
|
+
/**
|
|
69
|
+
* Chrome a pressed (`aria-pressed="true"`) control paints. `none` keeps a
|
|
70
|
+
* pressed control looking like its neighbors, for an icon-state toggle whose
|
|
71
|
+
* glyph already shows the state (an empty or filled star); hover and the
|
|
72
|
+
* focus ring are unchanged. One control can opt out alone with
|
|
73
|
+
* `data-selected-chrome="none"` on its own button.
|
|
74
|
+
*/
|
|
75
|
+
selectedChrome?: ToolbarControlGroupSelectedChrome;
|
|
76
|
+
selectedTone?: ToolbarControlGroupSelectedTone;
|
|
77
|
+
/** Size a nested Web Awesome dropdown trigger as part of this group. */
|
|
78
|
+
nestedDropdown?: boolean;
|
|
79
|
+
/** Configure the nested dropdown menu inset without consumer ::part() CSS. */
|
|
80
|
+
menuInset?: ToolbarControlGroupMenuInset;
|
|
81
|
+
/** Keep an overlong row inside the available width by scrolling or wrapping. */
|
|
82
|
+
overflow?: ToolbarControlGroupOverflow;
|
|
83
|
+
/** Let app-owned anchored surfaces extend outside an expanded search group. Collapsed searches retain their clipping. */
|
|
84
|
+
expandedOverflow?: ToolbarControlGroupExpandedOverflow;
|
|
85
|
+
/** Responsive visibility owned by the enclosing Toolbar container. */
|
|
86
|
+
visibility?: ToolbarControlGroupVisibility;
|
|
87
|
+
/** Hide below this Toolbar content width; requires wireToolbarVisibility. */
|
|
88
|
+
hideBelow?: CssLength;
|
|
89
|
+
/** Show only below this Toolbar content width; requires wireToolbarVisibility. */
|
|
90
|
+
showBelow?: CssLength;
|
|
91
|
+
/** Intrinsic (default), grow from a basis, or occupy a full wrapping row. */
|
|
92
|
+
sizing?: ToolbarControlGroupSizing;
|
|
93
|
+
/** Place this group at the end of its flex row in a wrapping Toolbar zone. */
|
|
94
|
+
placement?: ToolbarControlGroupPlacement;
|
|
95
|
+
/** CSS length used as the minimum width and flex basis for `sizing="grow"`; defaults to 19rem. */
|
|
96
|
+
growBasis?: string;
|
|
97
|
+
/** Move this group into the work-area toolbar when its panel collapses. */
|
|
98
|
+
relocateOnCollapse?: boolean;
|
|
99
|
+
/** Add contrast behind photo-backed avatar content. */
|
|
100
|
+
scrim?: boolean;
|
|
101
|
+
/** Block the group's controls and show a spinner without changing its dimensions. */
|
|
102
|
+
busy?: boolean;
|
|
103
|
+
/** Announced status while busy; defaults to “Working”. */
|
|
104
|
+
busyLabel?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Avatar image URL. A single-control group paints it on the group; a
|
|
107
|
+
* multi-control group paints it only on the pressed selection highlight.
|
|
108
|
+
*/
|
|
109
|
+
avatarImage?: string;
|
|
110
|
+
/** Native named-slot assignment when composed inside a web component. */
|
|
111
|
+
slot?: string;
|
|
12
112
|
}
|
|
13
|
-
declare function ToolbarControlGroup({ children, label, className, expanded, single, appearance, tone, buttonAppearance }: ToolbarControlGroupProps): SafeHtml;
|
|
113
|
+
declare function ToolbarControlGroup({ children, label, className, expanded, single, appearance, tone, material, tileTone, buttonAppearance, shape, size, density, content, focusRing, selectedChrome, selectedTone, nestedDropdown, menuInset, overflow, expandedOverflow, visibility, hideBelow, showBelow, sizing, placement, growBasis, relocateOnCollapse, scrim, busy, busyLabel, avatarImage, slot, }: ToolbarControlGroupProps): kerfjs.SafeHtml;
|
|
14
114
|
|
|
15
|
-
export { ToolbarControlGroup, type ToolbarControlGroupProps };
|
|
115
|
+
export { ToolbarActionLink, type ToolbarActionLinkProps, ToolbarControlGroup, type ToolbarControlGroupAppearance, type ToolbarControlGroupButtonAppearance, type ToolbarControlGroupContent, type ToolbarControlGroupDensity, type ToolbarControlGroupExpandedOverflow, type ToolbarControlGroupFocusRing, type ToolbarControlGroupMaterial, type ToolbarControlGroupMenuInset, type ToolbarControlGroupOverflow, type ToolbarControlGroupPlacement, type ToolbarControlGroupProps, type ToolbarControlGroupSelectedChrome, type ToolbarControlGroupSelectedTone, type ToolbarControlGroupShape, type ToolbarControlGroupSize, type ToolbarControlGroupSizing, type ToolbarControlGroupTileTone, type ToolbarControlGroupTone, type ToolbarControlGroupVisibility };
|
package/dist/toolbar-text.d.ts
CHANGED
|
@@ -1,23 +1,77 @@
|
|
|
1
1
|
import * as kerfjs from 'kerfjs';
|
|
2
|
+
import { CssLength } from './css-values.js';
|
|
2
3
|
|
|
3
|
-
type ToolbarTextSize = 'xlarge' | 'large' | 'default' | 'small';
|
|
4
|
+
type ToolbarTextSize = 'xlarge' | 'xlarge-fixed' | 'large' | 'default' | 'small' | 'xsmall';
|
|
5
|
+
type ToolbarTextTone = 'default' | 'dark';
|
|
4
6
|
/** ARIA heading level for a title exposed as a heading landmark. */
|
|
5
7
|
type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
6
|
-
interface
|
|
8
|
+
interface ToolbarTextBaseProps {
|
|
7
9
|
text: string;
|
|
8
10
|
size?: ToolbarTextSize;
|
|
11
|
+
/**
|
|
12
|
+
* Use loud-toolbar foregrounds on a toolbar painted with the inverse loud
|
|
13
|
+
* fill, matching dark control groups; like them it inverts with the color
|
|
14
|
+
* scheme. Over a dark photo or scrim keep the default tone inside a
|
|
15
|
+
* `BackdropImage` overlay, which takes the dark scheme under its scrim.
|
|
16
|
+
*/
|
|
17
|
+
tone?: ToolbarTextTone;
|
|
18
|
+
/** Hide below this Toolbar content width; requires wireToolbarVisibility. */
|
|
19
|
+
hideBelow?: CssLength;
|
|
20
|
+
/** Show only below this Toolbar content width; requires wireToolbarVisibility. */
|
|
21
|
+
showBelow?: CssLength;
|
|
9
22
|
className?: string;
|
|
10
23
|
/** Optional id, e.g. so a dialog can reference the title via aria-labelledby. */
|
|
11
24
|
id?: string;
|
|
12
25
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
26
|
+
* Show a trailing ellipsis (…) where the text is truncated — on the single line
|
|
27
|
+
* (default), or at the `maxLines` boundary when wrapping. Set false to hard-clip
|
|
28
|
+
* instead. Default true.
|
|
29
|
+
*/
|
|
30
|
+
ellipsis?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Grow to fill the free space of the flex row it sits in (a Toolbar zone),
|
|
33
|
+
* truncating at the space left by its siblings instead of taking only its
|
|
34
|
+
* text's width. Default false.
|
|
16
35
|
*/
|
|
36
|
+
fill?: boolean;
|
|
37
|
+
/** Native named-slot assignment when composed inside a web component. */
|
|
38
|
+
slot?: string;
|
|
39
|
+
}
|
|
40
|
+
type ToolbarTextWrappingProps = {
|
|
41
|
+
/** Wrap onto multiple lines; combine with `maxLines` to cap them. */
|
|
42
|
+
wrap: true;
|
|
43
|
+
maxLines?: number | null;
|
|
44
|
+
} | {
|
|
45
|
+
wrap?: false;
|
|
46
|
+
maxLines?: never;
|
|
47
|
+
};
|
|
48
|
+
type ToolbarTextProps = ToolbarTextBaseProps & (({
|
|
49
|
+
action?: never;
|
|
50
|
+
/** Expose `role="heading"` and `aria-level` on read-only text. */
|
|
17
51
|
headingLevel?: HeadingLevel;
|
|
18
|
-
/** Render
|
|
52
|
+
/** Render an unanimated loading skeleton instead of the text. */
|
|
19
53
|
placeholder?: boolean;
|
|
20
|
-
|
|
21
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Quiet, single-line supporting copy under the title ("Changes save
|
|
56
|
+
* automatically."), truncating with an ellipsis. Title and description
|
|
57
|
+
* share the toolbar's control band and the same text start, with or
|
|
58
|
+
* without a leading icon group. With a description, `id` and
|
|
59
|
+
* `headingLevel` apply to the title alone, so a dialog's
|
|
60
|
+
* `aria-labelledby` names only the title.
|
|
61
|
+
*/
|
|
62
|
+
description?: string;
|
|
63
|
+
/** Id for the description, for a dialog's `aria-describedby`. */
|
|
64
|
+
descriptionId?: string;
|
|
65
|
+
} & ToolbarTextWrappingProps) | {
|
|
66
|
+
/** Render a native button with this delegated action; the app owns editing. */
|
|
67
|
+
action: string;
|
|
68
|
+
headingLevel?: never;
|
|
69
|
+
placeholder?: never;
|
|
70
|
+
wrap?: never;
|
|
71
|
+
maxLines?: never;
|
|
72
|
+
description?: never;
|
|
73
|
+
descriptionId?: never;
|
|
74
|
+
});
|
|
75
|
+
declare function ToolbarText({ text, size, tone, hideBelow, showBelow, className, id, headingLevel, placeholder, wrap, ellipsis, maxLines, fill, slot, action, description, descriptionId, }: ToolbarTextProps): kerfjs.SafeHtml;
|
|
22
76
|
|
|
23
|
-
export { type HeadingLevel, ToolbarText, type ToolbarTextProps, type ToolbarTextSize };
|
|
77
|
+
export { type HeadingLevel, ToolbarText, type ToolbarTextProps, type ToolbarTextSize, type ToolbarTextTone };
|
package/dist/toolbar-text.js
CHANGED
package/dist/toolbar.d.ts
CHANGED
|
@@ -1,13 +1,78 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as kerfjs from 'kerfjs';
|
|
2
|
+
import { K as KerfUiContent } from './semantic-content-BbzjvSu9.js';
|
|
3
|
+
import { S as Sides } from './sides-BPSWde0A.js';
|
|
4
|
+
import { PaneSeparatorSide } from './pane.js';
|
|
5
|
+
import './scroll-clearance-BikHljTc.js';
|
|
6
|
+
import './css-values.js';
|
|
2
7
|
|
|
8
|
+
type ToolbarPosition = 'header' | 'footer';
|
|
9
|
+
/** Control-band density: `default` (60px with 44px groups) or `compact`. */
|
|
10
|
+
type ToolbarDensity = 'default' | 'compact';
|
|
3
11
|
interface ToolbarProps {
|
|
4
|
-
leading?:
|
|
5
|
-
center?:
|
|
6
|
-
trailing?:
|
|
12
|
+
leading?: KerfUiContent;
|
|
13
|
+
center?: KerfUiContent;
|
|
14
|
+
trailing?: KerfUiContent;
|
|
7
15
|
label?: string;
|
|
8
|
-
|
|
16
|
+
/** Use footer semantics for a bottom toolbar; defaults to header. */
|
|
17
|
+
position?: ToolbarPosition;
|
|
18
|
+
/**
|
|
19
|
+
* `compact` sizes the toolbar to a 34px control band with 3px block
|
|
20
|
+
* insets — 40px tall — for a header embedded in a panel or card. Fill it
|
|
21
|
+
* with `ToolbarControlGroup size="compact"` groups; inline insets and the
|
|
22
|
+
* gap between zones are unchanged. Composites that render a Toolbar from a
|
|
23
|
+
* `ToolbarConfig` (Workbench, CollapsiblePanel, NavStack, SplitView) forward
|
|
24
|
+
* it and size the groups they compose to match. Defaults to `default`.
|
|
25
|
+
*/
|
|
26
|
+
density?: ToolbarDensity;
|
|
27
|
+
/**
|
|
28
|
+
* Physical divider edges in canonical top/right/bottom/left order, drawn
|
|
29
|
+
* always. Defaults to none: a toolbar pinned over or under scrolling content
|
|
30
|
+
* gets its divider from the scroll state instead — a `Pane` draws the line
|
|
31
|
+
* between its chrome and content while content is scrolled away beneath it,
|
|
32
|
+
* and `wireScrollDividers` `targets` can name a toolbar as chrome, which
|
|
33
|
+
* then draws its facing side the same way.
|
|
34
|
+
*/
|
|
35
|
+
dividerSides?: Sides;
|
|
36
|
+
/** `balanced` gives both side zones equal tracks, centering the middle zone on the toolbar even if only one side has controls. */
|
|
37
|
+
centerAlign?: 'center' | 'stretch' | 'balanced';
|
|
38
|
+
/**
|
|
39
|
+
* Component-owned responsive layout; applications choose the policy rather
|
|
40
|
+
* than restyling toolbar internals. Under every policy the trailing zone
|
|
41
|
+
* wraps its groups instead of clipping an action, and the center zone keeps
|
|
42
|
+
* its whole content width: when the zones do not fit one row, the leading
|
|
43
|
+
* title truncates with an ellipsis rather than the center overlapping it.
|
|
44
|
+
* - `none` keeps one row; the leading identity truncates first.
|
|
45
|
+
* - `stack` stacks the zones at `responsiveAt`, wrapping stacked control
|
|
46
|
+
* groups onto further rows.
|
|
47
|
+
* - `wrap` keeps one row while every zone fits at its natural width, and
|
|
48
|
+
* otherwise moves the trailing zone below a whole leading identity.
|
|
49
|
+
* - `center-priority` gives an expanded center control the full row.
|
|
50
|
+
* - `trailing-priority` moves an expanded trailing control to a full row
|
|
51
|
+
* below the leading identity at `responsiveAt`.
|
|
52
|
+
*/
|
|
53
|
+
responsive?: 'none' | 'stack' | 'wrap' | 'center-priority' | 'trailing-priority';
|
|
54
|
+
/** Container width at which `stack` or `trailing-priority` activates. */
|
|
55
|
+
responsiveAt?: 'compact' | 'narrow';
|
|
56
|
+
/**
|
|
57
|
+
* Screen edges this toolbar claims for device safe-area compensation, for an
|
|
58
|
+
* app bar or bottom bar that sits directly at a screen edge rather than in a
|
|
59
|
+
* Pane header or footer. Each listed side pads by the inset its surrounding
|
|
60
|
+
* layout reports through `--kui-edge-inset-*`, or the full device inset when
|
|
61
|
+
* nothing routes that edge, while the toolbar's box and dividers paint
|
|
62
|
+
* through. Omitted, the toolbar pads only the inline edges an owner such as
|
|
63
|
+
* a Pane header hands it, and never a block edge.
|
|
64
|
+
*/
|
|
65
|
+
safeAreaEdges?: readonly PaneSeparatorSide[];
|
|
9
66
|
className?: string;
|
|
67
|
+
/** Native named-slot assignment when composed inside a web component. */
|
|
68
|
+
slot?: string;
|
|
10
69
|
}
|
|
11
|
-
|
|
70
|
+
/**
|
|
71
|
+
* A toolbar's configuration, apart from its content: the props a composite
|
|
72
|
+
* that renders a `Toolbar` for the app (a Workbench or CollapsiblePanel
|
|
73
|
+
* toolbar) forwards, so the app configures that toolbar instead of styling it.
|
|
74
|
+
*/
|
|
75
|
+
type ToolbarConfig = Pick<ToolbarProps, 'density' | 'dividerSides' | 'centerAlign' | 'responsive' | 'responsiveAt' | 'safeAreaEdges'>;
|
|
76
|
+
declare function Toolbar({ leading, center, trailing, label, position, density, dividerSides, centerAlign, responsive, responsiveAt, safeAreaEdges, className, slot, }: ToolbarProps): kerfjs.SafeHtml;
|
|
12
77
|
|
|
13
|
-
export { Toolbar, type ToolbarProps };
|
|
78
|
+
export { Sides, Toolbar, type ToolbarConfig, type ToolbarDensity, type ToolbarPosition, type ToolbarProps };
|
package/dist/toolbar.js
CHANGED