@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
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
var(--kui-collapsible-panel-width, 17.5rem) +
|
|
48
48
|
var(--_kui-collapsible-panel-safe-inline-start)
|
|
49
49
|
);
|
|
50
|
-
border-inline-end: 1px solid var(--kui-color-border);
|
|
50
|
+
border-inline-end: 1px solid var(--kui-color-neutral-border-normal);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.kui-collapsible-panel--right {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
var(--kui-collapsible-panel-width, 17.5rem) +
|
|
56
56
|
var(--_kui-collapsible-panel-safe-inline-end)
|
|
57
57
|
);
|
|
58
|
-
border-inline-start: 1px solid var(--kui-color-border);
|
|
58
|
+
border-inline-start: 1px solid var(--kui-color-neutral-border-normal);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.kui-collapsible-panel--bottom {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
width: 100%;
|
|
68
68
|
height: var(--_kui-collapsible-panel-extent);
|
|
69
69
|
min-height: 0;
|
|
70
|
-
border-block-start: 1px solid var(--kui-color-border);
|
|
70
|
+
border-block-start: 1px solid var(--kui-color-neutral-border-normal);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/* The panel's content sees the edges it touches; its interior edge is clear. */
|
|
@@ -111,18 +111,16 @@
|
|
|
111
111
|
var(--kui-edge-inset-inline-end);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
.kui-collapsible-panel__content
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
)
|
|
125
|
-
> * {
|
|
114
|
+
.kui-collapsible-panel__content
|
|
115
|
+
> :not(
|
|
116
|
+
:is(
|
|
117
|
+
[data-component="pane"],
|
|
118
|
+
[data-component="nav-stack"],
|
|
119
|
+
[data-component="split-view"],
|
|
120
|
+
[data-component="workbench"],
|
|
121
|
+
[data-component="tab-scaffold"]
|
|
122
|
+
):only-child
|
|
123
|
+
) {
|
|
126
124
|
--kui-edge-inset-block-start: 0px;
|
|
127
125
|
--kui-edge-inset-block-end: 0px;
|
|
128
126
|
--kui-edge-inset-inline-start: 0px;
|
|
@@ -130,34 +128,132 @@
|
|
|
130
128
|
}
|
|
131
129
|
|
|
132
130
|
/* An expanded inline panel is the region at its edge, so its direct siblings
|
|
133
|
-
no longer reach that edge.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
131
|
+
no longer reach that edge. The container flags the edge it has handed to a
|
|
132
|
+
panel in a non-inheriting property, and a style query zeroes that edge on
|
|
133
|
+
the container's children only; the panel that owns the edge (the first
|
|
134
|
+
left, the last right or bottom) inherits the container's value back.
|
|
135
|
+
Selecting the siblings themselves (`:has(~ panel)`, `panel ~ *`) makes
|
|
136
|
+
every element a sibling-rule candidate, so in Chromium each insertion into
|
|
137
|
+
a long list restyles the list's other rows. The flag is set by a keyed
|
|
138
|
+
`:has(> panel)` on the container and read by a parent style lookup, so a
|
|
139
|
+
list without a panel in it pays nothing. */
|
|
140
|
+
@property --_kui-collapsible-panel-owns-inline-start {
|
|
141
|
+
syntax: "*";
|
|
142
|
+
inherits: false;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@property --_kui-collapsible-panel-owns-inline-end {
|
|
146
|
+
syntax: "*";
|
|
147
|
+
inherits: false;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@property --_kui-collapsible-panel-owns-block-end {
|
|
151
|
+
syntax: "*";
|
|
152
|
+
inherits: false;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
:where(
|
|
156
|
+
:has(
|
|
157
|
+
> .kui-collapsible-panel--left[data-presentation="inline"]:not(
|
|
158
|
+
[data-collapsed="true"],
|
|
159
|
+
[data-collapsible-overlay="true"] *,
|
|
160
|
+
[data-collapsible-responsive="hidden"] *
|
|
161
|
+
)
|
|
138
162
|
)
|
|
139
|
-
|
|
140
|
-
--
|
|
163
|
+
) {
|
|
164
|
+
--_kui-collapsible-panel-owns-inline-start: true;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
:where(
|
|
168
|
+
:has(
|
|
169
|
+
> .kui-collapsible-panel--right[data-presentation="inline"]:not(
|
|
170
|
+
[data-collapsed="true"],
|
|
171
|
+
[data-collapsible-overlay="true"] *,
|
|
172
|
+
[data-collapsible-responsive="hidden"] *
|
|
173
|
+
)
|
|
174
|
+
)
|
|
175
|
+
) {
|
|
176
|
+
--_kui-collapsible-panel-owns-inline-end: true;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
:where(
|
|
180
|
+
:has(
|
|
181
|
+
> .kui-collapsible-panel--bottom[data-presentation="inline"]:not(
|
|
182
|
+
[data-collapsed="true"],
|
|
183
|
+
[data-collapsible-overlay="true"] *,
|
|
184
|
+
[data-collapsible-responsive="hidden"] *
|
|
185
|
+
)
|
|
186
|
+
)
|
|
187
|
+
) {
|
|
188
|
+
--_kui-collapsible-panel-owns-block-end: true;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
@container style(--_kui-collapsible-panel-owns-inline-start: true) {
|
|
192
|
+
:where(*) {
|
|
193
|
+
--kui-edge-inset-inline-start: 0px;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@container style(--_kui-collapsible-panel-owns-inline-end: true) {
|
|
198
|
+
:where(*) {
|
|
199
|
+
--kui-edge-inset-inline-end: 0px;
|
|
200
|
+
}
|
|
141
201
|
}
|
|
142
202
|
|
|
143
|
-
:
|
|
144
|
-
|
|
203
|
+
@container style(--_kui-collapsible-panel-owns-block-end: true) {
|
|
204
|
+
:where(*) {
|
|
205
|
+
--kui-edge-inset-block-end: 0px;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
:where(
|
|
210
|
+
.kui-collapsible-panel--left[data-presentation="inline"]:not(
|
|
145
211
|
[data-collapsed="true"],
|
|
146
212
|
[data-collapsible-overlay="true"] *,
|
|
147
|
-
[data-collapsible-responsive="hidden"]
|
|
213
|
+
[data-collapsible-responsive="hidden"] *,
|
|
214
|
+
.kui-collapsible-panel--left[data-presentation="inline"]:not(
|
|
215
|
+
[data-collapsed="true"],
|
|
216
|
+
[data-collapsible-overlay="true"] *,
|
|
217
|
+
[data-collapsible-responsive="hidden"] *
|
|
218
|
+
)
|
|
219
|
+
~ *
|
|
148
220
|
)
|
|
149
221
|
) {
|
|
150
|
-
--kui-edge-inset-inline-
|
|
222
|
+
--kui-edge-inset-inline-start: inherit;
|
|
151
223
|
}
|
|
152
224
|
|
|
153
|
-
:
|
|
154
|
-
|
|
225
|
+
:where(
|
|
226
|
+
.kui-collapsible-panel--right[data-presentation="inline"]:not(
|
|
155
227
|
[data-collapsed="true"],
|
|
156
228
|
[data-collapsible-overlay="true"] *,
|
|
157
|
-
[data-collapsible-responsive="hidden"]
|
|
229
|
+
[data-collapsible-responsive="hidden"] *,
|
|
230
|
+
:has(
|
|
231
|
+
~ .kui-collapsible-panel--right[data-presentation="inline"]:not(
|
|
232
|
+
[data-collapsed="true"],
|
|
233
|
+
[data-collapsible-overlay="true"] *,
|
|
234
|
+
[data-collapsible-responsive="hidden"] *
|
|
235
|
+
)
|
|
236
|
+
)
|
|
158
237
|
)
|
|
159
238
|
) {
|
|
160
|
-
--kui-edge-inset-
|
|
239
|
+
--kui-edge-inset-inline-end: inherit;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
:where(
|
|
243
|
+
.kui-collapsible-panel--bottom[data-presentation="inline"]:not(
|
|
244
|
+
[data-collapsed="true"],
|
|
245
|
+
[data-collapsible-overlay="true"] *,
|
|
246
|
+
[data-collapsible-responsive="hidden"] *,
|
|
247
|
+
:has(
|
|
248
|
+
~ .kui-collapsible-panel--bottom[data-presentation="inline"]:not(
|
|
249
|
+
[data-collapsed="true"],
|
|
250
|
+
[data-collapsible-overlay="true"] *,
|
|
251
|
+
[data-collapsible-responsive="hidden"] *
|
|
252
|
+
)
|
|
253
|
+
)
|
|
254
|
+
)
|
|
255
|
+
) {
|
|
256
|
+
--kui-edge-inset-block-end: inherit;
|
|
161
257
|
}
|
|
162
258
|
|
|
163
259
|
.kui-collapsible-panel[data-collapsed="true"] {
|
|
@@ -292,10 +388,19 @@
|
|
|
292
388
|
that container or of one of its direct children (the app's work-area
|
|
293
389
|
column) — owns the container's bottom, so the corner floats above the
|
|
294
390
|
drawer's top edge instead of over it. The drawer publishes that edge as an
|
|
295
|
-
anchor
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
.
|
|
391
|
+
anchor only there, beside a CollapsiblePanel or ResizableRegion restore
|
|
392
|
+
control (matched by their restore attributes); a drawer nested deeper,
|
|
393
|
+
inside the work area's own content, belongs to another layout and
|
|
394
|
+
publishes nothing. The selector ends on the drawer, not on a universal
|
|
395
|
+
`> * > * > *` scope below the container: a universal selector after a
|
|
396
|
+
:has() container restyles every child of every ancestor of a DOM change in
|
|
397
|
+
Chromium. Without anchor positioning the corner keeps the container's
|
|
398
|
+
bottom edge. */
|
|
399
|
+
:where(
|
|
400
|
+
:has(> [data-panel-restore], > [data-region-restore]),
|
|
401
|
+
:has(> [data-panel-restore], > [data-region-restore]) > *
|
|
402
|
+
)
|
|
403
|
+
> .kui-collapsible-panel--bottom[data-presentation="inline"]:not(
|
|
299
404
|
[data-collapsed="true"],
|
|
300
405
|
[data-collapsible-overlay="true"] *,
|
|
301
406
|
[data-collapsible-responsive="hidden"] *
|
|
@@ -303,19 +408,20 @@
|
|
|
303
408
|
anchor-name: --kui-restore-drawer;
|
|
304
409
|
}
|
|
305
410
|
|
|
306
|
-
:where(:has(> .kui-collapsible-panel__restore)) > * > * > * {
|
|
307
|
-
anchor-scope: --kui-restore-drawer;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
411
|
.kui-collapsible-panel__restore {
|
|
311
412
|
--_kui-collapsible-panel-restore-inset: var(
|
|
312
413
|
--kui-collapsible-panel-restore-inset,
|
|
313
414
|
1rem
|
|
314
415
|
);
|
|
315
|
-
/* The corner owns the inset, so a FloatingToolbar composed here floats
|
|
316
|
-
from this point instead of adding its own inset on top. */
|
|
317
|
-
--kui-floating-toolbar-inset: 0px;
|
|
318
416
|
position: absolute;
|
|
417
|
+
/* Hidden while an open side overlay covers the content (see below). */
|
|
418
|
+
visibility: var(
|
|
419
|
+
--_kui-workbench-covered,
|
|
420
|
+
var(
|
|
421
|
+
--_kui-collapsible-panel-covered,
|
|
422
|
+
var(--_kui-resizable-region-covered, inherit)
|
|
423
|
+
)
|
|
424
|
+
);
|
|
319
425
|
z-index: var(
|
|
320
426
|
--kui-collapsible-panel-restore-z,
|
|
321
427
|
calc(var(--kui-collapsible-panel-overlay-z, 40) - 2)
|
|
@@ -361,6 +467,57 @@
|
|
|
361
467
|
);
|
|
362
468
|
}
|
|
363
469
|
|
|
470
|
+
/* An open side overlay — the wireSidebar compact overlay or a static
|
|
471
|
+
`presentation="overlay"` panel — covers the content beside it, so that
|
|
472
|
+
content's floating controls (a FloatingToolbar, another panel's restore
|
|
473
|
+
corner) are hidden, not merely stacked beneath it: they never paint over
|
|
474
|
+
the overlay whatever stacking context an app puts them in, and hidden they
|
|
475
|
+
leave the tab order and the accessibility tree. They come back as the
|
|
476
|
+
overlay closes. The CollapsiblePanel's own covered context,
|
|
477
|
+
`--_kui-collapsible-panel-covered`, is read by FloatingToolbar and the
|
|
478
|
+
layouts' restore corners; the overlay panels themselves are exempt, so
|
|
479
|
+
their own floating controls stay. */
|
|
480
|
+
[data-collapsible-overlay="true"]:has(
|
|
481
|
+
.kui-collapsible-panel:is(
|
|
482
|
+
.kui-collapsible-panel--left,
|
|
483
|
+
.kui-collapsible-panel--right
|
|
484
|
+
):not([data-collapsed="true"])
|
|
485
|
+
) {
|
|
486
|
+
--_kui-collapsible-panel-covered: hidden;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
[data-collapsible-overlay="true"] .kui-collapsible-panel {
|
|
490
|
+
--_kui-collapsible-panel-covered: initial;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
/* A static overlay panel sets the flag on its container and clears it again
|
|
494
|
+
on the overlay panels in it, so it reaches the overlay's siblings only —
|
|
495
|
+
never through a universal selector below the :has() container
|
|
496
|
+
(`:has(…) > :not(…)`), which in Chromium restyles every child of every
|
|
497
|
+
ancestor of a DOM change. */
|
|
498
|
+
:where(
|
|
499
|
+
:has(
|
|
500
|
+
> .kui-collapsible-panel:is(
|
|
501
|
+
.kui-collapsible-panel--left,
|
|
502
|
+
.kui-collapsible-panel--right
|
|
503
|
+
)[data-presentation="overlay"]:not([data-collapsed="true"])
|
|
504
|
+
)
|
|
505
|
+
) {
|
|
506
|
+
--_kui-collapsible-panel-covered: hidden;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
:where(
|
|
510
|
+
:has(
|
|
511
|
+
> .kui-collapsible-panel:is(
|
|
512
|
+
.kui-collapsible-panel--left,
|
|
513
|
+
.kui-collapsible-panel--right
|
|
514
|
+
)[data-presentation="overlay"]:not([data-collapsed="true"])
|
|
515
|
+
)
|
|
516
|
+
)
|
|
517
|
+
> .kui-collapsible-panel[data-presentation="overlay"] {
|
|
518
|
+
--_kui-collapsible-panel-covered: initial;
|
|
519
|
+
}
|
|
520
|
+
|
|
364
521
|
/* A button does not stretch between its insets the way a div does, so the
|
|
365
522
|
backdrop sizes itself to its containing block explicitly. It sits one below
|
|
366
523
|
the overlay z-index, so an app that moves the overlay moves the backdrop
|
|
@@ -396,7 +553,7 @@
|
|
|
396
553
|
}
|
|
397
554
|
|
|
398
555
|
.kui-collapsible-panel__toggle:hover {
|
|
399
|
-
border-color: var(--kui-color-border);
|
|
556
|
+
border-color: var(--kui-color-neutral-border-normal);
|
|
400
557
|
background: var(--kui-color-neutral-fill-normal);
|
|
401
558
|
}
|
|
402
559
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* One self-contained content-item: 8px inline margin, a real 1px border
|
|
2
|
+
(transparent unless framed), 8px padding, and a rounded or pill radius.
|
|
3
|
+
Rendered by ContentItem; the classes stay public for other elements. */
|
|
4
|
+
|
|
5
|
+
.kui-content-item {
|
|
6
|
+
min-width: 0;
|
|
7
|
+
margin-inline: var(--kui-layout-inline-margin, 0.5rem);
|
|
8
|
+
padding: var(--kui-layout-item-padding, 0.5rem);
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
border: var(--kui-layout-item-border-width, 1px) solid
|
|
11
|
+
var(--kui-content-item-border, transparent);
|
|
12
|
+
border-radius: var(
|
|
13
|
+
--kui-content-item-radius,
|
|
14
|
+
var(--kui-layout-rounded-radius, calc(1px + 0.6875rem))
|
|
15
|
+
);
|
|
16
|
+
background: var(--kui-content-item-background, transparent);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.kui-content-item--pill {
|
|
20
|
+
--kui-content-item-radius: var(
|
|
21
|
+
--kui-layout-pill-radius,
|
|
22
|
+
calc(1px + 1.3125rem)
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* A visible frame for a content item that marks a real distinction: the
|
|
27
|
+
standard neutral border, same geometry (the border is always reserved). */
|
|
28
|
+
.kui-content-item--framed {
|
|
29
|
+
--kui-content-item-border: var(--kui-color-neutral-border-normal);
|
|
30
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
.kui-floating-toolbar {
|
|
2
2
|
/* Inset from the container edges: a top toolbar sits 8px in, so this floats an
|
|
3
3
|
extra 8px past that (--kui-space-m = 16px). Override the token to reposition,
|
|
4
|
-
on the toolbar or on an ancestor composition boundary
|
|
5
|
-
corner sets it to 0 because the corner already owns the inset. */
|
|
4
|
+
on the toolbar or on an ancestor composition boundary. */
|
|
6
5
|
--_kui-floating-toolbar-inset: var(
|
|
7
6
|
--kui-floating-toolbar-inset,
|
|
8
7
|
var(--kui-space-m, 1rem)
|
|
@@ -13,12 +12,37 @@
|
|
|
13
12
|
dark so the controls read as one distinct floating layer over any theme. */
|
|
14
13
|
position: absolute;
|
|
15
14
|
z-index: 4;
|
|
15
|
+
/* A layout whose open side overlay covers this toolbar's region (a
|
|
16
|
+
Workbench rail, a CollapsiblePanel, a ResizableRegion) provides its own
|
|
17
|
+
covered context to that region, and the toolbar hides — out of the tab
|
|
18
|
+
order and the accessibility tree — rather than risk painting over the
|
|
19
|
+
overlay. Any enclosing layout's covered context hides it. */
|
|
20
|
+
visibility: var(
|
|
21
|
+
--_kui-workbench-covered,
|
|
22
|
+
var(
|
|
23
|
+
--_kui-collapsible-panel-covered,
|
|
24
|
+
var(--_kui-resizable-region-covered, inherit)
|
|
25
|
+
)
|
|
26
|
+
);
|
|
16
27
|
display: flex;
|
|
17
28
|
color-scheme: dark;
|
|
18
29
|
align-items: center;
|
|
19
30
|
gap: var(--kui-space-xs, 0.5rem);
|
|
20
31
|
}
|
|
21
32
|
|
|
33
|
+
/* In a layout's restore corner the corner already owns the inset, so the
|
|
34
|
+
toolbar floats from the corner itself. Zero specificity: the toolbar's own
|
|
35
|
+
`inset` (or an app rule on the toolbar) still wins, while a token inherited
|
|
36
|
+
from outside the corner does not. */
|
|
37
|
+
:where(
|
|
38
|
+
.kui-workbench__restore,
|
|
39
|
+
.kui-collapsible-panel__restore,
|
|
40
|
+
.kui-resizable-region__restore
|
|
41
|
+
)
|
|
42
|
+
:where(.kui-floating-toolbar) {
|
|
43
|
+
--kui-floating-toolbar-inset: 0px;
|
|
44
|
+
}
|
|
45
|
+
|
|
22
46
|
.kui-floating-toolbar[data-position^="bottom"] {
|
|
23
47
|
inset-block-end: var(--_kui-floating-toolbar-inset);
|
|
24
48
|
}
|
|
@@ -79,6 +79,33 @@
|
|
|
79
79
|
--kui-radius-circle: var(--wa-border-radius-circle, 50%);
|
|
80
80
|
--kui-radius-pill: var(--wa-border-radius-pill, 999px);
|
|
81
81
|
--kui-disclosure-icon-scale: 0.5;
|
|
82
|
+
/* Private popup-choice contract. A Select's listbox and a PopupMenu's menu
|
|
83
|
+
both read these, so a value list and a command menu draw one surface
|
|
84
|
+
inset, one row geometry (Web Awesome's option metrics plus Kerf's label
|
|
85
|
+
rhythm), one reserved check column, one current-row fill, one group-title
|
|
86
|
+
style, and one disclosure-caret motion. The em values resolve against the
|
|
87
|
+
row that reads them. */
|
|
88
|
+
--_kui-popup-inset: 0.25rem;
|
|
89
|
+
--_kui-popup-row-gap: 0.125rem;
|
|
90
|
+
--_kui-popup-row-padding-block: 0.5em;
|
|
91
|
+
--_kui-popup-row-padding-inline-start: 0.25em;
|
|
92
|
+
--_kui-popup-row-padding-inline-end: 1em;
|
|
93
|
+
--_kui-popup-row-check-width: calc(
|
|
94
|
+
2 * var(--wa-font-size-smaller, round(calc(1em / 1.125), 1px))
|
|
95
|
+
);
|
|
96
|
+
--_kui-popup-row-icon-size: 1rem;
|
|
97
|
+
--_kui-popup-row-icon-gap: 0.5rem;
|
|
98
|
+
--_kui-popup-row-label-padding-block: 0.35rem;
|
|
99
|
+
--_kui-popup-row-label-line-height: 1.25;
|
|
100
|
+
--_kui-popup-row-current-background: var(--kui-color-brand-fill-normal);
|
|
101
|
+
/* Current row text sits on the brand fill; the darker on-fill accent clears
|
|
102
|
+
WCAG AA there (brand-on-quiet is 4.26:1 over that fill). */
|
|
103
|
+
--_kui-popup-row-current-color: var(--kui-color-brand-on-fill);
|
|
104
|
+
--_kui-popup-group-title-padding: 0.2rem 0.75rem 0.3rem;
|
|
105
|
+
--_kui-popup-group-title-font-weight: 750;
|
|
106
|
+
--_kui-popup-caret-open-rotation: -180deg;
|
|
107
|
+
--_kui-popup-caret-transition: rotate var(--wa-transition-slow, 0.3s)
|
|
108
|
+
var(--wa-transition-easing, ease);
|
|
82
109
|
/* macOS Tahoe light semantics used by Hot Sheet 2, with a compatible dark extension. */
|
|
83
110
|
/* Every --kui-color-* token (and the focus-ring color) that reads a --wa-*
|
|
84
111
|
token falls back to the value src/webawesome.css assigns to that token,
|
|
@@ -419,22 +446,6 @@
|
|
|
419
446
|
fill; #ffa0a2 matches the other tones' pale dark on-fill values. */
|
|
420
447
|
--kui-color-danger-on-fill: light-dark(#c20b20, #ffa0a2);
|
|
421
448
|
|
|
422
|
-
/* Compatibility aliases retained for existing @kerfjs/ui consumers. */
|
|
423
|
-
--kui-color-border: var(
|
|
424
|
-
--wa-color-surface-border,
|
|
425
|
-
var(--kui-color-neutral-border-normal)
|
|
426
|
-
);
|
|
427
|
-
--kui-color-border-quiet: var(--kui-color-neutral-border-quiet);
|
|
428
|
-
--kui-color-accent: var(--kui-color-brand-fill-normal);
|
|
429
|
-
--kui-color-accent-text: var(--kui-color-brand-on-quiet);
|
|
430
|
-
--kui-color-pop: var(--kui-color-pop-fill-quiet);
|
|
431
|
-
--kui-color-pop-text: var(--kui-color-pop-on-fill);
|
|
432
|
-
--kui-color-success: var(--kui-color-success-fill-quiet);
|
|
433
|
-
--kui-color-success-text: var(--kui-color-success-on-quiet);
|
|
434
|
-
--kui-color-warning: var(--kui-color-warning-fill-quiet);
|
|
435
|
-
--kui-color-warning-text: var(--kui-color-warning-on-quiet);
|
|
436
|
-
--kui-color-danger: var(--kui-color-danger-fill-quiet);
|
|
437
|
-
--kui-color-danger-text: var(--kui-color-danger-on-quiet);
|
|
438
449
|
--kui-focus-ring: var(
|
|
439
450
|
--wa-focus-ring,
|
|
440
451
|
3px solid var(--wa-color-focus, light-dark(#007aff, #64d2ff))
|
|
@@ -468,9 +479,7 @@
|
|
|
468
479
|
--kui-color-pop-on-normal: currentColor;
|
|
469
480
|
--kui-color-pop-on-loud: HighlightText;
|
|
470
481
|
--kui-color-pop-on-fill: currentColor;
|
|
471
|
-
--kui-color-
|
|
472
|
-
--kui-color-pop-text: currentColor;
|
|
473
|
-
--kui-color-border: currentColor;
|
|
482
|
+
--kui-color-neutral-border-normal: currentColor;
|
|
474
483
|
--kui-focus-ring: 3px solid currentColor;
|
|
475
484
|
}
|
|
476
485
|
}
|
package/dist/styles/layout.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@import "./pane.css";
|
|
2
|
+
@import "./content-item.css";
|
|
2
3
|
|
|
3
4
|
/* Shared application content geometry for Pane children and standalone stacks. */
|
|
4
5
|
|
|
@@ -10,27 +11,6 @@
|
|
|
10
11
|
gap: var(--kui-layout-content-gap, 1.5rem);
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
.kui-content-item {
|
|
14
|
-
min-width: 0;
|
|
15
|
-
margin-inline: var(--kui-layout-inline-margin, 0.5rem);
|
|
16
|
-
padding: var(--kui-layout-item-padding, 0.5rem);
|
|
17
|
-
box-sizing: border-box;
|
|
18
|
-
border: var(--kui-layout-item-border-width, 1px) solid
|
|
19
|
-
var(--kui-content-item-border, transparent);
|
|
20
|
-
border-radius: var(
|
|
21
|
-
--kui-content-item-radius,
|
|
22
|
-
var(--kui-layout-rounded-radius, calc(1px + 0.6875rem))
|
|
23
|
-
);
|
|
24
|
-
background: var(--kui-content-item-background, transparent);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.kui-content-item--pill {
|
|
28
|
-
--kui-content-item-radius: var(
|
|
29
|
-
--kui-layout-pill-radius,
|
|
30
|
-
calc(1px + 1.3125rem)
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
14
|
.kui-control-cluster {
|
|
35
15
|
display: flex;
|
|
36
16
|
min-width: 0;
|
|
@@ -140,7 +140,6 @@
|
|
|
140
140
|
2.75rem - (2 * var(--kui-layout-item-padding, 0.5rem))
|
|
141
141
|
);
|
|
142
142
|
overflow: hidden;
|
|
143
|
-
text-overflow: ellipsis;
|
|
144
143
|
white-space: nowrap;
|
|
145
144
|
align-items: center;
|
|
146
145
|
}
|
|
@@ -151,6 +150,14 @@
|
|
|
151
150
|
min-width: 0;
|
|
152
151
|
}
|
|
153
152
|
|
|
153
|
+
/* The label is a grid container, and `text-overflow` never reaches a grid
|
|
154
|
+
item's text, so each text line of the stack ellipsizes itself. */
|
|
155
|
+
.kui-list-action-row__primary-label,
|
|
156
|
+
.kui-list-action-row__description {
|
|
157
|
+
overflow: hidden;
|
|
158
|
+
text-overflow: ellipsis;
|
|
159
|
+
}
|
|
160
|
+
|
|
154
161
|
.kui-list-action-row__description,
|
|
155
162
|
.kui-list-action-row__status {
|
|
156
163
|
color: var(--kui-color-neutral-on-quiet);
|
|
@@ -181,6 +188,11 @@
|
|
|
181
188
|
white-space: normal;
|
|
182
189
|
}
|
|
183
190
|
|
|
191
|
+
.kui-list-action-row[data-multiline="true"]
|
|
192
|
+
:is(.kui-list-action-row__primary-label, .kui-list-action-row__description) {
|
|
193
|
+
overflow: visible;
|
|
194
|
+
}
|
|
195
|
+
|
|
184
196
|
.kui-list-action-row[data-multiline="true"] .kui-list-action-row__icon {
|
|
185
197
|
inset-block-start: calc(
|
|
186
198
|
var(--kui-layout-item-padding, 0.5rem) + (1lh / 2)
|
|
@@ -88,18 +88,6 @@
|
|
|
88
88
|
text-align: start;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
.kui-list-header__label {
|
|
92
|
-
min-width: 0;
|
|
93
|
-
margin: 0;
|
|
94
|
-
overflow: hidden;
|
|
95
|
-
font-size: var(--kui-font-xs);
|
|
96
|
-
font-weight: 650;
|
|
97
|
-
letter-spacing: 0.04em;
|
|
98
|
-
text-overflow: ellipsis;
|
|
99
|
-
text-transform: uppercase;
|
|
100
|
-
white-space: nowrap;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
91
|
.kui-list-header__action,
|
|
104
92
|
.kui-list-header__action-layer {
|
|
105
93
|
display: grid;
|
|
@@ -128,13 +128,17 @@
|
|
|
128
128
|
display: grid;
|
|
129
129
|
min-width: 0;
|
|
130
130
|
overflow: hidden;
|
|
131
|
-
text-overflow: ellipsis;
|
|
132
131
|
white-space: nowrap;
|
|
133
132
|
}
|
|
134
133
|
|
|
134
|
+
/* The label is a grid container, and `text-overflow` never reaches a grid
|
|
135
|
+
item's text, so each line of the stack clips and ellipsizes itself: a long
|
|
136
|
+
label ends in "…" before the trailing slot instead of being cut mid-glyph. */
|
|
135
137
|
.kui-list-item__primary-label,
|
|
136
138
|
.kui-list-item__description {
|
|
137
139
|
min-width: 0;
|
|
140
|
+
overflow: hidden;
|
|
141
|
+
text-overflow: ellipsis;
|
|
138
142
|
}
|
|
139
143
|
|
|
140
144
|
.kui-list-item__description {
|
|
@@ -160,6 +164,15 @@
|
|
|
160
164
|
white-space: normal;
|
|
161
165
|
}
|
|
162
166
|
|
|
167
|
+
/* A multiline row shows its whole label, so a single word wider than the
|
|
168
|
+
column (a long component or file name) breaks onto the next line rather
|
|
169
|
+
than running under the trailing slot. */
|
|
170
|
+
.kui-list-item[data-multiline="true"]
|
|
171
|
+
:is(.kui-list-item__primary-label, .kui-list-item__description) {
|
|
172
|
+
overflow: visible;
|
|
173
|
+
overflow-wrap: anywhere;
|
|
174
|
+
}
|
|
175
|
+
|
|
163
176
|
.kui-list-item[data-multiline="true"] .kui-list-item__icon {
|
|
164
177
|
align-self: start;
|
|
165
178
|
margin-block-start: calc((1lh - 1.125rem) / 2);
|
package/dist/styles/list.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
.kui-list {
|
|
2
|
-
--kui-list-divider-color: var(--kui-color-border);
|
|
2
|
+
--kui-list-divider-color: var(--kui-color-neutral-border-normal);
|
|
3
3
|
--kui-list-gap: var(--kui-layout-item-gap, 0.5rem);
|
|
4
4
|
/* Private per-instance values are reset on every List so a nested List that
|
|
5
5
|
omits `gap` or `flex` never inherits its ancestor's; the component's inline
|
|
@@ -110,19 +110,19 @@
|
|
|
110
110
|
overscroll-behavior-y: contain;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
.kui-list[divider-sides*="t"] {
|
|
113
|
+
.kui-list:is([divider-sides*="t"], [data-scroll-divider*="t"]) {
|
|
114
114
|
--_kui-list-divider-top: var(--kui-list-divider-color);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
.kui-list[divider-sides*="r"] {
|
|
117
|
+
.kui-list:is([divider-sides*="r"], [data-scroll-divider*="r"]) {
|
|
118
118
|
--_kui-list-divider-right: var(--kui-list-divider-color);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
.kui-list[divider-sides*="b"] {
|
|
121
|
+
.kui-list:is([divider-sides*="b"], [data-scroll-divider*="b"]) {
|
|
122
122
|
--_kui-list-divider-bottom: var(--kui-list-divider-color);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
.kui-list[divider-sides*="l"] {
|
|
125
|
+
.kui-list:is([divider-sides*="l"], [data-scroll-divider*="l"]) {
|
|
126
126
|
--_kui-list-divider-left: var(--kui-list-divider-color);
|
|
127
127
|
}
|
|
128
128
|
|