@kerfjs/ui 5.0.0-beta.103 → 5.0.0-beta.105
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 +163 -116
- package/ai/application-ui-profile.defaults.json +125 -4
- package/ai/compile-time-contracts-v1.json +11 -11
- package/ai/component-catalog.json +2606 -627
- package/ai/component-composition-rules.json +11 -10
- package/ai/component-composition.json +1689 -300
- package/ai/components/README.md +66 -48
- package/ai/components/application-tabs.md +4 -4
- package/ai/components/badge.md +1 -0
- package/ai/components/button.md +91 -0
- package/ai/components/checkbox.md +89 -0
- package/ai/components/choice-chips.md +9 -3
- package/ai/components/color-field.md +92 -0
- package/ai/components/color-picker.md +90 -0
- package/ai/components/color-swatches.md +82 -0
- package/ai/components/combobox.md +6 -4
- package/ai/components/content-item.md +5 -2
- package/ai/components/disclosure.md +83 -0
- package/ai/components/file-picker.md +1 -0
- package/ai/components/foundation.md +1 -1
- package/ai/components/list-action-row.md +3 -3
- package/ai/components/list-detail-dialog.md +90 -0
- package/ai/components/list.md +2 -0
- package/ai/components/lucide-icon.md +2 -0
- package/ai/components/{composer.md → message-composer.md} +17 -16
- package/ai/components/pane.md +3 -1
- package/ai/components/popup-menu.md +12 -9
- package/ai/components/progress-bar.md +82 -0
- package/ai/components/progress-ring.md +80 -0
- package/ai/components/radio-group.md +88 -0
- package/ai/components/recipe-list-detail-dialog.md +5 -5
- package/ai/components/search-field.md +108 -0
- package/ai/components/select.md +15 -13
- package/ai/components/slider.md +84 -0
- package/ai/components/surface-scaffold.md +16 -13
- package/ai/components/switch.md +81 -0
- package/ai/components/tab-bar.md +6 -6
- package/ai/components/tab-navigator.md +2 -2
- package/ai/components/tabs.md +7 -7
- package/ai/components/tag-field.md +86 -0
- package/ai/components/text-field.md +98 -0
- package/ai/components/text.md +1 -0
- package/ai/components/toast.md +85 -0
- package/ai/components/toolbar-control-group.md +3 -3
- package/ai/components/tooltip.md +81 -0
- package/ai/components/wa-accordion-item.md +11 -5
- package/ai/components/wa-accordion.md +11 -5
- package/ai/components/wa-animated-image.md +2 -1
- package/ai/components/wa-animation.md +1 -0
- package/ai/components/wa-avatar.md +1 -0
- package/ai/components/wa-badge.md +10 -3
- package/ai/components/wa-breadcrumb-item.md +1 -0
- package/ai/components/wa-breadcrumb.md +1 -0
- package/ai/components/wa-button-group.md +6 -4
- package/ai/components/wa-button.md +7 -5
- package/ai/components/wa-callout.md +7 -5
- package/ai/components/wa-card.md +12 -4
- package/ai/components/wa-carousel-item.md +1 -0
- package/ai/components/wa-carousel.md +1 -0
- package/ai/components/wa-checkbox-group.md +11 -4
- package/ai/components/wa-checkbox.md +10 -4
- package/ai/components/wa-color-picker.md +13 -5
- package/ai/components/wa-comparison.md +2 -1
- package/ai/components/wa-copy-button.md +1 -0
- package/ai/components/wa-details.md +11 -5
- package/ai/components/wa-dialog.md +10 -4
- package/ai/components/wa-divider.md +1 -0
- package/ai/components/wa-drawer.md +12 -5
- package/ai/components/wa-dropdown-item.md +8 -6
- package/ai/components/wa-dropdown.md +8 -6
- package/ai/components/wa-format-bytes.md +1 -0
- package/ai/components/wa-format-date.md +1 -0
- package/ai/components/wa-format-number.md +1 -0
- package/ai/components/wa-icon.md +2 -1
- package/ai/components/wa-include.md +6 -4
- package/ai/components/wa-input.md +9 -6
- package/ai/components/wa-intersection-observer.md +1 -0
- package/ai/components/wa-known-date.md +1 -0
- package/ai/components/wa-markdown.md +1 -0
- package/ai/components/wa-mutation-observer.md +1 -0
- package/ai/components/wa-number-input.md +1 -0
- package/ai/components/wa-option.md +7 -5
- package/ai/components/wa-otp-input.md +1 -0
- package/ai/components/wa-page.md +13 -4
- package/ai/components/wa-pagination.md +1 -0
- package/ai/components/wa-popover.md +11 -5
- package/ai/components/wa-popup.md +11 -4
- package/ai/components/wa-progress-bar.md +11 -4
- package/ai/components/wa-progress-ring.md +11 -4
- package/ai/components/wa-qr-code.md +1 -0
- package/ai/components/wa-radio-group.md +12 -4
- package/ai/components/wa-radio.md +10 -4
- package/ai/components/wa-random-content.md +1 -0
- package/ai/components/wa-rating.md +1 -0
- package/ai/components/wa-relative-time.md +1 -0
- package/ai/components/wa-resize-observer.md +1 -0
- package/ai/components/wa-scroller.md +12 -4
- package/ai/components/wa-select.md +7 -5
- package/ai/components/wa-skeleton.md +10 -3
- package/ai/components/wa-slider.md +11 -5
- package/ai/components/wa-spinner.md +7 -5
- package/ai/components/wa-split-panel.md +7 -5
- package/ai/components/wa-step.md +56 -0
- package/ai/components/wa-stepper.md +56 -0
- package/ai/components/wa-switch.md +10 -3
- package/ai/components/wa-tab-group.md +8 -6
- package/ai/components/wa-tab-panel.md +7 -5
- package/ai/components/wa-tab.md +8 -6
- package/ai/components/wa-tag-input.md +62 -0
- package/ai/components/wa-tag.md +9 -6
- package/ai/components/wa-textarea.md +10 -3
- package/ai/components/wa-time-input.md +1 -0
- package/ai/components/wa-toast-item.md +9 -7
- package/ai/components/wa-toast.md +9 -7
- package/ai/components/wa-tooltip.md +11 -5
- package/ai/components/wa-tree-item.md +2 -1
- package/ai/components/wa-tree.md +2 -1
- package/ai/components/wa-zoomable-frame.md +2 -1
- package/ai/components/workbench-dialog.md +90 -0
- package/ai/public-api-signatures-v1.md +1577 -245
- package/ai/skill.md +83 -50
- package/ai/webawesome-jsx-signatures-v1.md +4 -1
- package/dist/badge.d.ts +9 -1
- package/dist/badge.js +1 -1
- package/dist/browser/button.js +5 -0
- package/dist/browser/catalog.js +3 -2
- package/dist/browser/{icon-button.js → checkbox.js} +2 -2
- package/dist/browser/color-field.js +4 -0
- package/dist/browser/color-picker.js +5 -0
- package/dist/browser/color-swatches.js +3 -0
- package/dist/browser/disclosure.js +5 -0
- package/dist/browser/list-action-row.js +1 -0
- package/dist/browser/list-detail-dialog.js +14 -0
- package/dist/browser/message-composer.js +5 -0
- package/dist/browser/popup-menu.js +1 -0
- package/dist/browser/progress-bar.js +3 -0
- package/dist/browser/progress-ring.js +3 -0
- package/dist/browser/radio-group.js +3 -0
- package/dist/browser/search-field.js +4 -0
- package/dist/browser/slider.js +3 -0
- package/dist/browser/surface-scaffold.js +1 -0
- package/dist/browser/switch.js +3 -0
- package/dist/browser/tab-bar-item.js +4 -0
- package/dist/browser/tag-field.js +5 -0
- package/dist/browser/text-field.js +4 -0
- package/dist/browser/workbench-dialog.js +15 -0
- package/dist/button.d.ts +108 -0
- package/dist/button.js +7 -0
- package/dist/button.js.map +1 -0
- package/dist/catalog-resources.d.ts +1 -1
- package/dist/catalog.d.ts +3 -3
- package/dist/catalog.js +57 -27
- package/dist/catalog.js.map +1 -1
- package/dist/checkbox.d.ts +45 -0
- package/dist/checkbox.js +6 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/choice-chips.d.ts +49 -15
- package/dist/choice-chips.js +1 -1
- package/dist/chunk-23PPPNH6.js +93 -0
- package/dist/chunk-23PPPNH6.js.map +1 -0
- package/dist/{chunk-FNZQOUZ5.js → chunk-2FW7D4IG.js} +2 -2
- package/dist/{chunk-FNZQOUZ5.js.map → chunk-2FW7D4IG.js.map} +1 -1
- package/dist/{chunk-ZYU5WRC3.js → chunk-3GLYIIFR.js} +2 -2
- package/dist/{chunk-ZYU5WRC3.js.map → chunk-3GLYIIFR.js.map} +1 -1
- package/dist/{chunk-5NQF35VO.js → chunk-4RECPEHI.js} +2 -2
- package/dist/{chunk-5NQF35VO.js.map → chunk-4RECPEHI.js.map} +1 -1
- package/dist/{chunk-7IUEBNCO.js → chunk-5USKCWGL.js} +8 -3
- package/dist/chunk-5USKCWGL.js.map +1 -0
- package/dist/chunk-6VVIW7VB.js +69 -0
- package/dist/chunk-6VVIW7VB.js.map +1 -0
- package/dist/{chunk-LL45C7BB.js → chunk-7K6U6FCN.js} +1 -1
- package/dist/chunk-7K6U6FCN.js.map +1 -0
- package/dist/{chunk-HQZYKJ56.js → chunk-7W3GKMN4.js} +110 -74
- package/dist/chunk-7W3GKMN4.js.map +1 -0
- package/dist/chunk-ACUKTVS3.js +371 -0
- package/dist/chunk-ACUKTVS3.js.map +1 -0
- package/dist/{chunk-YQ2AC4E2.js → chunk-AMIHGFLP.js} +2 -2
- package/dist/{chunk-YQ2AC4E2.js.map → chunk-AMIHGFLP.js.map} +1 -1
- package/dist/chunk-ATGAJVZ6.js +268 -0
- package/dist/chunk-ATGAJVZ6.js.map +1 -0
- package/dist/chunk-AYPGXR2E.js +20 -0
- package/dist/chunk-AYPGXR2E.js.map +1 -0
- package/dist/{chunk-ETCWQLJV.js → chunk-BKUMG2KB.js} +38 -28
- package/dist/chunk-BKUMG2KB.js.map +1 -0
- package/dist/chunk-C26Q6P4Q.js +76 -0
- package/dist/chunk-C26Q6P4Q.js.map +1 -0
- package/dist/chunk-C3RLKKFQ.js +452 -0
- package/dist/chunk-C3RLKKFQ.js.map +1 -0
- package/dist/{chunk-IM3GKYOG.js → chunk-CIAUILRR.js} +52 -32
- package/dist/chunk-CIAUILRR.js.map +1 -0
- package/dist/chunk-CNM6ZWP2.js +38 -0
- package/dist/chunk-CNM6ZWP2.js.map +1 -0
- package/dist/{chunk-LPHU44S3.js → chunk-CTQUDCY5.js} +3 -1
- package/dist/chunk-CTQUDCY5.js.map +1 -0
- package/dist/{chunk-MXNIVEVL.js → chunk-D4MXSAMI.js} +5 -3
- package/dist/chunk-D4MXSAMI.js.map +1 -0
- package/dist/{chunk-YBWQR2OK.js → chunk-DDSCVEO5.js} +10 -9
- package/dist/chunk-DDSCVEO5.js.map +1 -0
- package/dist/{chunk-SIW64V65.js → chunk-DF2YKGIX.js} +3 -3
- package/dist/{chunk-SIW64V65.js.map → chunk-DF2YKGIX.js.map} +1 -1
- package/dist/{chunk-3SKAEPPZ.js → chunk-ECFCAKWE.js} +4 -4
- package/dist/{chunk-3SKAEPPZ.js.map → chunk-ECFCAKWE.js.map} +1 -1
- package/dist/chunk-EKBMUXFV.js +298 -0
- package/dist/chunk-EKBMUXFV.js.map +1 -0
- package/dist/{chunk-IXLUZHGT.js → chunk-FG6U7KQQ.js} +5 -5
- package/dist/{chunk-IXLUZHGT.js.map → chunk-FG6U7KQQ.js.map} +1 -1
- package/dist/chunk-FKKJHGN5.js +147 -0
- package/dist/chunk-FKKJHGN5.js.map +1 -0
- package/dist/{chunk-FDZNYD4C.js → chunk-GCAK23PU.js} +34 -3
- package/dist/chunk-GCAK23PU.js.map +1 -0
- package/dist/chunk-GXSX6Q6O.js +42 -0
- package/dist/chunk-GXSX6Q6O.js.map +1 -0
- package/dist/{chunk-LOSRXZAH.js → chunk-HJXVVFBT.js} +14 -6
- package/dist/chunk-HJXVVFBT.js.map +1 -0
- package/dist/{chunk-M5KZ26VV.js → chunk-HQZG3OFL.js} +11 -1
- package/dist/chunk-HQZG3OFL.js.map +1 -0
- package/dist/{chunk-ELCMSQNJ.js → chunk-HTERKONR.js} +8 -8
- package/dist/chunk-HTERKONR.js.map +1 -0
- package/dist/chunk-HYORKKYP.js +8 -0
- package/dist/chunk-HYORKKYP.js.map +1 -0
- package/dist/chunk-IO27YTL3.js +73 -0
- package/dist/chunk-IO27YTL3.js.map +1 -0
- package/dist/chunk-ITUQC4FW.js +163 -0
- package/dist/chunk-ITUQC4FW.js.map +1 -0
- package/dist/chunk-K57NINLH.js +137 -0
- package/dist/chunk-K57NINLH.js.map +1 -0
- package/dist/chunk-KC6WUSNS.js +34 -0
- package/dist/chunk-KC6WUSNS.js.map +1 -0
- package/dist/{chunk-W4IK7AWD.js → chunk-KDQZ3E5C.js} +3 -1
- package/dist/chunk-KDQZ3E5C.js.map +1 -0
- package/dist/{chunk-2MSPNRWJ.js → chunk-KK3S5OTW.js} +27 -11
- package/dist/chunk-KK3S5OTW.js.map +1 -0
- package/dist/chunk-LTBVP6VN.js +59 -0
- package/dist/chunk-LTBVP6VN.js.map +1 -0
- package/dist/chunk-OHPYT2BH.js +82 -0
- package/dist/chunk-OHPYT2BH.js.map +1 -0
- package/dist/{chunk-HZPHCSCS.js → chunk-OY2MXIBB.js} +8 -2
- package/dist/chunk-OY2MXIBB.js.map +1 -0
- package/dist/chunk-PE2KPZDW.js +85 -0
- package/dist/chunk-PE2KPZDW.js.map +1 -0
- package/dist/{chunk-QTSMHH5J.js → chunk-QPTJ5DOO.js} +5 -3
- package/dist/chunk-QPTJ5DOO.js.map +1 -0
- package/dist/{chunk-JOR5LGYE.js → chunk-RFLW4FPL.js} +1 -1
- package/dist/chunk-RFLW4FPL.js.map +1 -0
- package/dist/{chunk-U6QYTMDB.js → chunk-RMWNO6BA.js} +6 -2
- package/dist/chunk-RMWNO6BA.js.map +1 -0
- package/dist/{chunk-TDMHA7C3.js → chunk-SQ2Q3OQI.js} +112 -63
- package/dist/chunk-SQ2Q3OQI.js.map +1 -0
- package/dist/{chunk-K4AT3V3J.js → chunk-T74YB76U.js} +13 -11
- package/dist/chunk-T74YB76U.js.map +1 -0
- package/dist/{chunk-BYFTHA4I.js → chunk-TAHR457X.js} +53 -6
- package/dist/chunk-TAHR457X.js.map +1 -0
- package/dist/{chunk-3VXDSIBJ.js → chunk-TKNVL53O.js} +2 -2
- package/dist/{chunk-3VXDSIBJ.js.map → chunk-TKNVL53O.js.map} +1 -1
- package/dist/chunk-TNJLNLVE.js +115 -0
- package/dist/chunk-TNJLNLVE.js.map +1 -0
- package/dist/chunk-TUID42UE.js +15 -0
- package/dist/chunk-TUID42UE.js.map +1 -0
- package/dist/{chunk-PKL6QJKK.js → chunk-UMNHJSIO.js} +93 -80
- package/dist/chunk-UMNHJSIO.js.map +1 -0
- package/dist/chunk-UTCAOOXU.js +116 -0
- package/dist/chunk-UTCAOOXU.js.map +1 -0
- package/dist/{chunk-MF6ZUUJZ.js → chunk-VEME3D7K.js} +38 -40
- package/dist/chunk-VEME3D7K.js.map +1 -0
- package/dist/{chunk-HLDRH23D.js → chunk-WJKHLOP5.js} +2 -2
- package/dist/{chunk-HLDRH23D.js.map → chunk-WJKHLOP5.js.map} +1 -1
- package/dist/chunk-WU57BYYM.js +115 -0
- package/dist/chunk-WU57BYYM.js.map +1 -0
- package/dist/{chunk-TGLUDQP2.js → chunk-ZCDRLN3B.js} +11 -11
- package/dist/chunk-ZCDRLN3B.js.map +1 -0
- package/dist/chunk-ZX2QQJXD.js +249 -0
- package/dist/chunk-ZX2QQJXD.js.map +1 -0
- package/dist/{chunk-6E2H2E5A.js → chunk-ZXZAECHZ.js} +6 -6
- package/dist/{chunk-6E2H2E5A.js.map → chunk-ZXZAECHZ.js.map} +1 -1
- package/dist/collapsible-panel.js +3 -3
- package/dist/color-field.d.ts +51 -0
- package/dist/color-field.js +92 -0
- package/dist/color-field.js.map +1 -0
- package/dist/color-picker.d.ts +88 -0
- package/dist/color-picker.js +8 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/color-swatches.d.ts +56 -0
- package/dist/color-swatches.js +4 -0
- package/dist/color-swatches.js.map +1 -0
- package/dist/combobox.js +1 -1
- package/dist/content-item.d.ts +13 -1
- package/dist/content-item.js +1 -1
- package/dist/disclosure-arrow.js +1 -1
- package/dist/disclosure.d.ts +57 -0
- package/dist/disclosure.js +51 -0
- package/dist/disclosure.js.map +1 -0
- package/dist/file-picker.d.ts +7 -0
- package/dist/file-picker.js +1 -1
- package/dist/help-tags-register.d.ts +8 -8
- package/dist/help-tags-register.js +3 -2
- package/dist/help-tags-register.js.map +1 -1
- package/dist/index.d.ts +16 -9
- package/dist/index.js +58 -46
- package/dist/list-action-row.js +4 -1
- package/dist/list-detail-dialog.d.ts +117 -0
- package/dist/list-detail-dialog.js +165 -0
- package/dist/list-detail-dialog.js.map +1 -0
- package/dist/list-header.js +1 -1
- package/dist/list-item.js +1 -1
- package/dist/list.d.ts +17 -2
- package/dist/list.js +1 -1
- package/dist/lucide-icon.d.ts +9 -1
- package/dist/lucide-icon.js +1 -1
- package/dist/{composer.d.ts → message-composer.d.ts} +20 -12
- package/dist/message-composer.js +6 -0
- package/dist/message-composer.js.map +1 -0
- package/dist/nav-stack.js +1 -1
- package/dist/pane.d.ts +36 -3
- package/dist/pane.js +1 -1
- package/dist/popup-menu-register.d.ts +6 -5
- package/dist/popup-menu-register.js +3 -326
- package/dist/popup-menu-register.js.map +1 -1
- package/dist/popup-menu.d.ts +41 -23
- package/dist/popup-menu.js +5 -1
- package/dist/progress-bar.d.ts +52 -0
- package/dist/progress-bar.js +68 -0
- package/dist/progress-bar.js.map +1 -0
- package/dist/progress-ring.d.ts +44 -0
- package/dist/progress-ring.js +73 -0
- package/dist/progress-ring.js.map +1 -0
- package/dist/radio-group.d.ts +62 -0
- package/dist/radio-group.js +4 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/row.js +1 -1
- package/dist/{token-search-model-aYR0YAei.d.ts → search-field-CrGTN5sa.d.ts} +67 -43
- package/dist/search-field-model.d.ts +3 -0
- package/dist/search-field-model.js +3 -0
- package/dist/search-field-model.js.map +1 -0
- package/dist/search-field.d.ts +3 -0
- package/dist/search-field.js +5 -0
- package/dist/search-field.js.map +1 -0
- package/dist/select-register.d.ts +6 -3
- package/dist/select-register.js +383 -241
- package/dist/select-register.js.map +1 -1
- package/dist/select.d.ts +30 -6
- package/dist/select.js +3 -1
- package/dist/selection.d.ts +54 -0
- package/dist/selection.js +3 -0
- package/dist/selection.js.map +1 -0
- package/dist/slider.d.ts +74 -0
- package/dist/slider.js +103 -0
- package/dist/slider.js.map +1 -0
- package/dist/split-button.js +1 -1
- package/dist/split-view.d.ts +5 -2
- package/dist/split-view.js +18 -159
- package/dist/split-view.js.map +1 -1
- package/dist/state-banner.js +1 -1
- package/dist/styles/badge.css +18 -6
- package/dist/styles/button.css +230 -0
- package/dist/styles/catalog/components/catalog-example.css +13 -4
- package/dist/styles/checkbox.css +121 -0
- package/dist/styles/choice-chips.css +58 -7
- package/dist/styles/color-field.css +125 -0
- package/dist/styles/color-picker.css +331 -0
- package/dist/styles/color-swatches.css +122 -0
- package/dist/styles/combobox.css +7 -5
- package/dist/styles/components/actions/button/button.css +230 -0
- package/dist/styles/components/actions/popup-menu/popup-menu.css +326 -198
- package/dist/styles/components/actions/toolbar/toolbar.css +25 -3
- package/dist/styles/components/actions/toolbar-control-group/toolbar-control-group.css +67 -104
- package/dist/styles/components/actions/toolbar-text/toolbar-text.css +5 -18
- package/dist/styles/components/collections/list/list.css +37 -0
- package/dist/styles/components/feedback/badge/badge.css +18 -6
- package/dist/styles/components/feedback/progress-bar/progress-bar.css +168 -0
- package/dist/styles/components/feedback/progress-ring/progress-ring.css +91 -0
- package/dist/styles/components/feedback/state-banner/state-banner.css +18 -3
- package/dist/styles/components/forms/checkbox/checkbox.css +121 -0
- package/dist/styles/components/forms/choice-chips/choice-chips.css +58 -7
- package/dist/styles/components/forms/color-field/color-field.css +125 -0
- package/dist/styles/components/forms/color-picker/color-picker.css +331 -0
- package/dist/styles/components/forms/color-swatches/color-swatches.css +122 -0
- package/dist/styles/components/forms/combobox/combobox.css +7 -5
- package/dist/styles/components/forms/{composer/composer.css → message-composer/message-composer.css} +17 -33
- package/dist/styles/components/forms/radio-group/radio-group.css +156 -0
- package/dist/styles/{token-search-field.css → components/forms/search-field/search-field.css} +111 -102
- package/dist/styles/components/forms/select/select.css +370 -249
- package/dist/styles/components/forms/slider/slider.css +241 -0
- package/dist/styles/components/forms/switch/switch.css +132 -0
- package/dist/styles/components/forms/tag-field/tag-field.css +8 -0
- package/dist/styles/components/forms/text-field/text-field.css +193 -0
- package/dist/styles/components/layout/pane/pane.css +254 -0
- package/dist/styles/components/layout/resizable-region/resizable-region.css +3 -2
- package/dist/styles/components/layout/row/row.css +11 -0
- package/dist/styles/components/layout/split-view/split-view.css +25 -0
- package/dist/styles/components/layout/workbench/workbench.css +12 -4
- package/dist/styles/components/navigation/disclosure-arrow/disclosure-arrow.css +20 -0
- package/dist/styles/components/navigation/tab-bar/tab-bar.css +7 -7
- package/dist/styles/components/navigation/{app-tab/app-tab.css → tab-bar-item/tab-bar-item.css} +95 -90
- package/dist/styles/components/surfaces/disclosure/disclosure.css +98 -0
- package/dist/styles/components/surfaces/surface-scaffold/surface-scaffold.css +263 -116
- package/dist/styles/components/typography/text/text.css +14 -12
- package/dist/styles/disclosure-arrow.css +20 -0
- package/dist/styles/disclosure.css +98 -0
- package/dist/styles/foundation.css +6 -4
- package/dist/styles/list-detail-dialog.css +11 -0
- package/dist/styles/list.css +37 -0
- package/dist/styles/{composer.css → message-composer.css} +17 -33
- package/dist/styles/overlay-toast.css +149 -0
- package/dist/styles/overlay-tooltip.css +55 -0
- package/dist/styles/pane.css +254 -0
- package/dist/styles/popup-menu.css +326 -198
- package/dist/styles/progress-bar.css +168 -0
- package/dist/styles/progress-ring.css +91 -0
- package/dist/styles/radio-group.css +156 -0
- package/dist/styles/resizable-region.css +3 -2
- package/dist/styles/row.css +11 -0
- package/dist/styles/{components/forms/token-search-field/token-search-field.css → search-field.css} +111 -102
- package/dist/styles/select.css +370 -249
- package/dist/styles/slider.css +241 -0
- package/dist/styles/split-view.css +25 -0
- package/dist/styles/state-banner.css +18 -3
- package/dist/styles/styles.css +16 -5
- package/dist/styles/surface-scaffold.css +263 -116
- package/dist/styles/switch.css +132 -0
- package/dist/styles/{app-tab.css → tab-bar-item.css} +95 -90
- package/dist/styles/tab-bar.css +7 -7
- package/dist/styles/tag-field.css +8 -0
- package/dist/styles/text-field.css +193 -0
- package/dist/styles/text.css +14 -12
- package/dist/styles/toolbar-control-group.css +67 -104
- package/dist/styles/toolbar-text.css +5 -18
- package/dist/styles/toolbar.css +25 -3
- package/dist/styles/webawesome.css +9 -0
- package/dist/styles/workbench-dialog.css +10 -0
- package/dist/styles/workbench.css +12 -4
- package/dist/surface-scaffold-register.d.ts +7 -5
- package/dist/surface-scaffold-register.js +2 -246
- package/dist/surface-scaffold-register.js.map +1 -1
- package/dist/surface-scaffold.d.ts +70 -7
- package/dist/surface-scaffold.js +5 -1
- package/dist/switch.d.ts +38 -0
- package/dist/switch.js +4 -0
- package/dist/switch.js.map +1 -0
- package/dist/{app-tab.d.ts → tab-bar-item.d.ts} +11 -11
- package/dist/tab-bar-item.js +6 -0
- package/dist/tab-bar-item.js.map +1 -0
- package/dist/tab-bar.d.ts +3 -3
- package/dist/tab-bar.js +1 -1
- package/dist/tab-navigator.js +1 -1
- package/dist/tag-field.d.ts +52 -0
- package/dist/tag-field.js +6 -0
- package/dist/tag-field.js.map +1 -0
- package/dist/text-field.d.ts +83 -0
- package/dist/text-field.js +6 -0
- package/dist/text-field.js.map +1 -0
- package/dist/text.d.ts +6 -1
- package/dist/text.js +1 -1
- package/dist/{types-CVgIwSdq.d.ts → types-DmHWkSd6.d.ts} +19 -1
- package/dist/webawesome.d.ts +3 -0
- package/dist/wire-catalog.d.ts +8 -2
- package/dist/wire-catalog.js +16 -4
- package/dist/wire-catalog.js.map +1 -1
- package/dist/wire-checkboxes.d.ts +10 -0
- package/dist/wire-checkboxes.js +3 -0
- package/dist/{wire-composers.js.map → wire-checkboxes.js.map} +1 -1
- package/dist/wire-choice-chips.d.ts +17 -0
- package/dist/wire-choice-chips.js +4 -0
- package/dist/{wire-token-search-fields.js.map → wire-choice-chips.js.map} +1 -1
- package/dist/wire-color-fields.d.ts +33 -0
- package/dist/wire-color-fields.js +82 -0
- package/dist/wire-color-fields.js.map +1 -0
- package/dist/wire-color-pickers.d.ts +34 -0
- package/dist/wire-color-pickers.js +9 -0
- package/dist/wire-color-pickers.js.map +1 -0
- package/dist/wire-comboboxes.js +2 -1
- package/dist/wire-content-items.d.ts +5 -1
- package/dist/wire-content-items.js +84 -15
- package/dist/wire-content-items.js.map +1 -1
- package/dist/wire-file-pickers.d.ts +3 -2
- package/dist/wire-file-pickers.js +1 -1
- package/dist/{wire-composers.d.ts → wire-message-composers.d.ts} +5 -4
- package/dist/wire-message-composers.js +3 -0
- package/dist/wire-message-composers.js.map +1 -0
- package/dist/wire-overlay-sheets.js +1 -1
- package/dist/wire-pane-chrome.d.ts +21 -0
- package/dist/wire-pane-chrome.js +67 -0
- package/dist/wire-pane-chrome.js.map +1 -0
- package/dist/{wire-token-search-fields.d.ts → wire-search-fields.d.ts} +25 -25
- package/dist/wire-search-fields.js +6 -0
- package/dist/wire-search-fields.js.map +1 -0
- package/dist/wire-sliders.d.ts +12 -0
- package/dist/wire-sliders.js +31 -0
- package/dist/wire-sliders.js.map +1 -0
- package/dist/wire-tab-bars.js +1 -1
- package/dist/wire-tag-fields.d.ts +41 -0
- package/dist/wire-tag-fields.js +258 -0
- package/dist/wire-tag-fields.js.map +1 -0
- package/dist/wire-text-fields.d.ts +12 -0
- package/dist/wire-text-fields.js +3 -0
- package/dist/wire-text-fields.js.map +1 -0
- package/dist/workbench-dialog.d.ts +97 -0
- package/dist/workbench-dialog.js +124 -0
- package/dist/workbench-dialog.js.map +1 -0
- package/dist/workbench.d.ts +5 -0
- package/dist/workbench.js +1 -1
- package/docs/accessibility.md +181 -97
- package/docs/anchored-surface.md +8 -7
- package/docs/app-layouts.md +28 -0
- package/docs/catalog.md +14 -5
- package/docs/color-field.md +65 -0
- package/docs/color-picker.md +71 -0
- package/docs/color-swatches.md +46 -0
- package/docs/component-contract.md +31 -32
- package/docs/component-selection.md +232 -165
- package/docs/design/templates/button/emphasis-dark.svg +1 -0
- package/docs/design/templates/button/emphasis.svg +1 -0
- package/docs/design/templates/button/icons-dark.svg +1 -0
- package/docs/design/templates/button/icons.svg +1 -0
- package/docs/design/templates/button/pill-dark.svg +1 -0
- package/docs/design/templates/button/pill.svg +1 -0
- package/docs/design/templates/button/states-dark.svg +1 -0
- package/docs/design/templates/button/states.svg +1 -0
- package/docs/design/templates/button/toggles-dark.svg +1 -0
- package/docs/design/templates/button/toggles.svg +1 -0
- package/docs/design/templates/button/tones-dark.svg +1 -0
- package/docs/design/templates/button/tones.svg +1 -0
- package/docs/design/templates/button-dark.svg +1 -0
- package/docs/design/templates/button.svg +1 -0
- package/docs/design/templates/checkbox/compact-dark.svg +1 -0
- package/docs/design/templates/checkbox/compact.svg +1 -0
- package/docs/design/templates/checkbox/error-dark.svg +1 -0
- package/docs/design/templates/checkbox/error.svg +1 -0
- package/docs/design/templates/checkbox/mixed-dark.svg +1 -0
- package/docs/design/templates/checkbox/mixed.svg +1 -0
- package/docs/design/templates/checkbox/states-dark.svg +1 -0
- package/docs/design/templates/checkbox/states.svg +1 -0
- package/docs/design/templates/checkbox-dark.svg +1 -0
- package/docs/design/templates/checkbox.svg +1 -0
- package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -1
- package/docs/design/templates/choice-chips/color-palette.svg +1 -1
- package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -1
- package/docs/design/templates/choice-chips/compact-icons.svg +1 -1
- package/docs/design/templates/choice-chips/multiple-dark.svg +1 -1
- package/docs/design/templates/choice-chips/multiple.svg +1 -1
- package/docs/design/templates/choice-chips-dark.svg +1 -1
- package/docs/design/templates/choice-chips.svg +1 -1
- package/docs/design/templates/color-field/compact-dark.svg +1 -0
- package/docs/design/templates/color-field/compact.svg +1 -0
- package/docs/design/templates/color-field/error-dark.svg +1 -0
- package/docs/design/templates/color-field/error.svg +1 -0
- package/docs/design/templates/color-field/hint-dark.svg +1 -0
- package/docs/design/templates/color-field/hint.svg +1 -0
- package/docs/design/templates/color-field-dark.svg +1 -0
- package/docs/design/templates/color-field.svg +1 -0
- package/docs/design/templates/color-picker/gray-dark.svg +1 -0
- package/docs/design/templates/color-picker/gray.svg +1 -0
- package/docs/design/templates/color-picker/rgb-dark.svg +1 -0
- package/docs/design/templates/color-picker/rgb.svg +1 -0
- package/docs/design/templates/color-picker-dark.svg +1 -0
- package/docs/design/templates/color-picker.svg +1 -0
- package/docs/design/templates/color-swatches/palette-dark.svg +1 -0
- package/docs/design/templates/color-swatches/palette.svg +1 -0
- package/docs/design/templates/color-swatches-dark.svg +1 -0
- package/docs/design/templates/color-swatches.svg +1 -0
- package/docs/design/templates/disclosure/framed-sunken-dark.svg +1 -0
- package/docs/design/templates/disclosure/framed-sunken.svg +1 -0
- package/docs/design/templates/disclosure/plain-dark.svg +1 -0
- package/docs/design/templates/disclosure/plain.svg +1 -0
- package/docs/design/templates/disclosure-dark.svg +1 -0
- package/docs/design/templates/disclosure.svg +1 -0
- package/docs/design/templates/list-header/size-l-dark.svg +1 -1
- package/docs/design/templates/list-header/size-l.svg +1 -1
- package/docs/design/templates/list-header/size-m-dark.svg +1 -1
- package/docs/design/templates/list-header/size-m.svg +1 -1
- package/docs/design/templates/list-header/size-xl-dark.svg +1 -1
- package/docs/design/templates/list-header/size-xl.svg +1 -1
- package/docs/design/templates/list-header-dark.svg +1 -1
- package/docs/design/templates/list-header.svg +1 -1
- package/docs/design/templates/message-composer/chat-dark.svg +1 -0
- package/docs/design/templates/message-composer/chat.svg +1 -0
- package/docs/design/templates/{composer → message-composer}/prompt-dark.svg +1 -1
- package/docs/design/templates/{composer → message-composer}/prompt.svg +1 -1
- package/docs/design/templates/message-composer-dark.svg +1 -0
- package/docs/design/templates/message-composer.svg +1 -0
- package/docs/design/templates/progress-bar/determinate-dark.svg +1 -0
- package/docs/design/templates/progress-bar/determinate.svg +1 -0
- package/docs/design/templates/progress-bar/tones-dark.svg +1 -0
- package/docs/design/templates/progress-bar/tones.svg +1 -0
- package/docs/design/templates/progress-bar-dark.svg +1 -0
- package/docs/design/templates/progress-bar.svg +1 -0
- package/docs/design/templates/progress-ring/sizes-dark.svg +1 -0
- package/docs/design/templates/progress-ring/sizes.svg +1 -0
- package/docs/design/templates/progress-ring/tones-dark.svg +1 -0
- package/docs/design/templates/progress-ring/tones.svg +1 -0
- package/docs/design/templates/progress-ring-dark.svg +1 -0
- package/docs/design/templates/progress-ring.svg +1 -0
- package/docs/design/templates/radio-group/horizontal-dark.svg +1 -0
- package/docs/design/templates/radio-group/horizontal.svg +1 -0
- package/docs/design/templates/radio-group/vertical-dark.svg +1 -0
- package/docs/design/templates/radio-group/vertical.svg +1 -0
- package/docs/design/templates/radio-group-dark.svg +1 -0
- package/docs/design/templates/radio-group.svg +1 -0
- package/docs/design/templates/segmented-control/equal-dark.svg +1 -1
- package/docs/design/templates/segmented-control/equal.svg +1 -1
- package/docs/design/templates/segmented-control/pill-small-dark.svg +1 -1
- package/docs/design/templates/segmented-control/pill-small.svg +1 -1
- package/docs/design/templates/segmented-control-dark.svg +1 -1
- package/docs/design/templates/segmented-control.svg +1 -1
- package/docs/design/templates/select/compact-dark.svg +1 -0
- package/docs/design/templates/select/compact.svg +1 -0
- package/docs/design/templates/select/form-dark.svg +1 -0
- package/docs/design/templates/select/form.svg +1 -0
- package/docs/design/templates/select/icons-dark.svg +1 -0
- package/docs/design/templates/select/icons.svg +1 -0
- package/docs/design/templates/select-dark.svg +1 -0
- package/docs/design/templates/select.svg +1 -0
- package/docs/design/templates/slider/compact-dark.svg +1 -0
- package/docs/design/templates/slider/compact.svg +1 -0
- package/docs/design/templates/slider/readout-dark.svg +1 -0
- package/docs/design/templates/slider/readout.svg +1 -0
- package/docs/design/templates/slider/ticks-dark.svg +1 -0
- package/docs/design/templates/slider/ticks.svg +1 -0
- package/docs/design/templates/slider-dark.svg +1 -0
- package/docs/design/templates/slider.svg +1 -0
- package/docs/design/templates/switch/compact-dark.svg +1 -0
- package/docs/design/templates/switch/compact.svg +1 -0
- package/docs/design/templates/switch/states-dark.svg +1 -0
- package/docs/design/templates/switch/states.svg +1 -0
- package/docs/design/templates/switch-dark.svg +1 -0
- package/docs/design/templates/switch.svg +1 -0
- package/docs/design/templates/tag-field/error-dark.svg +1 -0
- package/docs/design/templates/tag-field/error.svg +1 -0
- package/docs/design/templates/tag-field/tags-dark.svg +1 -0
- package/docs/design/templates/tag-field/tags.svg +1 -0
- package/docs/design/templates/tag-field-dark.svg +1 -0
- package/docs/design/templates/tag-field.svg +1 -0
- package/docs/design/templates/text-field/compact-dark.svg +1 -0
- package/docs/design/templates/text-field/compact.svg +1 -0
- package/docs/design/templates/text-field/error-dark.svg +1 -0
- package/docs/design/templates/text-field/error.svg +1 -0
- package/docs/design/templates/text-field/labeled-dark.svg +1 -0
- package/docs/design/templates/text-field/labeled.svg +1 -0
- package/docs/design/templates/text-field/multiline-dark.svg +1 -0
- package/docs/design/templates/text-field/multiline.svg +1 -0
- package/docs/design/templates/text-field/search-dark.svg +1 -0
- package/docs/design/templates/text-field/search.svg +1 -0
- package/docs/design/templates/text-field-dark.svg +1 -0
- package/docs/design/templates/text-field.svg +1 -0
- package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -1
- package/docs/design/templates/toolbar/title-and-actions.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-320-dark.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-320.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-600-dark.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-600.svg +1 -1
- package/docs/design/templates/toolbar-dark.svg +1 -1
- package/docs/design/templates/toolbar.svg +1 -1
- package/docs/design/templates/value-table/details-dark.svg +1 -1
- package/docs/design/templates/value-table/details.svg +1 -1
- package/docs/design/templates/value-table-dark.svg +1 -1
- package/docs/design/templates/value-table.svg +1 -1
- package/docs/design/templates.md +19 -6
- package/docs/design-philosophy.md +6 -6
- package/docs/disclosure.md +63 -0
- package/docs/examples/component-catalog-extension.json +2 -2
- package/docs/layout.md +16 -7
- package/docs/list-detail-dialog.md +96 -0
- package/docs/manual-test-plan.md +1 -1
- package/docs/{composer.md → message-composer.md} +41 -28
- package/docs/overlay-toast.md +62 -0
- package/docs/overlay-tooltip.md +53 -0
- package/docs/progress.md +62 -0
- package/docs/recipes.md +15 -21
- package/docs/slider.md +64 -0
- package/docs/surface-scaffold.md +155 -88
- package/docs/tag-field.md +66 -0
- package/docs/type-contracts.md +8 -8
- package/docs/ui-analyzer.md +1 -1
- package/docs/ui-doctor.md +11 -6
- package/docs/ux-demo.md +6 -6
- package/docs/webawesome-migration.md +80 -0
- package/docs/webawesome-theme.md +57 -35
- package/docs/workbench-dialog.md +85 -0
- package/docs/workbench.md +10 -6
- package/docs/writing.md +10 -8
- package/doctor/copy-capitalization-checks.mjs +18 -9
- package/llms.txt +131 -57
- package/package.json +156 -39
- package/ux-demo/recipes/composer-form.tsx +18 -19
- package/ux-demo/recipes/list-detail-dialog.tsx +55 -162
- package/ux-demo/recipes/mount-recipe.ts +7 -6
- package/ux-demo/recipes/types.ts +1 -0
- package/ai/components/icon-button.md +0 -82
- package/ai/components/icon-toggle-button.md +0 -80
- package/ai/components/token-search-field.md +0 -107
- package/dist/app-tab.js +0 -6
- package/dist/app-tab.js.map +0 -1
- package/dist/browser/app-tab.js +0 -4
- package/dist/browser/composer.js +0 -4
- package/dist/browser/icon-toggle-button.js +0 -4
- package/dist/browser/token-search-field.js +0 -4
- package/dist/chunk-2MSPNRWJ.js.map +0 -1
- package/dist/chunk-7IUEBNCO.js.map +0 -1
- package/dist/chunk-AV7CPAPT.js +0 -82
- package/dist/chunk-AV7CPAPT.js.map +0 -1
- package/dist/chunk-BYFTHA4I.js.map +0 -1
- package/dist/chunk-CA7LNX3J.js +0 -44
- package/dist/chunk-CA7LNX3J.js.map +0 -1
- package/dist/chunk-ELCMSQNJ.js.map +0 -1
- package/dist/chunk-ETCWQLJV.js.map +0 -1
- package/dist/chunk-FDZNYD4C.js.map +0 -1
- package/dist/chunk-FR76ZJQC.js +0 -90
- package/dist/chunk-FR76ZJQC.js.map +0 -1
- package/dist/chunk-HQZYKJ56.js.map +0 -1
- package/dist/chunk-HZPHCSCS.js.map +0 -1
- package/dist/chunk-IM3GKYOG.js.map +0 -1
- package/dist/chunk-JOR5LGYE.js.map +0 -1
- package/dist/chunk-K4AT3V3J.js.map +0 -1
- package/dist/chunk-LL45C7BB.js.map +0 -1
- package/dist/chunk-LOSRXZAH.js.map +0 -1
- package/dist/chunk-LPHU44S3.js.map +0 -1
- package/dist/chunk-M5KZ26VV.js.map +0 -1
- package/dist/chunk-MF6ZUUJZ.js.map +0 -1
- package/dist/chunk-MXNIVEVL.js.map +0 -1
- package/dist/chunk-NS762OVM.js +0 -222
- package/dist/chunk-NS762OVM.js.map +0 -1
- package/dist/chunk-PKL6QJKK.js.map +0 -1
- package/dist/chunk-QTSMHH5J.js.map +0 -1
- package/dist/chunk-TDMHA7C3.js.map +0 -1
- package/dist/chunk-TGLUDQP2.js.map +0 -1
- package/dist/chunk-U6QYTMDB.js.map +0 -1
- package/dist/chunk-VFYO3UGZ.js +0 -45
- package/dist/chunk-VFYO3UGZ.js.map +0 -1
- package/dist/chunk-W4IK7AWD.js.map +0 -1
- package/dist/chunk-YBWQR2OK.js.map +0 -1
- package/dist/composer.js +0 -5
- package/dist/composer.js.map +0 -1
- package/dist/icon-button.d.ts +0 -46
- package/dist/icon-button.js +0 -6
- package/dist/icon-button.js.map +0 -1
- package/dist/icon-toggle-button.d.ts +0 -42
- package/dist/icon-toggle-button.js +0 -6
- package/dist/icon-toggle-button.js.map +0 -1
- package/dist/styles/components/actions/icon-button/icon-button.css +0 -22
- package/dist/styles/components/actions/icon-toggle-button/icon-toggle-button.css +0 -83
- package/dist/styles/icon-button.css +0 -22
- package/dist/styles/icon-toggle-button.css +0 -83
- package/dist/token-search-field.d.ts +0 -3
- package/dist/token-search-field.js +0 -5
- package/dist/token-search-field.js.map +0 -1
- package/dist/token-search-model.d.ts +0 -3
- package/dist/token-search-model.js +0 -3
- package/dist/token-search-model.js.map +0 -1
- package/dist/wire-composers.js +0 -3
- package/dist/wire-token-search-fields.js +0 -6
- package/docs/design/templates/composer/chat-dark.svg +0 -1
- package/docs/design/templates/composer/chat.svg +0 -1
- package/docs/design/templates/composer-dark.svg +0 -1
- package/docs/design/templates/composer.svg +0 -1
- /package/docs/design/templates/{token-search-field → search-field}/empty-dark.svg +0 -0
- /package/docs/design/templates/{token-search-field → search-field}/empty.svg +0 -0
- /package/docs/design/templates/{token-search-field → search-field}/tokens-dark.svg +0 -0
- /package/docs/design/templates/{token-search-field → search-field}/tokens.svg +0 -0
- /package/docs/design/templates/{token-search-field-dark.svg → search-field-dark.svg} +0 -0
- /package/docs/design/templates/{token-search-field.svg → search-field.svg} +0 -0
|
@@ -29,7 +29,7 @@ Provide complete toolbar action geometry through configuration, including semant
|
|
|
29
29
|
|
|
30
30
|
- [SegmentedControl](./segmented-control.md) (nearest)
|
|
31
31
|
- [Button Group](./wa-button-group.md) (prefer-over)
|
|
32
|
-
- [
|
|
32
|
+
- [Button](./button.md) (nearest) — Outside a Toolbar, a standalone icon-only toggle is an icon-only Button with pressed.
|
|
33
33
|
|
|
34
34
|
## Imports
|
|
35
35
|
|
|
@@ -101,7 +101,7 @@ Margin: none · border: self · padding: self (layout role: structure). `self` m
|
|
|
101
101
|
|
|
102
102
|
- Name the group when its relationship is not evident from context.
|
|
103
103
|
- A disabled native button (disabled, or aria-disabled="true" when it must stay focusable) dims to half opacity with the not-allowed cursor and no hover surface; a disabled raw wa-button paints no hover surface either. Do not add disabled styling yourself.
|
|
104
|
-
- Name an icon-only button or link with aria-label, not title. Once any help-tag installer is imported (select/register, popup-menu/register, or help-tags/register), it shows an aria-hidden
|
|
104
|
+
- Name an icon-only button or link with aria-label, not title. Once any help-tag installer is imported (select/register, popup-menu/register, or help-tags/register), it shows an aria-hidden help tag repeating that name after a 500ms hover and at once on keyboard focus, hidden on a press and on Escape, and never joins aria-labelledby. A native title keeps the browser tooltip and gets no second tag.
|
|
105
105
|
- In an overlay Pane header (headerPresentation="overlay"), overlay NavStack chrome (chromePresentation="overlay") or bottom toolbar (bottomToolbarPresentation="overlay"), or a DialogSurface floating header's header-actions (headerPresentation="floating"), a default-tone group (not dark-toned, not an avatar scrim) takes --kui-color-text for its controls, so they keep WCAG AA over content passing beneath the translucent chrome material.
|
|
106
106
|
- A dark-toned group's hover paints a 14% surface wash over its loud fill, on one control of a group or across a lone control's whole group, so the on-loud icon keeps at least 3:1 over a light page and well above it in dark.
|
|
107
107
|
|
|
@@ -121,6 +121,6 @@ Everything else is internal: `kerf-ui-analyze` reports private or unknown `.kui-
|
|
|
121
121
|
|
|
122
122
|
## Related
|
|
123
123
|
|
|
124
|
-
- Components: [LucideIcon](./lucide-icon.md), [SegmentedControl](./segmented-control.md), [Button Group](./wa-button-group.md), [
|
|
124
|
+
- Components: [LucideIcon](./lucide-icon.md), [SegmentedControl](./segmented-control.md), [Button Group](./wa-button-group.md), [Button](./button.md).
|
|
125
125
|
- Docs: [`docs/component-selection.md`](../../docs/component-selection.md), [`docs/component-selection.md#problem-to-component-matrix`](../../docs/component-selection.md#problem-to-component-matrix).
|
|
126
126
|
- UX catalog route: `?component=toolbar-control-group`.
|
|
@@ -0,0 +1,81 @@
|
|
|
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:tooltip` · Kerf UI · CSS composition · Feedback
|
|
6
|
+
|
|
7
|
+
Styling for kerfjs/overlay's tooltip(): the help tag's look (loud neutral fill, on-loud 14px text, 3px radius) for a hover and focus tooltip on any element, wrapping at 40 characters, with entrance and exit motion.
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Explain a control or value on hover and keyboard focus with a styled tooltip, without hand-written tooltip CSS.
|
|
12
|
+
|
|
13
|
+
- A control or value needs a short explanation on hover and keyboard focus (a longer action description, a chart point, a truncated label): import @kerfjs/ui/overlay-tooltip.css once and call tooltip(anchor, content) from kerfjs/overlay with exitClass 'kui-tooltip-exit' and exitDuration 100.
|
|
14
|
+
- The explanation has structure (a bold line over a detail): pass a render function; its content inherits the tooltip's colors.
|
|
15
|
+
|
|
16
|
+
**Not when:**
|
|
17
|
+
|
|
18
|
+
- Do not add a tooltip to an icon-only control in a ToolbarControlGroup, an icon-only Button, Select, or PopupMenu; @kerfjs/ui/help-tags-register already shows its help tag.
|
|
19
|
+
- Do not put interactive content or the only copy of important information in a tooltip; use an AnchoredSurface or visible text.
|
|
20
|
+
- Do not hand-write tooltip CSS or use wa-tooltip.
|
|
21
|
+
|
|
22
|
+
**Alternatives:**
|
|
23
|
+
|
|
24
|
+
- [AnchoredSurface](./anchored-surface.md) (nearest) — Use an AnchoredSurface for interactive or persistent help that the person opens.
|
|
25
|
+
|
|
26
|
+
## Imports
|
|
27
|
+
|
|
28
|
+
- CSS: import `@kerfjs/ui/overlay-tooltip.css` once.
|
|
29
|
+
- Declared side effects: css.
|
|
30
|
+
|
|
31
|
+
## Props
|
|
32
|
+
|
|
33
|
+
No props: this entry has no JavaScript API.
|
|
34
|
+
|
|
35
|
+
**Variants (configure, do not restyle):**
|
|
36
|
+
|
|
37
|
+
- plain text tooltip, wrapped at 40 characters
|
|
38
|
+
- structured content from a render function
|
|
39
|
+
- any placement tooltip() supports (top by default)
|
|
40
|
+
- native: true top-layer hosting
|
|
41
|
+
|
|
42
|
+
## Composition
|
|
43
|
+
|
|
44
|
+
- Parents: any.
|
|
45
|
+
- Contexts: `application-ui`.
|
|
46
|
+
- Children: unrestricted.
|
|
47
|
+
|
|
48
|
+
## State and wiring
|
|
49
|
+
|
|
50
|
+
**The app owns:** which elements get a tooltip and its content; placement, delay, and native top-layer hosting; the disposer that removes a tooltip's listeners.
|
|
51
|
+
|
|
52
|
+
No wiring helper.
|
|
53
|
+
|
|
54
|
+
## Geometry
|
|
55
|
+
|
|
56
|
+
Margin: self · border: self · padding: self (layout role: feedback). `self` means the component already owns it — do not add wrapper padding, margin, or borders around it.
|
|
57
|
+
|
|
58
|
+
- tooltip() positions the wrapper beside its anchor; the stylesheet caps its width at 40 characters within the viewport.
|
|
59
|
+
|
|
60
|
+
## Accessibility
|
|
61
|
+
|
|
62
|
+
- tooltip() shows on hover and on keyboard focus, gives the wrapper role tooltip, and hides on leave or blur; keep the anchor's accessible name complete without it.
|
|
63
|
+
- The loud neutral fill with on-loud text meets WCAG AA; forced colors draw CanvasText on Canvas, and the entrance is skipped under prefers-reduced-motion or the static-effects switch.
|
|
64
|
+
|
|
65
|
+
## Styling boundary
|
|
66
|
+
|
|
67
|
+
The component owns its own styles. Configure it through its props and variants; do not override its internals.
|
|
68
|
+
|
|
69
|
+
Public class hooks (select for layout placement only, never to change the component's look): `kerf-tooltip`, `kui-tooltip-exit`.
|
|
70
|
+
|
|
71
|
+
Classes an application may place on its own elements: `kerf-tooltip`, `kui-tooltip-exit`.
|
|
72
|
+
|
|
73
|
+
Public tokens it reads: `--kui-overlay-tooltip-z-index`. Set a token only where its public contract allows; prefer a prop.
|
|
74
|
+
|
|
75
|
+
Everything else is internal: `kerf-ui-analyze` reports private or unknown `.kui-*` selectors (`KUI-L001`, `KUI-L010`), unknown or private tokens (`KUI-L002`, `KUI-L012`), and any application rule that restyles the component, forced dimensions included (`KUI-L019`).
|
|
76
|
+
|
|
77
|
+
## Related
|
|
78
|
+
|
|
79
|
+
- Components: [AnchoredSurface](./anchored-surface.md).
|
|
80
|
+
- Docs: [`docs/overlay-tooltip.md`](../../docs/overlay-tooltip.md), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
81
|
+
- UX catalog route: `?component=tooltip`.
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-accordion-item` · Web Awesome · component · Layout · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-accordion-item` · Web Awesome · component · Layout · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem accordion item; use a Kerf Disclosure in a named group.
|
|
10
|
+
|
|
11
|
+
- Experimental labeled disclosure section used by an accordion.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Disclosure (@kerfjs/ui/disclosure), a native details element, and give Disclosures the same name for an accordion.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Disclosure](./disclosure.md) (prefer-kerf) — Use Disclosure for show-and-hide content; Disclosures sharing a name form an accordion.
|
|
14
20
|
|
|
15
21
|
## Imports
|
|
16
22
|
|
|
@@ -50,6 +56,6 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
50
56
|
|
|
51
57
|
## Related
|
|
52
58
|
|
|
53
|
-
- Components: [Icon](./wa-icon.md).
|
|
54
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
59
|
+
- Components: [Icon](./wa-icon.md), [Disclosure](./disclosure.md).
|
|
60
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
55
61
|
- UX catalog route: `?component=wa-accordion-item`.
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-accordion` · Web Awesome · component · Layout · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-accordion` · Web Awesome · component · Layout · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem accordion; use Kerf Disclosures sharing a name.
|
|
10
|
+
|
|
11
|
+
- Coordinates one or more collapsible content sections.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Disclosure (@kerfjs/ui/disclosure), a native details element, and give Disclosures the same name for an accordion.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Disclosure](./disclosure.md) (prefer-kerf) — Use Disclosure for show-and-hide content; Disclosures sharing a name form an accordion.
|
|
14
20
|
|
|
15
21
|
## Imports
|
|
16
22
|
|
|
@@ -60,6 +66,6 @@ Public tokens it reads: `--kui-wa-surface-margin`, `--kui-wa-surface-inset`, `--
|
|
|
60
66
|
|
|
61
67
|
## Related
|
|
62
68
|
|
|
63
|
-
- Components: [Accordion Item](./wa-accordion-item.md).
|
|
64
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
69
|
+
- Components: [Accordion Item](./wa-accordion-item.md), [Disclosure](./disclosure.md).
|
|
70
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
65
71
|
- UX catalog route: `?component=wa-accordion`.
|
|
@@ -11,6 +11,7 @@ Specialized animated media; use only for a concrete product requirement.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -51,5 +52,5 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
51
52
|
## Related
|
|
52
53
|
|
|
53
54
|
- Components: [Icon](./wa-icon.md).
|
|
54
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-
|
|
55
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
55
56
|
- UX catalog route: `?component=wa-animated-image`.
|
|
@@ -11,6 +11,7 @@ Declarative Web Animations API wrapper with preset effects.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -11,6 +11,7 @@ Person or entity image with initials fallback.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-badge` · Web Awesome · component · Feedback · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-badge` · Web Awesome · component · Feedback · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem badge; use Kerf Badge.
|
|
10
|
+
|
|
11
|
+
- Compact status or count label with semantic variants.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Badge for compact status, count, or category metadata.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Badge](./badge.md) (prefer-kerf) — Use Badge for compact status, count, or category metadata.
|
|
14
20
|
|
|
15
21
|
## Imports
|
|
16
22
|
|
|
@@ -51,5 +57,6 @@ Public tokens it reads: `--kui-wa-badge-accent-foreground`, `--kui-wa-badge-fill
|
|
|
51
57
|
|
|
52
58
|
## Related
|
|
53
59
|
|
|
60
|
+
- Components: [Badge](./badge.md).
|
|
54
61
|
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
55
62
|
- UX catalog route: `?component=wa-badge`.
|
|
@@ -11,6 +11,7 @@ One link or current-location item in a breadcrumb.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -11,6 +11,7 @@ Ordered navigation trail for the current location.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-button-group` · Web Awesome · component · Actions · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-button-group` · Web Awesome · component · Actions · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem button group; use Kerf ToolbarControlGroup, SplitButton, or SegmentedControl.
|
|
10
|
+
|
|
11
|
+
- Exceptional grouped actions; prefer Kerf SegmentedControl for exclusive choices.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use ToolbarControlGroup or SplitButton for grouped actions and SegmentedControl for one-of-many choices.
|
|
14
16
|
|
|
15
17
|
**Alternatives:**
|
|
16
18
|
|
|
@@ -56,5 +58,5 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
56
58
|
## Related
|
|
57
59
|
|
|
58
60
|
- Components: [Button](./wa-button.md), [SegmentedControl](./segmented-control.md), [SplitButton](./split-button.md).
|
|
59
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-
|
|
61
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
60
62
|
- UX catalog route: `?component=wa-button-group`.
|
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-button` · Web Awesome · component · Actions · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-button` · Web Awesome · component · Actions · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem action button; use Kerf Button.
|
|
10
|
+
|
|
11
|
+
- Action control with semantic variants, appearances, loading, and icon support.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Button for a text, text-and-icon, or icon-only action.
|
|
14
16
|
|
|
15
17
|
**Alternatives:**
|
|
16
18
|
|
|
17
|
-
- [
|
|
19
|
+
- [Button](./button.md) (prefer-kerf) — Use Button for a text, text-and-icon, or icon-only action.
|
|
18
20
|
|
|
19
21
|
## Imports
|
|
20
22
|
|
|
@@ -54,6 +56,6 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
54
56
|
|
|
55
57
|
## Related
|
|
56
58
|
|
|
57
|
-
- Components: [Icon](./wa-icon.md), [Spinner](./wa-spinner.md), [
|
|
59
|
+
- Components: [Icon](./wa-icon.md), [Spinner](./wa-spinner.md), [Button](./button.md).
|
|
58
60
|
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
59
61
|
- UX catalog route: `?component=wa-button`.
|
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-callout` · Web Awesome · component · Feedback · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-callout` · Web Awesome · component · Feedback · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem callout; use Kerf StateBanner.
|
|
10
|
+
|
|
11
|
+
- Prominent contextual message with semantic variants.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use StateBanner for a persistent inline status, alert, or emphasized message.
|
|
14
16
|
|
|
15
17
|
**Alternatives:**
|
|
16
18
|
|
|
17
|
-
- [StateBanner](./state-banner.md) (prefer-kerf)
|
|
19
|
+
- [StateBanner](./state-banner.md) (prefer-kerf) — Use StateBanner for a persistent inline status, alert, or emphasized message.
|
|
18
20
|
|
|
19
21
|
## Imports
|
|
20
22
|
|
|
@@ -54,5 +56,5 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
54
56
|
## Related
|
|
55
57
|
|
|
56
58
|
- Components: [StateBanner](./state-banner.md).
|
|
57
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-
|
|
59
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
58
60
|
- UX catalog route: `?component=wa-callout`.
|
package/ai/components/wa-card.md
CHANGED
|
@@ -2,15 +2,22 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-card` · Web Awesome · component · Layout · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-card` · Web Awesome · component · Layout · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem card; use Kerf ContentItem or SunkenPanel.
|
|
10
|
+
|
|
11
|
+
- Groups related content and optional header, media, and footer slots.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use ContentItem (appearance="surface" for a raised card) to contain related content, or SunkenPanel for a lowered region.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [ContentItem](./content-item.md) (prefer-kerf) — Use ContentItem, with appearance="surface" for a raised card, to contain related content.
|
|
20
|
+
- [SunkenPanel](./sunken-panel.md) (prefer-kerf) — Use SunkenPanel for a lowered region holding a content stack.
|
|
14
21
|
|
|
15
22
|
## Imports
|
|
16
23
|
|
|
@@ -55,5 +62,6 @@ Public tokens it reads: `--kui-wa-surface-margin`, `--kui-wa-surface-inset`, `--
|
|
|
55
62
|
|
|
56
63
|
## Related
|
|
57
64
|
|
|
58
|
-
-
|
|
65
|
+
- Components: [ContentItem](./content-item.md), [SunkenPanel](./sunken-panel.md).
|
|
66
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
59
67
|
- UX catalog route: `?component=wa-card`.
|
|
@@ -11,6 +11,7 @@ One content slide inside a carousel.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -11,6 +11,7 @@ Navigable horizontal or vertical collection of slides.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -2,15 +2,22 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-checkbox-group` · Web Awesome · component · Forms · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-checkbox-group` · Web Awesome · component · Forms · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem checkbox group; use Kerf Checkbox rows or ChoiceChips.
|
|
10
|
+
|
|
11
|
+
- Labels and validates a related set of checkboxes.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Checkbox rows in a List, or ChoiceChips multiple for wrapping pills.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Checkbox](./checkbox.md) (prefer-kerf) — Use Checkbox rows in a List, or ChoiceChips multiple for wrapping pills.
|
|
20
|
+
- [ChoiceChips](./choice-chips.md) (prefer-kerf) — Use Checkbox rows in a List, or ChoiceChips multiple for wrapping pills.
|
|
14
21
|
|
|
15
22
|
## Imports
|
|
16
23
|
|
|
@@ -50,6 +57,6 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
50
57
|
|
|
51
58
|
## Related
|
|
52
59
|
|
|
53
|
-
- Components: [Checkbox](./wa-checkbox.md).
|
|
60
|
+
- Components: [Checkbox](./wa-checkbox.md), [Checkbox](./checkbox.md), [ChoiceChips](./choice-chips.md).
|
|
54
61
|
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
55
62
|
- UX catalog route: `?component=wa-checkbox-group`.
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-checkbox` · Web Awesome · component · Forms · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-checkbox` · Web Awesome · component · Forms · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem checkbox; use Kerf Checkbox.
|
|
10
|
+
|
|
11
|
+
- Binary form control with checked, indeterminate, and disabled states.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Checkbox for a submitted option.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Checkbox](./checkbox.md) (prefer-kerf) — Use Checkbox for a submitted option.
|
|
14
20
|
|
|
15
21
|
## Imports
|
|
16
22
|
|
|
@@ -50,6 +56,6 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
50
56
|
|
|
51
57
|
## Related
|
|
52
58
|
|
|
53
|
-
- Components: [Icon](./wa-icon.md).
|
|
59
|
+
- Components: [Icon](./wa-icon.md), [Checkbox](./checkbox.md).
|
|
54
60
|
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
55
61
|
- UX catalog route: `?component=wa-checkbox`.
|
|
@@ -2,15 +2,23 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-color-picker` · Web Awesome · component · Forms · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-color-picker` · Web Awesome · component · Forms · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem color picker; use the Kerf ColorField or ColorPicker.
|
|
10
|
+
|
|
11
|
+
- Only inside an application that has already adopted the optional Web Awesome integration.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use ColorField (@kerfjs/ui/color-field) for a field that opens a picker, ColorPicker (@kerfjs/ui/color-picker) inline, or ColorSwatches for a fixed palette.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [ColorField](./color-field.md) (prefer-kerf) — Use ColorField for a color in a form or inspector.
|
|
20
|
+
- [ColorPicker](./color-picker.md) (prefer-kerf) — Use an inline ColorPicker when the color is the view's main task.
|
|
21
|
+
- [ColorSwatches](./color-swatches.md) (prefer-kerf) — Use ColorSwatches for a fixed palette.
|
|
14
22
|
|
|
15
23
|
## Imports
|
|
16
24
|
|
|
@@ -50,6 +58,6 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
50
58
|
|
|
51
59
|
## Related
|
|
52
60
|
|
|
53
|
-
- Components: [Button](./wa-button.md), [Button Group](./wa-button-group.md), [Input](./wa-input.md), [Popup](./wa-popup.md).
|
|
54
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
61
|
+
- Components: [Button](./wa-button.md), [Button Group](./wa-button-group.md), [Input](./wa-input.md), [Popup](./wa-popup.md), [ColorField](./color-field.md), [ColorPicker](./color-picker.md), [ColorSwatches](./color-swatches.md).
|
|
62
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
55
63
|
- UX catalog route: `?component=wa-color-picker`.
|
|
@@ -11,6 +11,7 @@ Specialized before-and-after media; use only when specifically required.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -51,5 +52,5 @@ Theme it only through `@kerfjs/ui/webawesome.css` and cataloged tokens. Do not r
|
|
|
51
52
|
## Related
|
|
52
53
|
|
|
53
54
|
- Components: [Icon](./wa-icon.md).
|
|
54
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-
|
|
55
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
55
56
|
- UX catalog route: `?component=wa-comparison`.
|
|
@@ -11,6 +11,7 @@ Copies a supplied value and announces success or failure.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-details` · Web Awesome · component · Layout · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-details` · Web Awesome · component · Layout · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem disclosure; use the Kerf Disclosure.
|
|
10
|
+
|
|
11
|
+
- Single disclosure panel for secondary information.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use Disclosure (@kerfjs/ui/disclosure), a native details element, and give Disclosures the same name for an accordion.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Disclosure](./disclosure.md) (prefer-kerf) — Use Disclosure for show-and-hide content; Disclosures sharing a name form an accordion.
|
|
14
20
|
|
|
15
21
|
## Imports
|
|
16
22
|
|
|
@@ -56,6 +62,6 @@ Public tokens it reads: `--kui-wa-surface-margin`, `--kui-wa-surface-inset`, `--
|
|
|
56
62
|
|
|
57
63
|
## Related
|
|
58
64
|
|
|
59
|
-
- Components: [Icon](./wa-icon.md).
|
|
60
|
-
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
65
|
+
- Components: [Icon](./wa-icon.md), [Disclosure](./disclosure.md).
|
|
66
|
+
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage), [`docs/component-selection.md#web-awesome-integration`](../../docs/component-selection.md#web-awesome-integration).
|
|
61
67
|
- UX catalog route: `?component=wa-details`.
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
-
`@kerfjs/ui:wa-dialog` · Web Awesome · component · Layout · recommendation:
|
|
5
|
+
`@kerfjs/ui:wa-dialog` · Web Awesome · component · Layout · recommendation: avoid
|
|
6
6
|
|
|
7
7
|
## When to use
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Ecosystem dialog; use Kerf DialogSurface with openDialog and closeDialog.
|
|
10
|
+
|
|
11
|
+
- Modal surface for focused tasks and confirmations.
|
|
10
12
|
|
|
11
13
|
**Not when:**
|
|
12
14
|
|
|
13
|
-
- Do not
|
|
15
|
+
- Do not use it in Kerf UI; use DialogSurface with openDialog and closeDialog, or a kerfjs/overlay dialog.
|
|
16
|
+
|
|
17
|
+
**Alternatives:**
|
|
18
|
+
|
|
19
|
+
- [Surface Scaffolds](./surface-scaffold.md) (prefer-kerf) — Use DialogSurface with openDialog and closeDialog, or a kerfjs/overlay dialog.
|
|
14
20
|
|
|
15
21
|
## Imports
|
|
16
22
|
|
|
@@ -54,6 +60,6 @@ Classes an application may place on its own elements: `hide-actions`.
|
|
|
54
60
|
|
|
55
61
|
## Related
|
|
56
62
|
|
|
57
|
-
- Components: [Button](./wa-button.md).
|
|
63
|
+
- Components: [Button](./wa-button.md), [Surface Scaffolds](./surface-scaffold.md).
|
|
58
64
|
- Docs: [`docs/webawesome-theme.md#coverage`](../../docs/webawesome-theme.md#coverage).
|
|
59
65
|
- UX catalog route: `?component=wa-dialog`.
|
|
@@ -11,6 +11,7 @@ Visual separator for related groups of content.
|
|
|
11
11
|
**Not when:**
|
|
12
12
|
|
|
13
13
|
- Do not choose it from catalog presence alone; confirm that its semantic and interaction contract matches the product need.
|
|
14
|
+
- Use it only in an application that has adopted the optional Web Awesome integration (registration imports plus @kerfjs/ui/webawesome.css); a Kerf-only application uses a Kerf component or a native element instead.
|
|
14
15
|
|
|
15
16
|
## Imports
|
|
16
17
|
|