@kerfjs/ui 5.0.0-beta.7 → 5.0.0-beta.71
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 +501 -139
- package/ai/application-ui-diagnostic-ids-v1.json +109 -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 +36 -0
- package/ai/catalog-authoring.schema.json +109 -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 +3905 -446
- 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 +524 -0
- package/ai/component-composition.d.ts +129 -0
- package/ai/component-composition.json +7140 -0
- package/ai/component-composition.schema.json +408 -0
- package/ai/components/README.md +171 -0
- package/ai/components/application-tabs.md +65 -0
- package/ai/components/badge.md +72 -0
- package/ai/components/chip.md +72 -0
- package/ai/components/collapsible-panel.md +102 -0
- package/ai/components/content-item.md +93 -0
- package/ai/components/disclosure-arrow.md +77 -0
- package/ai/components/document-baseline.md +75 -0
- package/ai/components/empty-state.md +80 -0
- package/ai/components/feedback.md +71 -0
- package/ai/components/floating-toolbar.md +82 -0
- package/ai/components/foundation.md +65 -0
- package/ai/components/grid.md +98 -0
- package/ai/components/headers.md +63 -0
- package/ai/components/layout.md +75 -0
- package/ai/components/list-action-row.md +91 -0
- package/ai/components/list-header.md +89 -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 +94 -0
- package/ai/components/list.md +105 -0
- package/ai/components/loading-spinner.md +73 -0
- package/ai/components/lucide-icon.md +78 -0
- package/ai/components/nav-stack.md +104 -0
- package/ai/components/pane.md +101 -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-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 +113 -0
- package/ai/components/skeleton.md +84 -0
- package/ai/components/spacer.md +86 -0
- package/ai/components/split-view.md +102 -0
- package/ai/components/state-banner.md +94 -0
- package/ai/components/sunken-panel.md +79 -0
- package/ai/components/surface-scaffold.md +78 -0
- package/ai/components/tab-bar.md +113 -0
- package/ai/components/tab-scaffold.md +94 -0
- package/ai/components/tabs.md +95 -0
- package/ai/components/text.md +85 -0
- package/ai/components/token-search-field.md +106 -0
- package/ai/components/toolbar-control-group.md +102 -0
- package/ai/components/toolbar-text.md +79 -0
- package/ai/components/toolbar.md +97 -0
- package/ai/components/value-table.md +73 -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 +59 -0
- package/ai/components/wa-button.md +55 -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 +118 -0
- package/ai/public-api-signatures-v1.md +2748 -210
- package/ai/skill.md +286 -66
- 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 +401 -0
- package/analyzer/index.d.mts +53 -0
- package/analyzer/index.mjs +2307 -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/app-tab.d.ts +39 -4
- package/dist/app-tab.js +2 -1
- package/dist/badge.d.ts +52 -0
- package/dist/badge.js +3 -0
- package/dist/badge.js.map +1 -0
- package/dist/browser/badge.js +3 -0
- package/dist/browser/catalog.js +26 -0
- package/dist/browser/chip.js +3 -0
- package/dist/browser/collapsible-panel.js +9 -0
- package/dist/browser/content-item.js +3 -0
- package/dist/browser/floating-toolbar.js +3 -0
- package/dist/browser/grid.js +3 -0
- package/dist/browser/list-action-row.js +5 -0
- package/dist/browser/{menu-header.js → list-header.js} +4 -2
- package/dist/browser/list-inset-control.js +3 -0
- package/dist/browser/list-inset-text.js +3 -0
- package/dist/browser/list-item.js +5 -0
- package/dist/browser/list.js +3 -0
- package/dist/browser/{panel-header.js → nav-stack.js} +5 -3
- 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 +1 -0
- package/dist/browser/spacer.js +3 -0
- package/dist/browser/split-view.js +11 -0
- package/dist/browser/state-banner.js +1 -0
- package/dist/browser/sunken-panel.js +3 -0
- package/dist/browser/surface-scaffold.js +3 -0
- package/dist/browser/tab-scaffold.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 +48 -0
- package/dist/catalog-resources.js +22 -0
- package/dist/catalog-resources.js.map +1 -0
- package/dist/catalog.d.ts +92 -0
- package/dist/catalog.js +503 -0
- package/dist/catalog.js.map +1 -0
- package/dist/chip.d.ts +35 -0
- package/dist/chip.js +3 -0
- package/dist/chip.js.map +1 -0
- package/dist/chunk-2G2ZJQYK.js +152 -0
- package/dist/chunk-2G2ZJQYK.js.map +1 -0
- package/dist/chunk-3BYFWTP3.js +108 -0
- package/dist/chunk-3BYFWTP3.js.map +1 -0
- package/dist/chunk-47CKKLBE.js +34 -0
- package/dist/chunk-47CKKLBE.js.map +1 -0
- package/dist/chunk-4SQK27MR.js +202 -0
- package/dist/chunk-4SQK27MR.js.map +1 -0
- package/dist/chunk-5I7QGQVT.js +24 -0
- package/dist/chunk-5I7QGQVT.js.map +1 -0
- package/dist/chunk-6DFDTWGG.js +288 -0
- package/dist/chunk-6DFDTWGG.js.map +1 -0
- package/dist/chunk-7OKX3EF6.js +135 -0
- package/dist/chunk-7OKX3EF6.js.map +1 -0
- package/dist/chunk-AHEG27M7.js +66 -0
- package/dist/chunk-AHEG27M7.js.map +1 -0
- package/dist/chunk-AYUHMAI6.js +48 -0
- package/dist/chunk-AYUHMAI6.js.map +1 -0
- package/dist/chunk-B2ZMR7NY.js +85 -0
- package/dist/chunk-B2ZMR7NY.js.map +1 -0
- package/dist/chunk-BFPBS5Y4.js +250 -0
- package/dist/chunk-BFPBS5Y4.js.map +1 -0
- package/dist/chunk-DB5ADJKF.js +775 -0
- package/dist/chunk-DB5ADJKF.js.map +1 -0
- package/dist/chunk-DC6CN2DS.js +123 -0
- package/dist/chunk-DC6CN2DS.js.map +1 -0
- package/dist/chunk-DG6G5EPF.js +35 -0
- package/dist/chunk-DG6G5EPF.js.map +1 -0
- package/dist/{chunk-56RJXPHG.js → chunk-G4S2QU6V.js} +7 -4
- package/dist/chunk-G4S2QU6V.js.map +1 -0
- package/dist/chunk-GLDWRCAM.js +49 -0
- package/dist/chunk-GLDWRCAM.js.map +1 -0
- package/dist/chunk-I3Q7KKYM.js +33 -0
- package/dist/chunk-I3Q7KKYM.js.map +1 -0
- package/dist/chunk-IA7TMD4Y.js +288 -0
- package/dist/chunk-IA7TMD4Y.js.map +1 -0
- package/dist/chunk-J3KGJ6P6.js +135 -0
- package/dist/chunk-J3KGJ6P6.js.map +1 -0
- package/dist/chunk-K47P7QZC.js +17 -0
- package/dist/chunk-K47P7QZC.js.map +1 -0
- package/dist/chunk-K67Y2JNF.js +222 -0
- package/dist/chunk-K67Y2JNF.js.map +1 -0
- package/dist/chunk-KCCEH7RF.js +492 -0
- package/dist/chunk-KCCEH7RF.js.map +1 -0
- package/dist/chunk-KLJKU6ZL.js +109 -0
- package/dist/chunk-KLJKU6ZL.js.map +1 -0
- package/dist/chunk-KVBRMEPM.js +44 -0
- package/dist/chunk-KVBRMEPM.js.map +1 -0
- package/dist/chunk-M6DEEBEF.js +156 -0
- package/dist/chunk-M6DEEBEF.js.map +1 -0
- package/dist/chunk-MEY33VWB.js +44 -0
- package/dist/chunk-MEY33VWB.js.map +1 -0
- package/dist/chunk-MP2GDBQZ.js +50 -0
- package/dist/chunk-MP2GDBQZ.js.map +1 -0
- package/dist/chunk-NC4CFOID.js +188 -0
- package/dist/chunk-NC4CFOID.js.map +1 -0
- package/dist/chunk-NCSWXG7G.js +80 -0
- package/dist/chunk-NCSWXG7G.js.map +1 -0
- package/dist/chunk-NN6GYOA2.js +47 -0
- package/dist/chunk-NN6GYOA2.js.map +1 -0
- package/dist/chunk-OXO2QJWV.js +55 -0
- package/dist/chunk-OXO2QJWV.js.map +1 -0
- package/dist/chunk-P7D3EMXM.js +52 -0
- package/dist/chunk-P7D3EMXM.js.map +1 -0
- package/dist/chunk-PSHUSWQH.js +18 -0
- package/dist/chunk-PSHUSWQH.js.map +1 -0
- package/dist/chunk-Q6YU3BT7.js +138 -0
- package/dist/chunk-Q6YU3BT7.js.map +1 -0
- package/dist/chunk-QJ5VFCW3.js +131 -0
- package/dist/chunk-QJ5VFCW3.js.map +1 -0
- package/dist/chunk-RGS4WX2M.js +44 -0
- package/dist/chunk-RGS4WX2M.js.map +1 -0
- package/dist/chunk-RNQNEENY.js +146 -0
- package/dist/chunk-RNQNEENY.js.map +1 -0
- package/dist/chunk-RVERAFFY.js +291 -0
- package/dist/chunk-RVERAFFY.js.map +1 -0
- package/dist/chunk-SLWCCHNP.js +491 -0
- package/dist/chunk-SLWCCHNP.js.map +1 -0
- package/dist/chunk-SMZGAPCU.js +70 -0
- package/dist/chunk-SMZGAPCU.js.map +1 -0
- package/dist/{chunk-7BR3DO2A.js → chunk-SRSJO5QE.js} +13 -4
- package/dist/chunk-SRSJO5QE.js.map +1 -0
- package/dist/chunk-TJK44RQC.js +452 -0
- package/dist/chunk-TJK44RQC.js.map +1 -0
- package/dist/chunk-UIDKY4UB.js +14 -0
- package/dist/chunk-UIDKY4UB.js.map +1 -0
- package/dist/chunk-V3DX3K65.js +43 -0
- package/dist/chunk-V3DX3K65.js.map +1 -0
- package/dist/chunk-VZOFZPSO.js +71 -0
- package/dist/chunk-VZOFZPSO.js.map +1 -0
- package/dist/chunk-W2AC6Q2A.js +83 -0
- package/dist/chunk-W2AC6Q2A.js.map +1 -0
- package/dist/chunk-WF75U3V4.js +33 -0
- package/dist/chunk-WF75U3V4.js.map +1 -0
- package/dist/chunk-WTSNV5RG.js +52 -0
- package/dist/chunk-WTSNV5RG.js.map +1 -0
- package/dist/{chunk-YGN7OMLT.js → chunk-X5QSICJ3.js} +8 -5
- package/dist/chunk-X5QSICJ3.js.map +1 -0
- package/dist/chunk-YDGNU2OD.js +61 -0
- package/dist/chunk-YDGNU2OD.js.map +1 -0
- package/dist/collapsible-panel.d.ts +133 -0
- package/dist/collapsible-panel.js +131 -0
- package/dist/collapsible-panel.js.map +1 -0
- package/dist/content-item.d.ts +81 -0
- package/dist/content-item.js +4 -0
- package/dist/content-item.js.map +1 -0
- package/dist/css-values.d.ts +107 -0
- package/dist/css-values.js +3 -0
- package/dist/css-values.js.map +1 -0
- package/dist/device-class.js +33 -5
- 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/empty-state.d.ts +5 -2
- package/dist/empty-state.js +2 -1
- 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/grid.d.ts +50 -0
- package/dist/grid.js +5 -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/index.d.ts +34 -14
- package/dist/index.js +43 -23
- package/dist/{menu-action-row.d.ts → list-action-row.d.ts} +21 -9
- package/dist/list-action-row.js +8 -0
- package/dist/list-action-row.js.map +1 -0
- package/dist/list-header.d.ts +99 -0
- package/dist/list-header.js +10 -0
- package/dist/list-header.js.map +1 -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 +62 -0
- package/dist/list-item.js +8 -0
- package/dist/list-item.js.map +1 -0
- package/dist/list.d.ts +63 -0
- package/dist/list.js +6 -0
- package/dist/list.js.map +1 -0
- package/dist/loading-spinner.d.ts +9 -2
- package/dist/loading-spinner.js +2 -1
- package/dist/lucide-icon.d.ts +9 -2
- package/dist/lucide-icon.js +2 -1
- package/dist/nav-stack.d.ts +66 -10
- package/dist/nav-stack.js +6 -1
- package/dist/pane.d.ts +108 -0
- package/dist/pane.js +4 -0
- package/dist/pane.js.map +1 -0
- package/dist/panel-toolbar-DDKh4uKd.d.ts +72 -0
- package/dist/popup-menu-register.d.ts +9 -0
- package/dist/popup-menu-register.js +244 -0
- package/dist/popup-menu-register.js.map +1 -0
- package/dist/popup-menu.d.ts +100 -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 +48 -0
- package/dist/row.js +6 -0
- package/dist/row.js.map +1 -0
- package/dist/segmented-control.d.ts +12 -9
- package/dist/segmented-control.js +1 -2
- package/dist/select-register.d.ts +5 -1
- package/dist/select-register.js +243 -2
- package/dist/select-register.js.map +1 -1
- package/dist/select.d.ts +102 -8
- package/dist/select.js +3 -1
- package/dist/semantic-content-BbzjvSu9.d.ts +14 -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-view.d.ts +39 -7
- package/dist/split-view.js +120 -10
- package/dist/split-view.js.map +1 -1
- package/dist/state-banner.d.ts +18 -6
- package/dist/state-banner.js +3 -1
- package/dist/styles/app-tab.css +224 -0
- package/dist/styles/badge.css +118 -0
- package/dist/styles/catalog/components/catalog-example-stack.css +9 -0
- package/dist/styles/catalog/components/catalog-example.css +168 -0
- package/dist/styles/catalog/components/catalog-stage.css +55 -0
- package/dist/styles/catalog/components/catalog.css +12 -0
- package/dist/styles/catalog.css +5 -0
- package/dist/styles/chip.css +132 -0
- package/dist/styles/collapsible-panel.css +575 -0
- package/dist/styles/content-item.css +75 -0
- package/dist/styles/document.css +23 -0
- package/dist/styles/floating-toolbar.css +119 -0
- package/dist/styles/foundation.css +178 -40
- package/dist/styles/grid.css +35 -0
- package/dist/styles/layout.css +3 -41
- package/dist/styles/list-action-row.css +258 -0
- package/dist/styles/list-header.css +229 -0
- package/dist/styles/list-inset-control.css +30 -0
- package/dist/styles/list-inset-text.css +29 -0
- package/dist/styles/list-item.css +255 -0
- package/dist/styles/list.css +133 -0
- package/dist/styles/loading-spinner.css +4 -0
- package/dist/styles/lucide-icon.css +5 -0
- package/dist/styles/nav-stack.css +172 -47
- package/dist/styles/pane.css +263 -0
- package/dist/styles/popup-menu.css +285 -0
- package/dist/styles/resizable-region.css +438 -4
- package/dist/styles/row.css +111 -0
- package/dist/styles/segmented-control.css +36 -9
- package/dist/styles/select.css +337 -21
- package/dist/styles/skeleton.css +64 -3
- package/dist/styles/spacer.css +11 -0
- package/dist/styles/split-view.css +114 -3
- package/dist/styles/state-banner.css +94 -19
- package/dist/styles/styles.css +13 -4
- package/dist/styles/sunken-panel.css +29 -0
- package/dist/styles/surface-scaffold.css +56 -0
- package/dist/styles/tab-bar.css +147 -9
- package/dist/styles/tab-scaffold.css +126 -3
- package/dist/styles/text.css +112 -0
- package/dist/styles/token-search-field.css +155 -55
- package/dist/styles/toolbar-control-group.css +608 -29
- package/dist/styles/toolbar-text.css +101 -8
- package/dist/styles/toolbar.css +343 -12
- package/dist/styles/value-table.css +34 -4
- package/dist/styles/webawesome.css +365 -10
- package/dist/styles/workbench.css +980 -7
- package/dist/sunken-panel.d.ts +27 -0
- package/dist/sunken-panel.js +3 -0
- package/dist/sunken-panel.js.map +1 -0
- package/dist/surface-scaffold.d.ts +30 -0
- package/dist/surface-scaffold.js +3 -0
- package/dist/surface-scaffold.js.map +1 -0
- package/dist/tab-bar.d.ts +39 -6
- package/dist/tab-bar.js +1 -1
- package/dist/tab-scaffold.d.ts +57 -7
- package/dist/tab-scaffold.js +83 -9
- package/dist/tab-scaffold.js.map +1 -1
- package/dist/text.d.ts +56 -0
- package/dist/text.js +3 -0
- package/dist/text.js.map +1 -0
- package/dist/token-search-field-CVGwDn2y.d.ts +154 -0
- package/dist/token-search-field.d.ts +3 -43
- package/dist/token-search-field.js +2 -1
- 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 +77 -7
- package/dist/toolbar-control-group.js +3 -1
- package/dist/toolbar-text.d.ts +35 -4
- package/dist/toolbar-text.js +2 -1
- package/dist/toolbar.d.ts +59 -7
- package/dist/toolbar.js +1 -1
- package/dist/types-BuHELdXR.d.ts +117 -0
- package/dist/value-table.d.ts +11 -3
- package/dist/value-table.js +2 -1
- package/dist/webawesome.d.ts +8 -1
- package/dist/wire-catalog.d.ts +82 -0
- package/dist/wire-catalog.js +327 -0
- package/dist/wire-catalog.js.map +1 -0
- package/dist/wire-content-items.d.ts +11 -0
- package/dist/wire-content-items.js +114 -0
- package/dist/wire-content-items.js.map +1 -0
- package/dist/wire-nav-stack.d.ts +4 -1
- package/dist/wire-nav-stack.js +147 -7
- package/dist/wire-nav-stack.js.map +1 -1
- package/dist/wire-resizable-regions.d.ts +2 -1
- package/dist/wire-resizable-regions.js +2 -1
- package/dist/wire-scroll-dividers.d.ts +72 -0
- package/dist/wire-scroll-dividers.js +3 -0
- package/dist/wire-scroll-dividers.js.map +1 -0
- package/dist/wire-sidebar.d.ts +63 -0
- package/dist/wire-sidebar.js +231 -0
- package/dist/wire-sidebar.js.map +1 -0
- package/dist/wire-tab-bars.d.ts +19 -2
- package/dist/wire-tab-bars.js +1 -1
- package/dist/wire-tab-scaffold.js +9 -4
- package/dist/wire-tab-scaffold.js.map +1 -1
- package/dist/wire-token-search-fields.d.ts +65 -3
- package/dist/wire-token-search-fields.js +2 -1
- 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 +244 -9
- package/dist/workbench.js +17 -15
- package/dist/workbench.js.map +1 -1
- package/docs/accessibility.md +476 -24
- package/docs/app-layouts.md +106 -8
- package/docs/apple-hig.md +1 -0
- package/docs/catalog.md +483 -0
- package/docs/collapsible-panel.md +371 -0
- package/docs/component-contract.md +667 -56
- package/docs/component-integration.md +75 -0
- package/docs/component-selection.md +540 -95
- 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/selected-dark.svg +1 -0
- package/docs/design/templates/list-action-row/selected.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/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/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/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-control-group/borderless-single-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/borderless-single.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-buttons-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/icon-buttons.svg +1 -0
- package/docs/design/templates/toolbar-control-group/push-buttons-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/push-buttons.svg +1 -0
- package/docs/design/templates/toolbar-control-group/with-text-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group/with-text.svg +1 -0
- package/docs/design/templates/toolbar-control-group-dark.svg +1 -0
- package/docs/design/templates/toolbar-control-group.svg +1 -0
- package/docs/design/templates/toolbar-dark.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 +138 -0
- package/docs/design-philosophy.md +48 -20
- package/docs/device-class.md +10 -9
- package/docs/document-baseline.md +38 -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 +534 -59
- package/docs/nav-stack.md +138 -14
- package/docs/recipes.md +137 -54
- package/docs/split-view.md +74 -6
- package/docs/sunken-panel.md +87 -0
- package/docs/surface-scaffold.md +28 -0
- package/docs/tab-scaffold.md +99 -10
- package/docs/type-contracts.md +134 -0
- package/docs/ui-analyzer.md +384 -0
- package/docs/ui-doctor.md +153 -0
- package/docs/ui-evaluator.md +139 -0
- package/docs/ux-demo.md +41 -16
- package/docs/webawesome-theme.md +218 -16
- package/docs/workbench.md +608 -12
- package/doctor/cli.mjs +120 -0
- package/doctor/config.schema.json +94 -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 +1364 -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 +445 -48
- package/package.json +249 -37
- package/scripts/component-catalog-extension-validation.mjs +28 -0
- package/traversal-exclusions.mjs +27 -0
- package/ux-demo/recipes/app-shell.tsx +205 -17
- package/ux-demo/recipes/collapsible-sidebar.tsx +260 -0
- 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 +282 -0
- package/ux-demo/recipes/list-workspace-states.tsx +183 -11
- package/ux-demo/recipes/loaders.ts +15 -5
- package/ux-demo/recipes/loading-inspector.tsx +204 -0
- package/ux-demo/recipes/mount-recipe.ts +28 -10
- package/ux-demo/recipes/navigation-sidebar.tsx +139 -13
- package/ux-demo/recipes/navigation-stack.tsx +79 -24
- package/ux-demo/recipes/types.ts +23 -2
- package/ux-demo/recipes/workspace-header.tsx +86 -5
- package/dist/browser/menu-action-row.js +0 -4
- package/dist/browser/menu-item.js +0 -4
- package/dist/chunk-2RJBFNB6.js +0 -172
- package/dist/chunk-2RJBFNB6.js.map +0 -1
- package/dist/chunk-2Z5TWHKQ.js +0 -34
- package/dist/chunk-2Z5TWHKQ.js.map +0 -1
- package/dist/chunk-3YD6ZNRA.js +0 -34
- package/dist/chunk-3YD6ZNRA.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.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-B24C4A6T.js +0 -22
- package/dist/chunk-B24C4A6T.js.map +0 -1
- package/dist/chunk-DAFFDO33.js +0 -14
- package/dist/chunk-DAFFDO33.js.map +0 -1
- package/dist/chunk-H6URQGJI.js +0 -42
- package/dist/chunk-H6URQGJI.js.map +0 -1
- package/dist/chunk-I7INRJO4.js +0 -17
- package/dist/chunk-I7INRJO4.js.map +0 -1
- package/dist/chunk-KJYXOTG3.js +0 -10
- package/dist/chunk-KJYXOTG3.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-MBR3TYNL.js +0 -14
- package/dist/chunk-MBR3TYNL.js.map +0 -1
- package/dist/chunk-MFKMHK5W.js +0 -10
- package/dist/chunk-MFKMHK5W.js.map +0 -1
- package/dist/chunk-MQIZAD4A.js +0 -227
- package/dist/chunk-MQIZAD4A.js.map +0 -1
- package/dist/chunk-N3SUXLLS.js +0 -23
- package/dist/chunk-N3SUXLLS.js.map +0 -1
- package/dist/chunk-PONXLV5U.js +0 -19
- package/dist/chunk-PONXLV5U.js.map +0 -1
- package/dist/chunk-TZNCCM5H.js +0 -20
- package/dist/chunk-TZNCCM5H.js.map +0 -1
- package/dist/chunk-W2FK7ZNY.js +0 -26
- package/dist/chunk-W2FK7ZNY.js.map +0 -1
- package/dist/chunk-WVPYVDXY.js +0 -15
- package/dist/chunk-WVPYVDXY.js.map +0 -1
- package/dist/chunk-YGN7OMLT.js.map +0 -1
- package/dist/chunk-YKUUZPED.js +0 -24
- package/dist/chunk-YKUUZPED.js.map +0 -1
- package/dist/menu-action-row.js +0 -5
- package/dist/menu-action-row.js.map +0 -1
- package/dist/menu-header.d.ts +0 -43
- package/dist/menu-header.js +0 -7
- package/dist/menu-header.js.map +0 -1
- package/dist/menu-item.d.ts +0 -33
- package/dist/menu-item.js +0 -5
- package/dist/menu-item.js.map +0 -1
- package/dist/panel-header.d.ts +0 -28
- package/dist/panel-header.js +0 -7
- package/dist/panel-header.js.map +0 -1
- package/dist/styles/menu-action-row.css +0 -160
- package/dist/styles/menu-header.css +0 -160
- package/dist/styles/menu-item.css +0 -123
- package/dist/styles/panel-header.css +0 -64
- package/ux-demo/recipes/master-detail-dialog.tsx +0 -45
- package/ux-demo/recipes/recipes.css +0 -355
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Tab Panel
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-tab-panel` · Web Awesome · component · Navigation · recommendation: conditional
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Ecosystem tab panel; prefer app-owned panels with Kerf navigation.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
**Alternatives:**
|
|
16
|
+
|
|
17
|
+
- [TabBar](./tab-bar.md) (prefer-kerf)
|
|
18
|
+
|
|
19
|
+
## Imports
|
|
20
|
+
|
|
21
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
22
|
+
- Registration: import `@awesome.me/webawesome/dist/components/tab-panel/tab-panel.js` once (a side effect).
|
|
23
|
+
- Custom element: `<wa-tab-panel>`.
|
|
24
|
+
- Declared side effects: custom-element-registration.
|
|
25
|
+
|
|
26
|
+
## Props
|
|
27
|
+
|
|
28
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
29
|
+
|
|
30
|
+
## Composition
|
|
31
|
+
|
|
32
|
+
- Parents: any.
|
|
33
|
+
- Contexts: `application-ui`.
|
|
34
|
+
- Children: unrestricted.
|
|
35
|
+
|
|
36
|
+
## State and wiring
|
|
37
|
+
|
|
38
|
+
No wiring helper.
|
|
39
|
+
|
|
40
|
+
## Geometry
|
|
41
|
+
|
|
42
|
+
Margin: none · border: none · padding: conditional (layout role: navigation). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
43
|
+
|
|
44
|
+
- Container-mode tab panels own the themed container inset; uncontained panels do not.
|
|
45
|
+
|
|
46
|
+
## Accessibility
|
|
47
|
+
|
|
48
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
49
|
+
|
|
50
|
+
## Styling boundary
|
|
51
|
+
|
|
52
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
53
|
+
|
|
54
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
55
|
+
|
|
56
|
+
## Related
|
|
57
|
+
|
|
58
|
+
- Components: [TabBar](./tab-bar.md).
|
|
59
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
60
|
+
- UX catalog route: `?component=wa-tab-panel`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Tab
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-tab` · Web Awesome · component · Navigation · recommendation: conditional
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Ecosystem tab label; prefer Kerf TabBar or SegmentedControl.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
**Alternatives:**
|
|
16
|
+
|
|
17
|
+
- [TabBar](./tab-bar.md) (prefer-kerf)
|
|
18
|
+
- [SegmentedControl](./segmented-control.md) (prefer-kerf)
|
|
19
|
+
|
|
20
|
+
## Imports
|
|
21
|
+
|
|
22
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
23
|
+
- Registration: import `@awesome.me/webawesome/dist/components/tab/tab.js` once (a side effect).
|
|
24
|
+
- Custom element: `<wa-tab>`.
|
|
25
|
+
- Declared side effects: custom-element-registration.
|
|
26
|
+
|
|
27
|
+
## Props
|
|
28
|
+
|
|
29
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
30
|
+
|
|
31
|
+
## Composition
|
|
32
|
+
|
|
33
|
+
- Parents: any.
|
|
34
|
+
- Contexts: `application-ui`.
|
|
35
|
+
- Children: unrestricted.
|
|
36
|
+
|
|
37
|
+
## State and wiring
|
|
38
|
+
|
|
39
|
+
No wiring helper.
|
|
40
|
+
|
|
41
|
+
## Geometry
|
|
42
|
+
|
|
43
|
+
Margin: none · border: self · padding: self (layout role: navigation). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
44
|
+
|
|
45
|
+
## Accessibility
|
|
46
|
+
|
|
47
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
48
|
+
|
|
49
|
+
## Styling boundary
|
|
50
|
+
|
|
51
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
52
|
+
|
|
53
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
54
|
+
|
|
55
|
+
## Related
|
|
56
|
+
|
|
57
|
+
- Components: [TabBar](./tab-bar.md), [SegmentedControl](./segmented-control.md).
|
|
58
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
59
|
+
- UX catalog route: `?component=wa-tab`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Tag
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-tag` · Web Awesome · component · Feedback · recommendation: supported
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Compact categorization label with optional removal action.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
**Alternatives:**
|
|
16
|
+
|
|
17
|
+
- [TokenSearchField](./token-search-field.md) (prefer-kerf)
|
|
18
|
+
|
|
19
|
+
## Imports
|
|
20
|
+
|
|
21
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
22
|
+
- Registration: import `@awesome.me/webawesome/dist/components/tag/tag.js` once (a side effect).
|
|
23
|
+
- Custom element: `<wa-tag>`.
|
|
24
|
+
- Declared side effects: custom-element-registration.
|
|
25
|
+
|
|
26
|
+
## Props
|
|
27
|
+
|
|
28
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
29
|
+
|
|
30
|
+
## Composition
|
|
31
|
+
|
|
32
|
+
- Parents: any.
|
|
33
|
+
- Contexts: `application-ui`.
|
|
34
|
+
- Children: unrestricted.
|
|
35
|
+
- Built from: [Button](./wa-button.md).
|
|
36
|
+
|
|
37
|
+
## State and wiring
|
|
38
|
+
|
|
39
|
+
No wiring helper.
|
|
40
|
+
|
|
41
|
+
## Geometry
|
|
42
|
+
|
|
43
|
+
Margin: none · border: self · padding: self (layout role: feedback). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
44
|
+
|
|
45
|
+
## Accessibility
|
|
46
|
+
|
|
47
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
48
|
+
|
|
49
|
+
## Styling boundary
|
|
50
|
+
|
|
51
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
52
|
+
|
|
53
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
54
|
+
|
|
55
|
+
## Related
|
|
56
|
+
|
|
57
|
+
- Components: [Button](./wa-button.md), [TokenSearchField](./token-search-field.md).
|
|
58
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
59
|
+
- UX catalog route: `?component=wa-tag`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Textarea
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-textarea` · Web Awesome · component · Forms · recommendation: supported
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Multiline text field with labels, hints, and resize behavior.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
## Imports
|
|
16
|
+
|
|
17
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
18
|
+
- Registration: import `@awesome.me/webawesome/dist/components/textarea/textarea.js` once (a side effect).
|
|
19
|
+
- Custom element: `<wa-textarea>`.
|
|
20
|
+
- Declared side effects: custom-element-registration.
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
25
|
+
|
|
26
|
+
## Composition
|
|
27
|
+
|
|
28
|
+
- Parents: any.
|
|
29
|
+
- Contexts: `application-ui`.
|
|
30
|
+
- Children: unrestricted.
|
|
31
|
+
|
|
32
|
+
## State and wiring
|
|
33
|
+
|
|
34
|
+
No wiring helper.
|
|
35
|
+
|
|
36
|
+
## Geometry
|
|
37
|
+
|
|
38
|
+
Margin: none · border: self · padding: self (layout role: forms). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
39
|
+
|
|
40
|
+
## Accessibility
|
|
41
|
+
|
|
42
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
43
|
+
|
|
44
|
+
## Styling boundary
|
|
45
|
+
|
|
46
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
47
|
+
|
|
48
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
49
|
+
|
|
50
|
+
## Related
|
|
51
|
+
|
|
52
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
53
|
+
- UX catalog route: `?component=wa-textarea`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Time Input
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-time-input` · Web Awesome · component · Forms · recommendation: supported
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Experimental segmented time field with an optional picker.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
## Imports
|
|
16
|
+
|
|
17
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
18
|
+
- Registration: import `@awesome.me/webawesome/dist/components/time-input/time-input.js` once (a side effect).
|
|
19
|
+
- Custom element: `<wa-time-input>`.
|
|
20
|
+
- Declared side effects: custom-element-registration.
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
25
|
+
|
|
26
|
+
## Composition
|
|
27
|
+
|
|
28
|
+
- Parents: any.
|
|
29
|
+
- Contexts: `application-ui`.
|
|
30
|
+
- Children: unrestricted.
|
|
31
|
+
- Built from: [Icon](./wa-icon.md), [Popup](./wa-popup.md).
|
|
32
|
+
|
|
33
|
+
## State and wiring
|
|
34
|
+
|
|
35
|
+
No wiring helper.
|
|
36
|
+
|
|
37
|
+
## Geometry
|
|
38
|
+
|
|
39
|
+
Margin: none · border: self · padding: self (layout role: forms). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
40
|
+
|
|
41
|
+
## Accessibility
|
|
42
|
+
|
|
43
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
44
|
+
|
|
45
|
+
## Styling boundary
|
|
46
|
+
|
|
47
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
48
|
+
|
|
49
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
50
|
+
|
|
51
|
+
## Related
|
|
52
|
+
|
|
53
|
+
- Components: [Icon](./wa-icon.md), [Popup](./wa-popup.md).
|
|
54
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
55
|
+
- UX catalog route: `?component=wa-time-input`.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Toast Item
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-toast-item` · Web Awesome · component · Feedback · recommendation: supported
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
One dismissible notification inside a toast stack.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
**Alternatives:**
|
|
16
|
+
|
|
17
|
+
- [StateBanner](./state-banner.md) (prefer-kerf)
|
|
18
|
+
- [EmptyState](./empty-state.md) (prefer-kerf)
|
|
19
|
+
|
|
20
|
+
## Imports
|
|
21
|
+
|
|
22
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
23
|
+
- Registration: import `@awesome.me/webawesome/dist/components/toast-item/toast-item.js` once (a side effect).
|
|
24
|
+
- Custom element: `<wa-toast-item>`.
|
|
25
|
+
- Declared side effects: custom-element-registration.
|
|
26
|
+
|
|
27
|
+
## Props
|
|
28
|
+
|
|
29
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
30
|
+
|
|
31
|
+
## Composition
|
|
32
|
+
|
|
33
|
+
- Parents: any.
|
|
34
|
+
- Contexts: `application-ui`.
|
|
35
|
+
- Children: unrestricted.
|
|
36
|
+
- Built from: [Icon](./wa-icon.md), [Progress Ring](./wa-progress-ring.md).
|
|
37
|
+
|
|
38
|
+
## State and wiring
|
|
39
|
+
|
|
40
|
+
No wiring helper.
|
|
41
|
+
|
|
42
|
+
## Geometry
|
|
43
|
+
|
|
44
|
+
Margin: none · border: self · padding: self (layout role: feedback). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
45
|
+
|
|
46
|
+
## Accessibility
|
|
47
|
+
|
|
48
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
49
|
+
|
|
50
|
+
## Styling boundary
|
|
51
|
+
|
|
52
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
53
|
+
|
|
54
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
55
|
+
|
|
56
|
+
## Related
|
|
57
|
+
|
|
58
|
+
- Components: [Icon](./wa-icon.md), [Progress Ring](./wa-progress-ring.md), [StateBanner](./state-banner.md), [EmptyState](./empty-state.md).
|
|
59
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
60
|
+
- UX catalog route: `?component=wa-toast-item`.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Toast
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-toast` · Web Awesome · component · Feedback · recommendation: supported
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Placement-aware stack of transient notifications.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
**Alternatives:**
|
|
16
|
+
|
|
17
|
+
- [StateBanner](./state-banner.md) (prefer-kerf)
|
|
18
|
+
- [EmptyState](./empty-state.md) (prefer-kerf)
|
|
19
|
+
|
|
20
|
+
## Imports
|
|
21
|
+
|
|
22
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
23
|
+
- Registration: import `@awesome.me/webawesome/dist/components/toast/toast.js` once (a side effect).
|
|
24
|
+
- Custom element: `<wa-toast>`.
|
|
25
|
+
- Declared side effects: custom-element-registration.
|
|
26
|
+
|
|
27
|
+
## Props
|
|
28
|
+
|
|
29
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
30
|
+
|
|
31
|
+
## Composition
|
|
32
|
+
|
|
33
|
+
- Parents: any.
|
|
34
|
+
- Contexts: `application-ui`.
|
|
35
|
+
- Children: unrestricted.
|
|
36
|
+
- Built from: [Toast Item](./wa-toast-item.md).
|
|
37
|
+
|
|
38
|
+
## State and wiring
|
|
39
|
+
|
|
40
|
+
No wiring helper.
|
|
41
|
+
|
|
42
|
+
## Geometry
|
|
43
|
+
|
|
44
|
+
Margin: none · border: child · padding: child (layout role: feedback). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
45
|
+
|
|
46
|
+
## Accessibility
|
|
47
|
+
|
|
48
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
49
|
+
|
|
50
|
+
## Styling boundary
|
|
51
|
+
|
|
52
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
53
|
+
|
|
54
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
55
|
+
|
|
56
|
+
## Related
|
|
57
|
+
|
|
58
|
+
- Components: [Toast Item](./wa-toast-item.md), [StateBanner](./state-banner.md), [EmptyState](./empty-state.md).
|
|
59
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
60
|
+
- UX catalog route: `?component=wa-toast`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Tooltip
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-tooltip` · Web Awesome · component · Feedback · recommendation: supported
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Brief contextual label anchored to a control.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
## Imports
|
|
16
|
+
|
|
17
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
18
|
+
- Registration: import `@awesome.me/webawesome/dist/components/tooltip/tooltip.js` once (a side effect).
|
|
19
|
+
- Custom element: `<wa-tooltip>`.
|
|
20
|
+
- Declared side effects: custom-element-registration.
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
25
|
+
|
|
26
|
+
## Composition
|
|
27
|
+
|
|
28
|
+
- Parents: any.
|
|
29
|
+
- Contexts: `application-ui`.
|
|
30
|
+
- Children: unrestricted.
|
|
31
|
+
- Built from: [Popup](./wa-popup.md).
|
|
32
|
+
|
|
33
|
+
## State and wiring
|
|
34
|
+
|
|
35
|
+
No wiring helper.
|
|
36
|
+
|
|
37
|
+
## Geometry
|
|
38
|
+
|
|
39
|
+
Margin: none · border: self · padding: self (layout role: feedback). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
40
|
+
|
|
41
|
+
## Accessibility
|
|
42
|
+
|
|
43
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
44
|
+
|
|
45
|
+
## Styling boundary
|
|
46
|
+
|
|
47
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
48
|
+
|
|
49
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
50
|
+
|
|
51
|
+
## Related
|
|
52
|
+
|
|
53
|
+
- Components: [Popup](./wa-popup.md).
|
|
54
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
55
|
+
- UX catalog route: `?component=wa-tooltip`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Tree Item
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-tree-item` · Web Awesome · component · Navigation · recommendation: exceptional
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Specialized tree row; use only as part of a required tree.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
## Imports
|
|
16
|
+
|
|
17
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
18
|
+
- Registration: import `@awesome.me/webawesome/dist/components/tree-item/tree-item.js` once (a side effect).
|
|
19
|
+
- Custom element: `<wa-tree-item>`.
|
|
20
|
+
- Declared side effects: custom-element-registration.
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
25
|
+
|
|
26
|
+
## Composition
|
|
27
|
+
|
|
28
|
+
- Parents: any.
|
|
29
|
+
- Contexts: `application-ui`.
|
|
30
|
+
- Children: unrestricted.
|
|
31
|
+
- Built from: [Checkbox](./wa-checkbox.md), [Icon](./wa-icon.md), [Spinner](./wa-spinner.md).
|
|
32
|
+
|
|
33
|
+
## State and wiring
|
|
34
|
+
|
|
35
|
+
No wiring helper.
|
|
36
|
+
|
|
37
|
+
## Geometry
|
|
38
|
+
|
|
39
|
+
Margin: none · border: self · padding: self (layout role: navigation). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
40
|
+
|
|
41
|
+
## Accessibility
|
|
42
|
+
|
|
43
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
44
|
+
|
|
45
|
+
## Styling boundary
|
|
46
|
+
|
|
47
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
48
|
+
|
|
49
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
50
|
+
|
|
51
|
+
## Related
|
|
52
|
+
|
|
53
|
+
- Components: [Checkbox](./wa-checkbox.md), [Icon](./wa-icon.md), [Spinner](./wa-spinner.md).
|
|
54
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
55
|
+
- UX catalog route: `?component=wa-tree-item`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Tree
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-tree` · Web Awesome · component · Navigation · recommendation: exceptional
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Specialized hierarchy; use only when the product requires tree behavior.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
## Imports
|
|
16
|
+
|
|
17
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
18
|
+
- Registration: import `@awesome.me/webawesome/dist/components/tree/tree.js` once (a side effect).
|
|
19
|
+
- Custom element: `<wa-tree>`.
|
|
20
|
+
- Declared side effects: custom-element-registration.
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
25
|
+
|
|
26
|
+
## Composition
|
|
27
|
+
|
|
28
|
+
- Parents: any.
|
|
29
|
+
- Contexts: `application-ui`.
|
|
30
|
+
- Children: unrestricted.
|
|
31
|
+
- Built from: [Tree Item](./wa-tree-item.md).
|
|
32
|
+
|
|
33
|
+
## State and wiring
|
|
34
|
+
|
|
35
|
+
No wiring helper.
|
|
36
|
+
|
|
37
|
+
## Geometry
|
|
38
|
+
|
|
39
|
+
Margin: none · border: child · padding: child (layout role: navigation). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
40
|
+
|
|
41
|
+
## Accessibility
|
|
42
|
+
|
|
43
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
44
|
+
|
|
45
|
+
## Styling boundary
|
|
46
|
+
|
|
47
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
48
|
+
|
|
49
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
50
|
+
|
|
51
|
+
## Related
|
|
52
|
+
|
|
53
|
+
- Components: [Tree Item](./wa-tree-item.md).
|
|
54
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
55
|
+
- UX catalog route: `?component=wa-tree`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Zoomable Frame
|
|
2
|
+
|
|
3
|
+
<!-- Generated by scripts/sync-component-docs.mjs from ai/component-catalog.json and ai/component-composition.json. Do not edit; run `npm run catalog:sync`. -->
|
|
4
|
+
|
|
5
|
+
`@kerfjs/ui:wa-zoomable-frame` · Web Awesome · component · Media · recommendation: avoid
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Avoid for application UI; keep embedded-media behavior application-owned.
|
|
10
|
+
|
|
11
|
+
**Not when:**
|
|
12
|
+
|
|
13
|
+
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
|
|
15
|
+
## Imports
|
|
16
|
+
|
|
17
|
+
- Theme CSS: import `@kerfjs/ui/webawesome.css` once.
|
|
18
|
+
- Registration: import `@awesome.me/webawesome/dist/components/zoomable-frame/zoomable-frame.js` once (a side effect).
|
|
19
|
+
- Custom element: `<wa-zoomable-frame>`.
|
|
20
|
+
- Declared side effects: custom-element-registration.
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Typed JSX attributes: [`webawesome-jsx-signatures-v1.md`](../webawesome-jsx-signatures-v1.md) (import `@kerfjs/ui/webawesome` for types only). Use the Web Awesome attribute API; do not reach into its shadow DOM.
|
|
25
|
+
|
|
26
|
+
## Composition
|
|
27
|
+
|
|
28
|
+
- Parents: any.
|
|
29
|
+
- Contexts: `application-ui`.
|
|
30
|
+
- Children: unrestricted.
|
|
31
|
+
- Built from: [Icon](./wa-icon.md).
|
|
32
|
+
|
|
33
|
+
## State and wiring
|
|
34
|
+
|
|
35
|
+
No wiring helper.
|
|
36
|
+
|
|
37
|
+
## Geometry
|
|
38
|
+
|
|
39
|
+
Margin: none · border: self · padding: child (layout role: media). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
40
|
+
|
|
41
|
+
## Accessibility
|
|
42
|
+
|
|
43
|
+
No component-specific obligations beyond native semantics and a visible or accessible name for every control.
|
|
44
|
+
|
|
45
|
+
## Styling boundary
|
|
46
|
+
|
|
47
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
48
|
+
|
|
49
|
+
Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not restyle its shadow DOM or uncataloged `::part()` targets (`KUI-L011`).
|
|
50
|
+
|
|
51
|
+
## Related
|
|
52
|
+
|
|
53
|
+
- Components: [Icon](./wa-icon.md).
|
|
54
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-overlap-policy`](../../docs/component-selection.md#web-awesome-overlap-policy).
|
|
55
|
+
- UX catalog route: `?component=wa-zoomable-frame`.
|