@kerfjs/ui 5.0.0-beta.55 → 5.0.0-beta.57
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 +74 -41
- package/ai/application-ui-diagnostic-ids-v1.json +9 -1
- package/ai/application-ui-profile-sync.cjs +1 -1
- package/ai/application-ui-profile.defaults.json +63 -8
- package/ai/application-ui-profile.mjs +1 -1
- package/ai/compile-time-contracts-v1.json +2 -2
- package/ai/component-catalog.json +407 -80
- package/ai/component-catalog.schema.json +2 -0
- 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-catalog-v2-overrides.json → component-composition-rules.json} +2 -1
- package/ai/{component-catalog-v2.d.ts → component-composition.d.ts} +9 -5
- package/ai/{component-catalog-v2.json → component-composition.json} +302 -61
- package/ai/{component-catalog-v2.schema.json → component-composition.schema.json} +21 -5
- package/ai/components/README.md +170 -0
- package/ai/components/application-tabs.md +65 -0
- package/ai/components/badge.md +72 -0
- package/ai/components/collapsible-panel.md +102 -0
- package/ai/components/content-item.md +90 -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 +80 -0
- package/ai/components/foundation.md +65 -0
- package/ai/components/grid.md +93 -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 +88 -0
- package/ai/components/list.md +103 -0
- package/ai/components/loading-spinner.md +72 -0
- package/ai/components/lucide-icon.md +66 -0
- package/ai/components/nav-stack.md +103 -0
- package/ai/components/pane.md +100 -0
- package/ai/components/popup-menu.md +82 -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 +101 -0
- package/ai/components/row.md +96 -0
- package/ai/components/segmented-control.md +82 -0
- package/ai/components/select.md +107 -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 +92 -0
- package/ai/components/sunken-panel.md +79 -0
- package/ai/components/surface-scaffold.md +78 -0
- package/ai/components/tab-bar.md +112 -0
- package/ai/components/tab-scaffold.md +94 -0
- package/ai/components/tabs.md +90 -0
- package/ai/components/text.md +82 -0
- package/ai/components/token-search-field.md +101 -0
- package/ai/components/toolbar-control-group.md +100 -0
- package/ai/components/toolbar-text.md +76 -0
- package/ai/components/toolbar.md +95 -0
- package/ai/components/value-table.md +72 -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 +114 -0
- package/ai/public-api-signatures-v1.md +572 -101
- package/ai/skill.md +107 -52
- package/ai/webawesome-jsx-signatures-v1.md +8 -2
- package/analyzer/component-ownership.d.mts +56 -0
- package/analyzer/component-ownership.mjs +184 -0
- package/analyzer/index.d.mts +3 -0
- package/analyzer/index.mjs +274 -20
- package/analyzer/selectors.d.mts +21 -0
- package/analyzer/selectors.mjs +212 -0
- package/dist/app-tab.js +1 -1
- package/dist/badge.d.ts +35 -7
- package/dist/badge.js +1 -1
- package/dist/browser/catalog.js +25 -0
- package/dist/browser/collapsible-panel.js +7 -0
- package/dist/browser/content-item.js +3 -0
- package/dist/browser/nav-stack.js +8 -0
- package/dist/browser/select.js +1 -0
- package/dist/browser/split-view.js +10 -0
- package/dist/browser/tab-scaffold.js +4 -0
- package/dist/browser/workbench.js +10 -0
- package/dist/catalog-resources.d.ts +12 -1
- package/dist/catalog.d.ts +14 -3
- package/dist/catalog.js +53 -43
- package/dist/catalog.js.map +1 -1
- package/dist/{chunk-WZ2GLEY4.js → chunk-2G2ZJQYK.js} +2 -14
- package/dist/chunk-2G2ZJQYK.js.map +1 -0
- package/dist/{chunk-R754MHXX.js → chunk-553ASUK6.js} +8 -8
- package/dist/chunk-553ASUK6.js.map +1 -0
- package/dist/{chunk-D7GWXIAS.js → chunk-5I7QGQVT.js} +1 -1
- package/dist/chunk-5I7QGQVT.js.map +1 -0
- package/dist/{chunk-RNRUVPJ3.js → chunk-63ZWBGE3.js} +3 -2
- package/dist/chunk-63ZWBGE3.js.map +1 -0
- package/dist/{chunk-44IG7PFV.js → chunk-6CINWX2E.js} +3 -3
- package/dist/{chunk-44IG7PFV.js.map → chunk-6CINWX2E.js.map} +1 -1
- package/dist/{chunk-MTM43SJO.js → chunk-6YFHCLHG.js} +2 -2
- package/dist/chunk-6YFHCLHG.js.map +1 -0
- package/dist/{chunk-C2FAYFDE.js → chunk-AGXQQFKZ.js} +2 -2
- package/dist/{chunk-C2FAYFDE.js.map → chunk-AGXQQFKZ.js.map} +1 -1
- package/dist/{chunk-ATHXW6RP.js → chunk-AHEG27M7.js} +2 -2
- package/dist/{chunk-ATHXW6RP.js.map → chunk-AHEG27M7.js.map} +1 -1
- package/dist/chunk-BFPBS5Y4.js +250 -0
- package/dist/chunk-BFPBS5Y4.js.map +1 -0
- package/dist/{chunk-5OLVUEND.js → chunk-DG6G5EPF.js} +4 -6
- package/dist/chunk-DG6G5EPF.js.map +1 -0
- package/dist/{chunk-LZXQVUGN.js → chunk-EVYKTVBQ.js} +5 -14
- package/dist/chunk-EVYKTVBQ.js.map +1 -0
- package/dist/{chunk-7GUQYHKA.js → chunk-EZVNC4J6.js} +7 -1
- package/dist/chunk-EZVNC4J6.js.map +1 -0
- package/dist/{chunk-RNZAKSME.js → chunk-F4QMLOXJ.js} +5 -4
- package/dist/chunk-F4QMLOXJ.js.map +1 -0
- package/dist/{chunk-EAX2GSS4.js → chunk-G2RKFVRB.js} +54 -20
- package/dist/chunk-G2RKFVRB.js.map +1 -0
- package/dist/chunk-JCV4GXWB.js +249 -0
- package/dist/chunk-JCV4GXWB.js.map +1 -0
- package/dist/chunk-K47P7QZC.js +17 -0
- package/dist/chunk-K47P7QZC.js.map +1 -0
- package/dist/{chunk-HMQ2ZDGG.js → chunk-KROD7KZK.js} +3 -2
- package/dist/chunk-KROD7KZK.js.map +1 -0
- package/dist/{chunk-5NDQABWK.js → chunk-M7QV3IHH.js} +3 -1
- package/dist/chunk-M7QV3IHH.js.map +1 -0
- package/dist/chunk-MA73TA6D.js +42 -0
- package/dist/chunk-MA73TA6D.js.map +1 -0
- package/dist/{chunk-ZMBU522F.js → chunk-MEY33VWB.js} +2 -2
- package/dist/{chunk-ZMBU522F.js.map → chunk-MEY33VWB.js.map} +1 -1
- package/dist/chunk-MP2GDBQZ.js +50 -0
- package/dist/chunk-MP2GDBQZ.js.map +1 -0
- package/dist/{chunk-3NBL3OUQ.js → chunk-NAPE7WUS.js} +2 -2
- package/dist/chunk-NAPE7WUS.js.map +1 -0
- package/dist/{chunk-BSKEH3UC.js → chunk-NBYTIVHS.js} +2 -2
- package/dist/{chunk-BSKEH3UC.js.map → chunk-NBYTIVHS.js.map} +1 -1
- package/dist/{chunk-T22EM4ET.js → chunk-OUK6QRDR.js} +71 -31
- package/dist/chunk-OUK6QRDR.js.map +1 -0
- package/dist/chunk-PWXNJS2B.js +115 -0
- package/dist/chunk-PWXNJS2B.js.map +1 -0
- package/dist/{chunk-GUIHMIT2.js → chunk-QOWG4ZCL.js} +5 -4
- package/dist/chunk-QOWG4ZCL.js.map +1 -0
- package/dist/{chunk-5I22LMCV.js → chunk-VZOFZPSO.js} +2 -2
- package/dist/chunk-VZOFZPSO.js.map +1 -0
- package/dist/{chunk-4BIMLITI.js → chunk-WLG6SSNT.js} +5 -3
- package/dist/chunk-WLG6SSNT.js.map +1 -0
- package/dist/{chunk-NE5JAOQS.js → chunk-WOUF7YXM.js} +3 -3
- package/dist/{chunk-NE5JAOQS.js.map → chunk-WOUF7YXM.js.map} +1 -1
- package/dist/{chunk-N7FHFNT6.js → chunk-XCO6YCYM.js} +34 -5
- package/dist/chunk-XCO6YCYM.js.map +1 -0
- package/dist/{chunk-TZ5IHWB2.js → chunk-XDKAYSVD.js} +5 -3
- package/dist/chunk-XDKAYSVD.js.map +1 -0
- package/dist/collapsible-panel.d.ts +14 -3
- package/dist/collapsible-panel.js +13 -16
- package/dist/collapsible-panel.js.map +1 -1
- package/dist/content-item.d.ts +46 -0
- package/dist/content-item.js +4 -0
- package/dist/content-item.js.map +1 -0
- package/dist/css-values.d.ts +5 -11
- package/dist/css-values.js +1 -1
- package/dist/disclosure-arrow.d.ts +4 -1
- package/dist/disclosure-arrow.js +1 -1
- package/dist/floating-toolbar.d.ts +17 -6
- package/dist/floating-toolbar.js +1 -1
- package/dist/grid.js +1 -1
- 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 +7 -5
- package/dist/index.js +29 -26
- package/dist/list-action-row.js +2 -1
- package/dist/list-header.d.ts +14 -1
- package/dist/list-header.js +1 -1
- package/dist/list-inset-control.d.ts +1 -1
- package/dist/list-inset-control.js +1 -1
- package/dist/list-inset-text.d.ts +3 -10
- package/dist/list-inset-text.js +1 -1
- package/dist/list-item.js +2 -1
- package/dist/list.d.ts +10 -3
- package/dist/list.js +1 -1
- package/dist/nav-stack.d.ts +50 -5
- package/dist/nav-stack.js +4 -1
- package/dist/pane.d.ts +37 -2
- package/dist/pane.js +1 -1
- package/dist/{panel-toolbar-BFQxFITu.d.ts → panel-toolbar-BN4x0rth.d.ts} +13 -1
- package/dist/popup-menu-register.js +3 -2
- package/dist/popup-menu-register.js.map +1 -1
- package/dist/popup-menu.js +1 -1
- package/dist/row.d.ts +1 -1
- package/dist/row.js +1 -1
- package/dist/select-register.js +70 -3
- package/dist/select-register.js.map +1 -1
- package/dist/select.d.ts +46 -8
- package/dist/select.js +2 -1
- package/dist/{divider-sides-BzB6rphT.d.ts → sides-BPSWde0A.d.ts} +1 -3
- package/dist/skeleton.js +1 -1
- package/dist/spacer.js +1 -1
- package/dist/split-view.d.ts +31 -3
- package/dist/split-view.js +34 -5
- package/dist/split-view.js.map +1 -1
- package/dist/state-banner.js +1 -1
- package/dist/styles/app-tab.css +31 -0
- package/dist/styles/badge.css +32 -11
- package/dist/styles/catalog/components/catalog-example.css +1 -1
- package/dist/styles/catalog/components/catalog-stage.css +1 -1
- package/dist/styles/collapsible-panel.css +199 -42
- package/dist/styles/content-item.css +30 -0
- package/dist/styles/floating-toolbar.css +26 -2
- package/dist/styles/foundation.css +28 -19
- package/dist/styles/layout.css +1 -21
- package/dist/styles/list-action-row.css +13 -1
- package/dist/styles/list-header.css +0 -12
- package/dist/styles/list-inset-text.css +1 -2
- package/dist/styles/list-item.css +14 -1
- package/dist/styles/list.css +5 -5
- package/dist/styles/nav-stack.css +63 -71
- package/dist/styles/pane.css +83 -1
- package/dist/styles/popup-menu.css +229 -0
- package/dist/styles/resizable-region.css +70 -15
- package/dist/styles/select.css +60 -19
- package/dist/styles/skeleton.css +30 -3
- package/dist/styles/split-view.css +31 -32
- package/dist/styles/state-banner.css +0 -19
- package/dist/styles/surface-scaffold.css +8 -3
- package/dist/styles/tab-bar.css +79 -28
- package/dist/styles/tab-scaffold.css +60 -14
- package/dist/styles/text.css +17 -1
- package/dist/styles/token-search-field.css +4 -4
- package/dist/styles/toolbar-control-group.css +143 -69
- package/dist/styles/toolbar-text.css +21 -0
- package/dist/styles/toolbar.css +22 -37
- package/dist/styles/value-table.css +19 -2
- package/dist/styles/webawesome.css +3 -1
- package/dist/styles/workbench.css +145 -42
- package/dist/tab-scaffold.d.ts +46 -2
- package/dist/tab-scaffold.js +52 -16
- package/dist/tab-scaffold.js.map +1 -1
- package/dist/token-search-field.d.ts +4 -2
- package/dist/token-search-field.js +1 -1
- package/dist/toolbar-text.d.ts +7 -1
- package/dist/toolbar-text.js +1 -1
- package/dist/toolbar.d.ts +20 -5
- package/dist/toolbar.js +1 -1
- package/dist/{types-D6vzj-VT.d.ts → types-BuHELdXR.d.ts} +39 -6
- package/dist/value-table.js +1 -1
- package/dist/webawesome.d.ts +7 -1
- package/dist/wire-catalog.d.ts +15 -2
- package/dist/wire-catalog.js +12 -2
- package/dist/wire-catalog.js.map +1 -1
- package/dist/wire-scroll-dividers.d.ts +69 -0
- package/dist/wire-scroll-dividers.js +3 -0
- package/dist/wire-scroll-dividers.js.map +1 -0
- package/dist/wire-token-search-fields.js +1 -1
- package/dist/workbench.d.ts +60 -22
- package/dist/workbench.js +1 -1
- package/docs/accessibility.md +116 -7
- package/docs/app-layouts.md +18 -8
- package/docs/catalog.md +26 -7
- package/docs/collapsible-panel.md +32 -9
- package/docs/component-contract.md +182 -30
- package/docs/component-selection.md +59 -46
- package/docs/design/templates/empty-state/with-action-dark.svg +1 -1
- package/docs/design/templates/empty-state/with-action.svg +1 -1
- package/docs/design/templates/empty-state-dark.svg +1 -1
- package/docs/design/templates/empty-state.svg +1 -1
- package/docs/design/templates/list/compact-dark.svg +1 -1
- package/docs/design/templates/list/compact.svg +1 -1
- package/docs/design/templates/list/stack-dark.svg +1 -1
- package/docs/design/templates/list/stack.svg +1 -1
- package/docs/design/templates/list-action-row/default-dark.svg +1 -1
- package/docs/design/templates/list-action-row/default.svg +1 -1
- package/docs/design/templates/list-action-row/selected-dark.svg +1 -1
- package/docs/design/templates/list-action-row/selected.svg +1 -1
- package/docs/design/templates/list-action-row-dark.svg +1 -1
- package/docs/design/templates/list-action-row.svg +1 -1
- package/docs/design/templates/list-dark.svg +1 -1
- package/docs/design/templates/list-item/default-dark.svg +1 -1
- package/docs/design/templates/list-item/default.svg +1 -1
- package/docs/design/templates/list-item/selected-dark.svg +1 -1
- package/docs/design/templates/list-item/selected.svg +1 -1
- package/docs/design/templates/list-item/trailing-dark.svg +1 -1
- package/docs/design/templates/list-item/trailing.svg +1 -1
- package/docs/design/templates/list-item-dark.svg +1 -1
- package/docs/design/templates/list-item.svg +1 -1
- package/docs/design/templates/list.svg +1 -1
- package/docs/design/templates/tab-bar/workspace-tabs-dark.svg +1 -1
- package/docs/design/templates/tab-bar/workspace-tabs.svg +1 -1
- package/docs/design/templates/tab-bar-dark.svg +1 -1
- package/docs/design/templates/tab-bar.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-philosophy.md +31 -4
- package/docs/examples/application-ui-profile.json +4 -4
- package/docs/examples/command-palette-adapter.tsx +3 -2
- package/docs/examples/{component-catalog-extension-v2.json → component-composition-extension.json} +3 -3
- package/docs/layout.md +148 -29
- package/docs/nav-stack.md +77 -3
- package/docs/recipes.md +4 -3
- package/docs/split-view.md +54 -5
- package/docs/tab-scaffold.md +73 -2
- package/docs/type-contracts.md +21 -20
- package/docs/ui-analyzer.md +99 -5
- package/docs/ui-doctor.md +10 -0
- package/docs/ux-demo.md +2 -2
- package/docs/webawesome-theme.md +1 -2
- package/docs/workbench.md +57 -11
- package/doctor/index.mjs +6 -1
- package/llms.txt +117 -24
- package/package.json +29 -6
- package/ux-demo/recipes/collapsible-sidebar.tsx +3 -3
- package/ux-demo/recipes/composer-form.tsx +0 -1
- package/ux-demo/recipes/list-detail-dialog.tsx +0 -2
- package/ux-demo/recipes/list-workspace-states.tsx +0 -1
- package/ux-demo/recipes/loading-inspector.tsx +0 -1
- package/ux-demo/recipes/navigation-sidebar.tsx +3 -2
- package/ux-demo/recipes/navigation-stack.tsx +3 -2
- package/ux-demo/recipes/workspace-header.tsx +0 -1
- package/ai/component-catalog-extension-v2.d.ts +0 -7
- package/ai/component-catalog-extension-v2.schema.json +0 -7
- package/dist/chunk-3NBL3OUQ.js.map +0 -1
- package/dist/chunk-4BIMLITI.js.map +0 -1
- package/dist/chunk-5I22LMCV.js.map +0 -1
- package/dist/chunk-5NDQABWK.js.map +0 -1
- package/dist/chunk-5OLVUEND.js.map +0 -1
- package/dist/chunk-7GUQYHKA.js.map +0 -1
- package/dist/chunk-D7GWXIAS.js.map +0 -1
- package/dist/chunk-DQA5FMOX.js +0 -85
- package/dist/chunk-DQA5FMOX.js.map +0 -1
- package/dist/chunk-EAX2GSS4.js.map +0 -1
- package/dist/chunk-GUIHMIT2.js.map +0 -1
- package/dist/chunk-HMQ2ZDGG.js.map +0 -1
- package/dist/chunk-LZXQVUGN.js.map +0 -1
- package/dist/chunk-MTM43SJO.js.map +0 -1
- package/dist/chunk-N7FHFNT6.js.map +0 -1
- package/dist/chunk-R754MHXX.js.map +0 -1
- package/dist/chunk-RNRUVPJ3.js.map +0 -1
- package/dist/chunk-RNZAKSME.js.map +0 -1
- package/dist/chunk-T22EM4ET.js.map +0 -1
- package/dist/chunk-TZ5IHWB2.js.map +0 -1
- package/dist/chunk-WZ2GLEY4.js.map +0 -1
- package/dist/chunk-XD7DWYXG.js +0 -34
- package/dist/chunk-XD7DWYXG.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "./component-
|
|
3
|
-
"schemaVersion":
|
|
2
|
+
"$schema": "./component-composition.schema.json",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
4
|
"package": "@kerfjs/ui",
|
|
5
5
|
"compatibility": {
|
|
6
|
-
"
|
|
6
|
+
"componentCatalog": "./component-catalog.json",
|
|
7
7
|
"identity": "package:id"
|
|
8
8
|
},
|
|
9
9
|
"entries": [
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"accessibility": {
|
|
46
46
|
"obligations": [
|
|
47
|
-
"Badge is non-interactive. Supply label when visible content is abbreviated, and ariaHidden when it repeats an accessible name owned by the surrounding component.",
|
|
47
|
+
"Badge is non-interactive. Supply label when visible content is abbreviated, and ariaHidden when it repeats an accessible name owned by the surrounding component. A text-free dot must take either label (exposed as an image) or ariaHidden, which the types enforce.",
|
|
48
48
|
"Keep meaningful text visible because tone is supplementary."
|
|
49
49
|
]
|
|
50
50
|
},
|
|
@@ -139,7 +139,19 @@
|
|
|
139
139
|
"The arrow is decorative; expose expanded state through aria-expanded on its owning control and keep that control's accessible name stable."
|
|
140
140
|
]
|
|
141
141
|
},
|
|
142
|
-
"cssValueProps": [
|
|
142
|
+
"cssValueProps": [
|
|
143
|
+
{
|
|
144
|
+
"path": "size",
|
|
145
|
+
"grammar": "length",
|
|
146
|
+
"helpers": ["px", "rem", "em", "pct", "space", "lengthVar", "calc"],
|
|
147
|
+
"nonStandaloneHelpers": ["plus"],
|
|
148
|
+
"shorthands": [],
|
|
149
|
+
"canonicalShorthands": [],
|
|
150
|
+
"exceptionalShorthands": [],
|
|
151
|
+
"rawPolicy": "forbid",
|
|
152
|
+
"examples": ["size={remify(24)}"]
|
|
153
|
+
}
|
|
154
|
+
],
|
|
143
155
|
"boundaries": {
|
|
144
156
|
"rootClass": "kui-disclosure-arrow",
|
|
145
157
|
"publicClasses": ["kui-disclosure-arrow"],
|
|
@@ -306,18 +318,6 @@
|
|
|
306
318
|
"--kui-color-danger-on-normal",
|
|
307
319
|
"--kui-color-danger-on-loud",
|
|
308
320
|
"--kui-color-danger-on-fill",
|
|
309
|
-
"--kui-color-border",
|
|
310
|
-
"--kui-color-border-quiet",
|
|
311
|
-
"--kui-color-accent",
|
|
312
|
-
"--kui-color-accent-text",
|
|
313
|
-
"--kui-color-pop",
|
|
314
|
-
"--kui-color-pop-text",
|
|
315
|
-
"--kui-color-success",
|
|
316
|
-
"--kui-color-success-text",
|
|
317
|
-
"--kui-color-warning",
|
|
318
|
-
"--kui-color-warning-text",
|
|
319
|
-
"--kui-color-danger",
|
|
320
|
-
"--kui-color-danger-text",
|
|
321
321
|
"--kui-focus-ring",
|
|
322
322
|
"--kui-shadow-s",
|
|
323
323
|
"--kui-shadow-l"
|
|
@@ -379,6 +379,7 @@
|
|
|
379
379
|
"boundaries": {
|
|
380
380
|
"rootClass": "kui-app-root",
|
|
381
381
|
"publicClasses": ["kui-app-root"],
|
|
382
|
+
"placeableClasses": ["kui-app-root"],
|
|
382
383
|
"publicTokens": []
|
|
383
384
|
},
|
|
384
385
|
"diagnostics": [],
|
|
@@ -434,8 +435,12 @@
|
|
|
434
435
|
"rootClass": "kui-content",
|
|
435
436
|
"publicClasses": [
|
|
436
437
|
"kui-content",
|
|
437
|
-
"kui-
|
|
438
|
-
"kui-
|
|
438
|
+
"kui-control-cluster",
|
|
439
|
+
"kui-inline-metadata",
|
|
440
|
+
"kui-scroll-owner"
|
|
441
|
+
],
|
|
442
|
+
"placeableClasses": [
|
|
443
|
+
"kui-content",
|
|
439
444
|
"kui-control-cluster",
|
|
440
445
|
"kui-inline-metadata",
|
|
441
446
|
"kui-scroll-owner"
|
|
@@ -526,13 +531,31 @@
|
|
|
526
531
|
"id": "responsive placement and visibility",
|
|
527
532
|
"owner": "application",
|
|
528
533
|
"required": false
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"id": "whether the chrome dividers follow the scroll, always show, or never show (chromeDividers)",
|
|
537
|
+
"owner": "application",
|
|
538
|
+
"required": false
|
|
529
539
|
}
|
|
530
540
|
],
|
|
531
541
|
"wiring": {
|
|
532
542
|
"required": false,
|
|
533
|
-
"helpers": [],
|
|
543
|
+
"helpers": ["wireScrollDividers"],
|
|
534
544
|
"obligations": [],
|
|
535
|
-
"stateAttributes": [
|
|
545
|
+
"stateAttributes": [
|
|
546
|
+
{
|
|
547
|
+
"name": "data-scroll-overflow",
|
|
548
|
+
"on": "kui-pane__content",
|
|
549
|
+
"helper": "wireScrollDividers",
|
|
550
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"name": "data-scroll-divider",
|
|
554
|
+
"on": "kui-pane__header and kui-pane__footer",
|
|
555
|
+
"helper": "wireScrollDividers",
|
|
556
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
557
|
+
}
|
|
558
|
+
]
|
|
536
559
|
},
|
|
537
560
|
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
538
561
|
"layout": {
|
|
@@ -614,11 +637,26 @@
|
|
|
614
637
|
"id": "per-view bottom toolbar content or a persistent fallback",
|
|
615
638
|
"owner": "application",
|
|
616
639
|
"required": false
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"id": "per-view leading, center, and trailing top-toolbar groups",
|
|
643
|
+
"owner": "application",
|
|
644
|
+
"required": false
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"id": "top-toolbar configuration, title size, and heading level",
|
|
648
|
+
"owner": "application",
|
|
649
|
+
"required": false
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"id": "whether the chrome and bottom-toolbar dividers follow the scroll, always show, or never show (chromeDividers)",
|
|
653
|
+
"owner": "application",
|
|
654
|
+
"required": false
|
|
617
655
|
}
|
|
618
656
|
],
|
|
619
657
|
"wiring": {
|
|
620
658
|
"required": true,
|
|
621
|
-
"helpers": ["wireNavStack"],
|
|
659
|
+
"helpers": ["wireNavStack", "wireScrollDividers"],
|
|
622
660
|
"obligations": ["Use wireNavStack as documented."],
|
|
623
661
|
"stateAttributes": [
|
|
624
662
|
{
|
|
@@ -638,6 +676,18 @@
|
|
|
638
676
|
"on": "kui-nav-stack__view",
|
|
639
677
|
"helper": "wireNavStack",
|
|
640
678
|
"meaning": "\"true\" on a popped view the helper briefly re-inserts to slide it out."
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"name": "data-scroll-overflow",
|
|
682
|
+
"on": "the active kui-nav-stack__view, or the kui-pane__content of a sole Pane in it",
|
|
683
|
+
"helper": "wireScrollDividers",
|
|
684
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"name": "data-scroll-divider",
|
|
688
|
+
"on": "kui-nav-stack__chrome and kui-nav-stack__bottom",
|
|
689
|
+
"helper": "wireScrollDividers",
|
|
690
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
641
691
|
}
|
|
642
692
|
]
|
|
643
693
|
},
|
|
@@ -649,13 +699,15 @@
|
|
|
649
699
|
"border": "conditional",
|
|
650
700
|
"padding": "child",
|
|
651
701
|
"notes": [
|
|
652
|
-
"The stack owns its full-height chrome and viewport; each view owns its internal content padding and scrollable content."
|
|
702
|
+
"The stack owns its full-height chrome and viewport; each view owns its internal content padding and scrollable content.",
|
|
703
|
+
"The top chrome's bottom line and the bottom toolbar's top line are scroll state (wireScrollDividers), drawn as an overlaid 1px pseudo-element on the chrome and the bottom toolbar's always-present 1px top border, so neither moves the chrome or the content."
|
|
653
704
|
]
|
|
654
705
|
}
|
|
655
706
|
},
|
|
656
707
|
"accessibility": {
|
|
657
708
|
"obligations": [
|
|
658
|
-
"Give the stack region an accessible label and every back control a stable action label.",
|
|
709
|
+
"Give the stack region an accessible label and every back control a stable action label; visible backText names the control itself.",
|
|
710
|
+
"Set toolbarConfig.headingLevel when the view title is the page's or section's heading landmark.",
|
|
659
711
|
"Use wireNavStack so each controlled push moves focus into the new top view and each pop restores the revealed view's remembered descendant.",
|
|
660
712
|
"Mark a preferred initial heading or control with data-nav-focus when the first enabled focusable descendant is not the right target."
|
|
661
713
|
]
|
|
@@ -671,11 +723,6 @@
|
|
|
671
723
|
"kui-nav-stack__chrome-copy",
|
|
672
724
|
"kui-nav-stack__chrome-copy--bottom",
|
|
673
725
|
"kui-nav-stack__chrome-copy--exiting",
|
|
674
|
-
"kui-nav-stack__lead",
|
|
675
|
-
"kui-nav-stack__back",
|
|
676
|
-
"kui-nav-stack__back-icon",
|
|
677
|
-
"kui-nav-stack__title",
|
|
678
|
-
"kui-nav-stack__actions",
|
|
679
726
|
"kui-nav-stack__viewport",
|
|
680
727
|
"kui-nav-stack__view",
|
|
681
728
|
"kui-nav-stack__view--entering",
|
|
@@ -736,6 +783,16 @@
|
|
|
736
783
|
"owner": "application",
|
|
737
784
|
"required": false
|
|
738
785
|
},
|
|
786
|
+
{
|
|
787
|
+
"id": "optional list collapse state and its restore control",
|
|
788
|
+
"owner": "application",
|
|
789
|
+
"required": false
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"id": "compact list and detail toolbar groups, toolbar configuration, and chrome dividers",
|
|
793
|
+
"owner": "application",
|
|
794
|
+
"required": false
|
|
795
|
+
},
|
|
739
796
|
{ "id": "back action", "owner": "application", "required": false }
|
|
740
797
|
],
|
|
741
798
|
"wiring": {
|
|
@@ -832,6 +889,11 @@
|
|
|
832
889
|
"owner": "application",
|
|
833
890
|
"required": false
|
|
834
891
|
},
|
|
892
|
+
{
|
|
893
|
+
"id": "tab badge counts or dots and their localized badgeLabel phrases",
|
|
894
|
+
"owner": "application",
|
|
895
|
+
"required": false
|
|
896
|
+
},
|
|
835
897
|
{
|
|
836
898
|
"id": "routing and persistence",
|
|
837
899
|
"owner": "application",
|
|
@@ -841,30 +903,50 @@
|
|
|
841
903
|
"id": "responsive replacement on larger device classes",
|
|
842
904
|
"owner": "application",
|
|
843
905
|
"required": false
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
"id": "whether the bar divider follows the scroll, always shows, or never shows (chromeDividers)",
|
|
909
|
+
"owner": "application",
|
|
910
|
+
"required": false
|
|
844
911
|
}
|
|
845
912
|
],
|
|
846
913
|
"wiring": {
|
|
847
914
|
"required": true,
|
|
848
|
-
"helpers": ["wireTabScaffold"],
|
|
915
|
+
"helpers": ["wireTabScaffold", "wireScrollDividers"],
|
|
849
916
|
"obligations": ["Use wireTabScaffold as documented."],
|
|
850
|
-
"stateAttributes": [
|
|
917
|
+
"stateAttributes": [
|
|
918
|
+
{
|
|
919
|
+
"name": "data-scroll-overflow",
|
|
920
|
+
"on": "the active kui-tab-scaffold__scene, or what scrolls inside it (a sole NavStack's active view or a sole Pane's content)",
|
|
921
|
+
"helper": "wireScrollDividers",
|
|
922
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"name": "data-scroll-divider",
|
|
926
|
+
"on": "kui-tab-scaffold__bar",
|
|
927
|
+
"helper": "wireScrollDividers",
|
|
928
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
929
|
+
}
|
|
930
|
+
]
|
|
851
931
|
},
|
|
852
932
|
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
853
933
|
"layout": {
|
|
854
934
|
"roles": ["structure"],
|
|
855
935
|
"geometry": {
|
|
856
936
|
"margin": "none",
|
|
857
|
-
"border": "
|
|
937
|
+
"border": "conditional",
|
|
858
938
|
"padding": "self",
|
|
859
939
|
"notes": [
|
|
860
|
-
"The scaffold owns the full-height scene region and safe-area-aware bottom bar; scene content owns its internal geometry."
|
|
940
|
+
"The scaffold owns the full-height scene region and safe-area-aware bottom bar; scene content owns its internal geometry.",
|
|
941
|
+
"The bar's top line is scroll state (wireScrollDividers): it shows only while the active scene's content continues below the bar, by coloring the bar's always-present 1px top border."
|
|
861
942
|
]
|
|
862
943
|
}
|
|
863
944
|
},
|
|
864
945
|
"accessibility": {
|
|
865
946
|
"obligations": [
|
|
866
947
|
"Give the tablist an accessible label and keep exactly the active tab in the sequential focus order.",
|
|
867
|
-
"Wire selection through the controlled active id while leaving inactive scenes mounted and hidden."
|
|
948
|
+
"Wire selection through the controlled active id while leaving inactive scenes mounted and hidden.",
|
|
949
|
+
"A tab badge is aria-hidden; supply badgeLabel so the tab's accessible name becomes \"<label>, <badgeLabel>\" (it defaults to the badge text). The dot form, badge: true, has no text, so its badgeLabel is required."
|
|
868
950
|
]
|
|
869
951
|
},
|
|
870
952
|
"cssValueProps": [],
|
|
@@ -877,6 +959,7 @@
|
|
|
877
959
|
"kui-tab-scaffold__bar",
|
|
878
960
|
"kui-tab-scaffold__tab",
|
|
879
961
|
"kui-tab-scaffold__tab-icon",
|
|
962
|
+
"kui-tab-scaffold__tab-badge",
|
|
880
963
|
"kui-tab-scaffold__tab-label"
|
|
881
964
|
],
|
|
882
965
|
"publicTokens": []
|
|
@@ -945,7 +1028,7 @@
|
|
|
945
1028
|
],
|
|
946
1029
|
"wiring": {
|
|
947
1030
|
"required": false,
|
|
948
|
-
"helpers": ["wireWorkbench"],
|
|
1031
|
+
"helpers": ["wireWorkbench", "wireScrollDividers"],
|
|
949
1032
|
"obligations": [],
|
|
950
1033
|
"stateAttributes": [
|
|
951
1034
|
{
|
|
@@ -959,6 +1042,18 @@
|
|
|
959
1042
|
"on": "kui-workbench__rail",
|
|
960
1043
|
"helper": "wireWorkbench",
|
|
961
1044
|
"meaning": "Present on a resizable rail or the drawer while a pointer drag resizes it."
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
"name": "data-scroll-overflow",
|
|
1048
|
+
"on": "kui-pane__content of each panel and work-area Pane",
|
|
1049
|
+
"helper": "wireScrollDividers",
|
|
1050
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
"name": "data-scroll-divider",
|
|
1054
|
+
"on": "kui-pane__header and kui-pane__footer of each panel and work-area Pane",
|
|
1055
|
+
"helper": "wireScrollDividers",
|
|
1056
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
962
1057
|
}
|
|
963
1058
|
]
|
|
964
1059
|
},
|
|
@@ -1053,7 +1148,7 @@
|
|
|
1053
1148
|
],
|
|
1054
1149
|
"wiring": {
|
|
1055
1150
|
"required": true,
|
|
1056
|
-
"helpers": ["wireSidebar"],
|
|
1151
|
+
"helpers": ["wireSidebar", "wireScrollDividers"],
|
|
1057
1152
|
"obligations": ["Use wireSidebar as documented."],
|
|
1058
1153
|
"stateAttributes": [
|
|
1059
1154
|
{
|
|
@@ -1073,6 +1168,18 @@
|
|
|
1073
1168
|
"on": "kui-collapsible-panel__backdrop",
|
|
1074
1169
|
"helper": "wireSidebar",
|
|
1075
1170
|
"meaning": "Keeps the injected compact-overlay backdrop through the application's re-render; the helper creates and removes the backdrop itself."
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
"name": "data-scroll-overflow",
|
|
1174
|
+
"on": "kui-pane__content of each panel and work-area Pane",
|
|
1175
|
+
"helper": "wireScrollDividers",
|
|
1176
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"name": "data-scroll-divider",
|
|
1180
|
+
"on": "kui-pane__header and kui-pane__footer of each panel and work-area Pane",
|
|
1181
|
+
"helper": "wireScrollDividers",
|
|
1182
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
1076
1183
|
}
|
|
1077
1184
|
]
|
|
1078
1185
|
},
|
|
@@ -1251,9 +1358,22 @@
|
|
|
1251
1358
|
],
|
|
1252
1359
|
"wiring": {
|
|
1253
1360
|
"required": false,
|
|
1254
|
-
"helpers": [],
|
|
1361
|
+
"helpers": ["wireScrollDividers"],
|
|
1255
1362
|
"obligations": [],
|
|
1256
|
-
"stateAttributes": [
|
|
1363
|
+
"stateAttributes": [
|
|
1364
|
+
{
|
|
1365
|
+
"name": "data-scroll-overflow",
|
|
1366
|
+
"on": "the targets scroller",
|
|
1367
|
+
"helper": "wireScrollDividers",
|
|
1368
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"name": "data-scroll-divider",
|
|
1372
|
+
"on": "a Toolbar named as targets chrome",
|
|
1373
|
+
"helper": "wireScrollDividers",
|
|
1374
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
1375
|
+
}
|
|
1376
|
+
]
|
|
1257
1377
|
},
|
|
1258
1378
|
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
1259
1379
|
"layout": {
|
|
@@ -1283,7 +1403,7 @@
|
|
|
1283
1403
|
"kui-toolbar__trailing"
|
|
1284
1404
|
],
|
|
1285
1405
|
"publicTokens": [
|
|
1286
|
-
"--kui-color-border",
|
|
1406
|
+
"--kui-color-neutral-border-normal",
|
|
1287
1407
|
"--kui-font-sans",
|
|
1288
1408
|
"--kui-toolbar-divider-color"
|
|
1289
1409
|
]
|
|
@@ -1347,7 +1467,8 @@
|
|
|
1347
1467
|
},
|
|
1348
1468
|
"accessibility": {
|
|
1349
1469
|
"obligations": [
|
|
1350
|
-
"Name the group when its relationship is not evident from context."
|
|
1470
|
+
"Name the group when its relationship is not evident from context.",
|
|
1471
|
+
"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 Web Awesome 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."
|
|
1351
1472
|
]
|
|
1352
1473
|
},
|
|
1353
1474
|
"cssValueProps": [],
|
|
@@ -1474,7 +1595,19 @@
|
|
|
1474
1595
|
"Give the toolbar an accessible name (label is required — it exposes role=\"toolbar\")."
|
|
1475
1596
|
]
|
|
1476
1597
|
},
|
|
1477
|
-
"cssValueProps": [
|
|
1598
|
+
"cssValueProps": [
|
|
1599
|
+
{
|
|
1600
|
+
"path": "inset",
|
|
1601
|
+
"grammar": "length",
|
|
1602
|
+
"helpers": ["px", "rem", "em", "pct", "space", "lengthVar", "calc"],
|
|
1603
|
+
"nonStandaloneHelpers": ["plus"],
|
|
1604
|
+
"shorthands": [],
|
|
1605
|
+
"canonicalShorthands": [],
|
|
1606
|
+
"exceptionalShorthands": [],
|
|
1607
|
+
"rawPolicy": "forbid",
|
|
1608
|
+
"examples": ["inset={space(\"xs\")}"]
|
|
1609
|
+
}
|
|
1610
|
+
],
|
|
1478
1611
|
"boundaries": {
|
|
1479
1612
|
"rootClass": "kui-floating-toolbar",
|
|
1480
1613
|
"publicClasses": ["kui-floating-toolbar"],
|
|
@@ -1598,7 +1731,7 @@
|
|
|
1598
1731
|
"rootClass": "kui-text",
|
|
1599
1732
|
"publicClasses": ["kui-text"],
|
|
1600
1733
|
"publicTokens": [
|
|
1601
|
-
"--kui-color-danger-
|
|
1734
|
+
"--kui-color-danger-on-quiet",
|
|
1602
1735
|
"--kui-color-text-quiet",
|
|
1603
1736
|
"--kui-font-mono",
|
|
1604
1737
|
"--kui-font-xs",
|
|
@@ -1697,7 +1830,7 @@
|
|
|
1697
1830
|
"kui-value-table__label"
|
|
1698
1831
|
],
|
|
1699
1832
|
"publicTokens": [
|
|
1700
|
-
"--kui-color-border",
|
|
1833
|
+
"--kui-color-neutral-border-normal",
|
|
1701
1834
|
"--kui-color-surface-lowered",
|
|
1702
1835
|
"--kui-color-text",
|
|
1703
1836
|
"--kui-color-text-quiet",
|
|
@@ -2018,9 +2151,22 @@
|
|
|
2018
2151
|
],
|
|
2019
2152
|
"wiring": {
|
|
2020
2153
|
"required": false,
|
|
2021
|
-
"helpers": [],
|
|
2154
|
+
"helpers": ["wireScrollDividers"],
|
|
2022
2155
|
"obligations": [],
|
|
2023
|
-
"stateAttributes": [
|
|
2156
|
+
"stateAttributes": [
|
|
2157
|
+
{
|
|
2158
|
+
"name": "data-scroll-overflow",
|
|
2159
|
+
"on": "the targets scroller",
|
|
2160
|
+
"helper": "wireScrollDividers",
|
|
2161
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
2162
|
+
},
|
|
2163
|
+
{
|
|
2164
|
+
"name": "data-scroll-divider",
|
|
2165
|
+
"on": "a List named as targets chrome",
|
|
2166
|
+
"helper": "wireScrollDividers",
|
|
2167
|
+
"meaning": "The sides, in t/r/b/l order, on which this chrome currently draws its scroll divider: the side facing the scroller while content is hidden beyond it. Re-applied if a re-render drops it."
|
|
2168
|
+
}
|
|
2169
|
+
]
|
|
2024
2170
|
},
|
|
2025
2171
|
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
2026
2172
|
"layout": {
|
|
@@ -2071,7 +2217,7 @@
|
|
|
2071
2217
|
"rootClass": "kui-list",
|
|
2072
2218
|
"publicClasses": ["kui-list"],
|
|
2073
2219
|
"publicTokens": [
|
|
2074
|
-
"--kui-color-border",
|
|
2220
|
+
"--kui-color-neutral-border-normal",
|
|
2075
2221
|
"--kui-layout-item-gap",
|
|
2076
2222
|
"--kui-list-divider-color",
|
|
2077
2223
|
"--kui-list-gap"
|
|
@@ -2119,14 +2265,12 @@
|
|
|
2119
2265
|
"kui-list-header",
|
|
2120
2266
|
"kui-list-header__action",
|
|
2121
2267
|
"kui-list-header__action-layer",
|
|
2122
|
-
"kui-list-header__label",
|
|
2123
2268
|
"kui-list-header__title",
|
|
2124
2269
|
"kui-list-header__toggle"
|
|
2125
2270
|
],
|
|
2126
2271
|
"publicTokens": [
|
|
2127
2272
|
"--kui-color-neutral-border-quiet",
|
|
2128
2273
|
"--kui-focus-ring",
|
|
2129
|
-
"--kui-font-xs",
|
|
2130
2274
|
"--kui-list-header-action-icon-size",
|
|
2131
2275
|
"--kui-list-header-color",
|
|
2132
2276
|
"--kui-layout-inline-margin",
|
|
@@ -2413,11 +2557,89 @@
|
|
|
2413
2557
|
"cssValueProps": [],
|
|
2414
2558
|
"boundaries": {
|
|
2415
2559
|
"rootClass": "kui-list-inset-text",
|
|
2560
|
+
"publicClasses": ["kui-list-inset-text"],
|
|
2561
|
+
"publicTokens": []
|
|
2562
|
+
},
|
|
2563
|
+
"diagnostics": [],
|
|
2564
|
+
"provenance": {
|
|
2565
|
+
"selection": "ai/component-catalog.json",
|
|
2566
|
+
"composition": "generated-permissive-default"
|
|
2567
|
+
}
|
|
2568
|
+
},
|
|
2569
|
+
{
|
|
2570
|
+
"key": "@kerfjs/ui:content-item",
|
|
2571
|
+
"package": "@kerfjs/ui",
|
|
2572
|
+
"id": "content-item",
|
|
2573
|
+
"name": "ContentItem",
|
|
2574
|
+
"kind": "component",
|
|
2575
|
+
"source": "kerf",
|
|
2576
|
+
"parents": { "mode": "any", "entries": [] },
|
|
2577
|
+
"contexts": ["application-ui"],
|
|
2578
|
+
"zones": [],
|
|
2579
|
+
"children": { "mode": "any", "concepts": [], "requiredConcepts": [] },
|
|
2580
|
+
"state": [
|
|
2581
|
+
{ "id": "the item content", "owner": "application", "required": false },
|
|
2582
|
+
{
|
|
2583
|
+
"id": "whether the item marks a real distinction that warrants a visible frame",
|
|
2584
|
+
"owner": "application",
|
|
2585
|
+
"required": false
|
|
2586
|
+
},
|
|
2587
|
+
{ "id": "corner shape", "owner": "application", "required": false },
|
|
2588
|
+
{
|
|
2589
|
+
"id": "region semantics and accessible name",
|
|
2590
|
+
"owner": "application",
|
|
2591
|
+
"required": false
|
|
2592
|
+
},
|
|
2593
|
+
{
|
|
2594
|
+
"id": "whether the item is a programmatic focus target",
|
|
2595
|
+
"owner": "application",
|
|
2596
|
+
"required": false
|
|
2597
|
+
}
|
|
2598
|
+
],
|
|
2599
|
+
"wiring": {
|
|
2600
|
+
"required": false,
|
|
2601
|
+
"helpers": [],
|
|
2602
|
+
"obligations": [],
|
|
2603
|
+
"stateAttributes": []
|
|
2604
|
+
},
|
|
2605
|
+
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
2606
|
+
"layout": {
|
|
2607
|
+
"roles": ["structure"],
|
|
2608
|
+
"geometry": {
|
|
2609
|
+
"margin": "self",
|
|
2610
|
+
"border": "self",
|
|
2611
|
+
"padding": "self",
|
|
2612
|
+
"notes": [
|
|
2613
|
+
"The 1px border is always reserved and transparent unless frame=\"framed\", so framed and unframed items share the same geometry."
|
|
2614
|
+
]
|
|
2615
|
+
}
|
|
2616
|
+
},
|
|
2617
|
+
"accessibility": {
|
|
2618
|
+
"obligations": [
|
|
2619
|
+
"An ordinary item adds no role or name; pass ariaLabel only when the item is a distinct named region (it then renders role=\"region\").",
|
|
2620
|
+
"focusTarget makes the item a programmatic focus target (tabindex=\"-1\", never a tab stop), such as a NavStack view's data-nav-focus target.",
|
|
2621
|
+
"The frame is decorative and never the only signal of state."
|
|
2622
|
+
]
|
|
2623
|
+
},
|
|
2624
|
+
"cssValueProps": [],
|
|
2625
|
+
"boundaries": {
|
|
2626
|
+
"rootClass": "kui-content-item",
|
|
2416
2627
|
"publicClasses": [
|
|
2417
|
-
"kui-
|
|
2418
|
-
"kui-
|
|
2628
|
+
"kui-content-item",
|
|
2629
|
+
"kui-content-item--pill",
|
|
2630
|
+
"kui-content-item--framed"
|
|
2419
2631
|
],
|
|
2420
|
-
"
|
|
2632
|
+
"placeableClasses": [
|
|
2633
|
+
"kui-content-item",
|
|
2634
|
+
"kui-content-item--pill",
|
|
2635
|
+
"kui-content-item--framed"
|
|
2636
|
+
],
|
|
2637
|
+
"rootElement": "div",
|
|
2638
|
+
"publicTokens": [
|
|
2639
|
+
"--kui-content-item-border",
|
|
2640
|
+
"--kui-content-item-radius",
|
|
2641
|
+
"--kui-content-item-background"
|
|
2642
|
+
]
|
|
2421
2643
|
},
|
|
2422
2644
|
"diagnostics": [],
|
|
2423
2645
|
"provenance": {
|
|
@@ -2629,7 +2851,7 @@
|
|
|
2629
2851
|
],
|
|
2630
2852
|
"wiring": {
|
|
2631
2853
|
"required": true,
|
|
2632
|
-
"helpers": ["wireTabBars"],
|
|
2854
|
+
"helpers": ["wireTabBars", "wireScrollDividers"],
|
|
2633
2855
|
"obligations": [
|
|
2634
2856
|
"Retain and invoke the disposer.",
|
|
2635
2857
|
"Apply onReorder to application-owned order."
|
|
@@ -2652,6 +2874,18 @@
|
|
|
2652
2874
|
"on": "kui-tab-bar__tabs",
|
|
2653
2875
|
"helper": "wireTabBars",
|
|
2654
2876
|
"meaning": "\"start\" or \"end\" while a drag near that edge auto-scrolls the strip."
|
|
2877
|
+
},
|
|
2878
|
+
{
|
|
2879
|
+
"name": "data-scroll-overflow",
|
|
2880
|
+
"on": "kui-tab-bar__tabs",
|
|
2881
|
+
"helper": "wireScrollDividers",
|
|
2882
|
+
"meaning": "The physical edges, in canonical t/r/b/l order, beyond which content is scrolled out of view; absent when nothing is hidden (content that fits never reports its far edges). Re-applied if a re-render drops it."
|
|
2883
|
+
},
|
|
2884
|
+
{
|
|
2885
|
+
"name": "data-scroll-divider",
|
|
2886
|
+
"on": "chrome named in wireScrollDividers targets (a TabBar strip has none)",
|
|
2887
|
+
"helper": "wireScrollDividers",
|
|
2888
|
+
"meaning": "The sides, in t/r/b/l order, on which that chrome currently draws its scroll divider. Re-applied if a re-render drops it."
|
|
2655
2889
|
}
|
|
2656
2890
|
]
|
|
2657
2891
|
},
|
|
@@ -2683,7 +2917,11 @@
|
|
|
2683
2917
|
"kui-tab-bar__trailing",
|
|
2684
2918
|
"kui-tab-bar__end"
|
|
2685
2919
|
],
|
|
2686
|
-
"publicTokens": [
|
|
2920
|
+
"publicTokens": [
|
|
2921
|
+
"--kui-tab-bar-background",
|
|
2922
|
+
"--kui-tab-bar-border",
|
|
2923
|
+
"--kui-tab-bar-divider-color"
|
|
2924
|
+
]
|
|
2687
2925
|
},
|
|
2688
2926
|
"diagnostics": [
|
|
2689
2927
|
{
|
|
@@ -2849,9 +3087,9 @@
|
|
|
2849
3087
|
"kui-token-search__trailing"
|
|
2850
3088
|
],
|
|
2851
3089
|
"publicTokens": [
|
|
2852
|
-
"--kui-color-
|
|
2853
|
-
"--kui-color-
|
|
2854
|
-
"--kui-color-border",
|
|
3090
|
+
"--kui-color-brand-fill-normal",
|
|
3091
|
+
"--kui-color-brand-on-quiet",
|
|
3092
|
+
"--kui-color-neutral-border-normal",
|
|
2855
3093
|
"--kui-color-text-link",
|
|
2856
3094
|
"--kui-color-surface",
|
|
2857
3095
|
"--kui-color-text",
|
|
@@ -2944,7 +3182,7 @@
|
|
|
2944
3182
|
"kui-resizable-region__restore"
|
|
2945
3183
|
],
|
|
2946
3184
|
"publicTokens": [
|
|
2947
|
-
"--kui-color-border",
|
|
3185
|
+
"--kui-color-neutral-border-normal",
|
|
2948
3186
|
"--kui-color-neutral-on-quiet",
|
|
2949
3187
|
"--kui-color-text-link",
|
|
2950
3188
|
"--kui-focus-ring",
|
|
@@ -3003,7 +3241,10 @@
|
|
|
3003
3241
|
"Verify the live value, standard events, focus, and rendered output.",
|
|
3004
3242
|
"A nonempty label names the internal combobox; otherwise ariaLabel supplies a visually hidden label without adding control height, including custom selected content.",
|
|
3005
3243
|
"Hint text is visible below the control through Web Awesome's native hint relationship; placeholderText remains the empty value inside the closed control.",
|
|
3006
|
-
"Import select/register once; its scoped lifecycle adapter keeps the latest open/close request authoritative across animation reversals, canceled transitions, and removal. Do not add consumer popup timing or position repairs."
|
|
3244
|
+
"Import select/register once; its scoped lifecycle adapter keeps the latest open/close request authoritative across animation reversals, canceled transitions, and removal. Do not add consumer popup timing or position repairs.",
|
|
3245
|
+
"With multiple, the popup stays open while choices toggle (pointer, Enter, or Space) and closes on an outside press, Escape, or focus leaving; each chosen option shows a check, and the closed control summarizes the chosen labels in choice order.",
|
|
3246
|
+
"A multiple icon-only trigger shows its fixed triggerIcon and, while any choice is chosen, an aria-hidden count Badge; the combobox's accessible name ends with the chosen labels in choice order, and its hidden value stays empty.",
|
|
3247
|
+
"Once registered, an icon-only trigger (single or multiple) shows an aria-hidden Web Awesome help tag repeating its accessible name (a single Select adds its current choice) after a 500ms hover and at once on keyboard focus; it hides while the popup is open, on a press, and on Escape, and never joins aria-labelledby. Do not add a title or another tooltip."
|
|
3007
3248
|
]
|
|
3008
3249
|
},
|
|
3009
3250
|
"cssValueProps": [
|
|
@@ -3035,8 +3276,6 @@
|
|
|
3035
3276
|
"kui-select__icon"
|
|
3036
3277
|
],
|
|
3037
3278
|
"publicTokens": [
|
|
3038
|
-
"--kui-color-brand-fill-normal",
|
|
3039
|
-
"--kui-color-brand-on-fill",
|
|
3040
3279
|
"--kui-color-neutral-border-quiet",
|
|
3041
3280
|
"--kui-color-neutral-on-quiet",
|
|
3042
3281
|
"--kui-disclosure-icon-scale",
|
|
@@ -3097,7 +3336,8 @@
|
|
|
3097
3336
|
},
|
|
3098
3337
|
"accessibility": {
|
|
3099
3338
|
"obligations": [
|
|
3100
|
-
"An icon-only trigger requires label, rendered as visually hidden slotted text because a Web Awesome button takes its accessible name from its content; a trigger with visible text is named by that text. Web Awesome provides menu roles, arrow-key navigation, typeahead, and Escape."
|
|
3339
|
+
"An icon-only trigger requires label, rendered as visually hidden slotted text because a Web Awesome button takes its accessible name from its content; a trigger with visible text is named by that text. Web Awesome provides menu roles, arrow-key navigation, typeahead, and Escape.",
|
|
3340
|
+
"Once registered, an icon-only trigger shows its label as an aria-hidden Web Awesome help tag after a 500ms hover and at once on keyboard focus; it hides while the menu is open, on a press, and on Escape, and never joins aria-labelledby. Do not add a title or another tooltip."
|
|
3101
3341
|
]
|
|
3102
3342
|
},
|
|
3103
3343
|
"cssValueProps": [],
|
|
@@ -4476,6 +4716,7 @@
|
|
|
4476
4716
|
"boundaries": {
|
|
4477
4717
|
"rootClass": null,
|
|
4478
4718
|
"publicClasses": ["hide-actions"],
|
|
4719
|
+
"placeableClasses": ["hide-actions"],
|
|
4479
4720
|
"publicTokens": []
|
|
4480
4721
|
},
|
|
4481
4722
|
"diagnostics": [],
|