@kerfjs/ui 5.0.0-beta.103 → 5.0.0-beta.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +163 -116
- package/ai/application-ui-profile.defaults.json +125 -4
- package/ai/compile-time-contracts-v1.json +11 -11
- package/ai/component-catalog.json +2606 -627
- package/ai/component-composition-rules.json +11 -10
- package/ai/component-composition.json +1689 -300
- package/ai/components/README.md +66 -48
- package/ai/components/application-tabs.md +4 -4
- package/ai/components/badge.md +1 -0
- package/ai/components/button.md +91 -0
- package/ai/components/checkbox.md +89 -0
- package/ai/components/choice-chips.md +9 -3
- package/ai/components/color-field.md +92 -0
- package/ai/components/color-picker.md +90 -0
- package/ai/components/color-swatches.md +82 -0
- package/ai/components/combobox.md +6 -4
- package/ai/components/content-item.md +5 -2
- package/ai/components/disclosure.md +83 -0
- package/ai/components/file-picker.md +1 -0
- package/ai/components/foundation.md +1 -1
- package/ai/components/list-action-row.md +3 -3
- package/ai/components/list-detail-dialog.md +90 -0
- package/ai/components/list.md +2 -0
- package/ai/components/lucide-icon.md +2 -0
- package/ai/components/{composer.md → message-composer.md} +17 -16
- package/ai/components/pane.md +3 -1
- package/ai/components/popup-menu.md +12 -9
- package/ai/components/progress-bar.md +82 -0
- package/ai/components/progress-ring.md +80 -0
- package/ai/components/radio-group.md +88 -0
- package/ai/components/recipe-list-detail-dialog.md +5 -5
- package/ai/components/search-field.md +108 -0
- package/ai/components/select.md +15 -13
- package/ai/components/slider.md +84 -0
- package/ai/components/surface-scaffold.md +16 -13
- package/ai/components/switch.md +81 -0
- package/ai/components/tab-bar.md +6 -6
- package/ai/components/tab-navigator.md +2 -2
- package/ai/components/tabs.md +7 -7
- package/ai/components/tag-field.md +86 -0
- package/ai/components/text-field.md +98 -0
- package/ai/components/text.md +1 -0
- package/ai/components/toast.md +85 -0
- package/ai/components/toolbar-control-group.md +3 -3
- package/ai/components/tooltip.md +81 -0
- package/ai/components/wa-accordion-item.md +11 -5
- package/ai/components/wa-accordion.md +11 -5
- package/ai/components/wa-animated-image.md +2 -1
- package/ai/components/wa-animation.md +1 -0
- package/ai/components/wa-avatar.md +1 -0
- package/ai/components/wa-badge.md +10 -3
- package/ai/components/wa-breadcrumb-item.md +1 -0
- package/ai/components/wa-breadcrumb.md +1 -0
- package/ai/components/wa-button-group.md +6 -4
- package/ai/components/wa-button.md +7 -5
- package/ai/components/wa-callout.md +7 -5
- package/ai/components/wa-card.md +12 -4
- package/ai/components/wa-carousel-item.md +1 -0
- package/ai/components/wa-carousel.md +1 -0
- package/ai/components/wa-checkbox-group.md +11 -4
- package/ai/components/wa-checkbox.md +10 -4
- package/ai/components/wa-color-picker.md +13 -5
- package/ai/components/wa-comparison.md +2 -1
- package/ai/components/wa-copy-button.md +1 -0
- package/ai/components/wa-details.md +11 -5
- package/ai/components/wa-dialog.md +10 -4
- package/ai/components/wa-divider.md +1 -0
- package/ai/components/wa-drawer.md +12 -5
- package/ai/components/wa-dropdown-item.md +8 -6
- package/ai/components/wa-dropdown.md +8 -6
- package/ai/components/wa-format-bytes.md +1 -0
- package/ai/components/wa-format-date.md +1 -0
- package/ai/components/wa-format-number.md +1 -0
- package/ai/components/wa-icon.md +2 -1
- package/ai/components/wa-include.md +6 -4
- package/ai/components/wa-input.md +9 -6
- package/ai/components/wa-intersection-observer.md +1 -0
- package/ai/components/wa-known-date.md +1 -0
- package/ai/components/wa-markdown.md +1 -0
- package/ai/components/wa-mutation-observer.md +1 -0
- package/ai/components/wa-number-input.md +1 -0
- package/ai/components/wa-option.md +7 -5
- package/ai/components/wa-otp-input.md +1 -0
- package/ai/components/wa-page.md +13 -4
- package/ai/components/wa-pagination.md +1 -0
- package/ai/components/wa-popover.md +11 -5
- package/ai/components/wa-popup.md +11 -4
- package/ai/components/wa-progress-bar.md +11 -4
- package/ai/components/wa-progress-ring.md +11 -4
- package/ai/components/wa-qr-code.md +1 -0
- package/ai/components/wa-radio-group.md +12 -4
- package/ai/components/wa-radio.md +10 -4
- package/ai/components/wa-random-content.md +1 -0
- package/ai/components/wa-rating.md +1 -0
- package/ai/components/wa-relative-time.md +1 -0
- package/ai/components/wa-resize-observer.md +1 -0
- package/ai/components/wa-scroller.md +12 -4
- package/ai/components/wa-select.md +7 -5
- package/ai/components/wa-skeleton.md +10 -3
- package/ai/components/wa-slider.md +11 -5
- package/ai/components/wa-spinner.md +7 -5
- package/ai/components/wa-split-panel.md +7 -5
- package/ai/components/wa-step.md +56 -0
- package/ai/components/wa-stepper.md +56 -0
- package/ai/components/wa-switch.md +10 -3
- package/ai/components/wa-tab-group.md +8 -6
- package/ai/components/wa-tab-panel.md +7 -5
- package/ai/components/wa-tab.md +8 -6
- package/ai/components/wa-tag-input.md +62 -0
- package/ai/components/wa-tag.md +9 -6
- package/ai/components/wa-textarea.md +10 -3
- package/ai/components/wa-time-input.md +1 -0
- package/ai/components/wa-toast-item.md +9 -7
- package/ai/components/wa-toast.md +9 -7
- package/ai/components/wa-tooltip.md +11 -5
- package/ai/components/wa-tree-item.md +2 -1
- package/ai/components/wa-tree.md +2 -1
- package/ai/components/wa-zoomable-frame.md +2 -1
- package/ai/components/workbench-dialog.md +90 -0
- package/ai/public-api-signatures-v1.md +1577 -245
- package/ai/skill.md +83 -50
- package/ai/webawesome-jsx-signatures-v1.md +4 -1
- package/dist/badge.d.ts +9 -1
- package/dist/badge.js +1 -1
- package/dist/browser/button.js +5 -0
- package/dist/browser/catalog.js +3 -2
- package/dist/browser/{icon-button.js → checkbox.js} +2 -2
- package/dist/browser/color-field.js +4 -0
- package/dist/browser/color-picker.js +5 -0
- package/dist/browser/color-swatches.js +3 -0
- package/dist/browser/disclosure.js +5 -0
- package/dist/browser/list-action-row.js +1 -0
- package/dist/browser/list-detail-dialog.js +14 -0
- package/dist/browser/message-composer.js +5 -0
- package/dist/browser/popup-menu.js +1 -0
- package/dist/browser/progress-bar.js +3 -0
- package/dist/browser/progress-ring.js +3 -0
- package/dist/browser/radio-group.js +3 -0
- package/dist/browser/search-field.js +4 -0
- package/dist/browser/slider.js +3 -0
- package/dist/browser/surface-scaffold.js +1 -0
- package/dist/browser/switch.js +3 -0
- package/dist/browser/tab-bar-item.js +4 -0
- package/dist/browser/tag-field.js +5 -0
- package/dist/browser/text-field.js +4 -0
- package/dist/browser/workbench-dialog.js +15 -0
- package/dist/button.d.ts +108 -0
- package/dist/button.js +7 -0
- package/dist/button.js.map +1 -0
- package/dist/catalog-resources.d.ts +1 -1
- package/dist/catalog.d.ts +3 -3
- package/dist/catalog.js +57 -27
- package/dist/catalog.js.map +1 -1
- package/dist/checkbox.d.ts +45 -0
- package/dist/checkbox.js +6 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/choice-chips.d.ts +49 -15
- package/dist/choice-chips.js +1 -1
- package/dist/chunk-23PPPNH6.js +93 -0
- package/dist/chunk-23PPPNH6.js.map +1 -0
- package/dist/{chunk-FNZQOUZ5.js → chunk-2FW7D4IG.js} +2 -2
- package/dist/{chunk-FNZQOUZ5.js.map → chunk-2FW7D4IG.js.map} +1 -1
- package/dist/{chunk-ZYU5WRC3.js → chunk-3GLYIIFR.js} +2 -2
- package/dist/{chunk-ZYU5WRC3.js.map → chunk-3GLYIIFR.js.map} +1 -1
- package/dist/{chunk-5NQF35VO.js → chunk-4RECPEHI.js} +2 -2
- package/dist/{chunk-5NQF35VO.js.map → chunk-4RECPEHI.js.map} +1 -1
- package/dist/{chunk-7IUEBNCO.js → chunk-5USKCWGL.js} +8 -3
- package/dist/chunk-5USKCWGL.js.map +1 -0
- package/dist/chunk-6VVIW7VB.js +69 -0
- package/dist/chunk-6VVIW7VB.js.map +1 -0
- package/dist/{chunk-LL45C7BB.js → chunk-7K6U6FCN.js} +1 -1
- package/dist/chunk-7K6U6FCN.js.map +1 -0
- package/dist/{chunk-HQZYKJ56.js → chunk-7W3GKMN4.js} +110 -74
- package/dist/chunk-7W3GKMN4.js.map +1 -0
- package/dist/chunk-ACUKTVS3.js +371 -0
- package/dist/chunk-ACUKTVS3.js.map +1 -0
- package/dist/{chunk-YQ2AC4E2.js → chunk-AMIHGFLP.js} +2 -2
- package/dist/{chunk-YQ2AC4E2.js.map → chunk-AMIHGFLP.js.map} +1 -1
- package/dist/chunk-ATGAJVZ6.js +268 -0
- package/dist/chunk-ATGAJVZ6.js.map +1 -0
- package/dist/chunk-AYPGXR2E.js +20 -0
- package/dist/chunk-AYPGXR2E.js.map +1 -0
- package/dist/{chunk-ETCWQLJV.js → chunk-BKUMG2KB.js} +38 -28
- package/dist/chunk-BKUMG2KB.js.map +1 -0
- package/dist/chunk-C26Q6P4Q.js +76 -0
- package/dist/chunk-C26Q6P4Q.js.map +1 -0
- package/dist/chunk-C3RLKKFQ.js +452 -0
- package/dist/chunk-C3RLKKFQ.js.map +1 -0
- package/dist/{chunk-IM3GKYOG.js → chunk-CIAUILRR.js} +52 -32
- package/dist/chunk-CIAUILRR.js.map +1 -0
- package/dist/chunk-CNM6ZWP2.js +38 -0
- package/dist/chunk-CNM6ZWP2.js.map +1 -0
- package/dist/{chunk-LPHU44S3.js → chunk-CTQUDCY5.js} +3 -1
- package/dist/chunk-CTQUDCY5.js.map +1 -0
- package/dist/{chunk-MXNIVEVL.js → chunk-D4MXSAMI.js} +5 -3
- package/dist/chunk-D4MXSAMI.js.map +1 -0
- package/dist/{chunk-YBWQR2OK.js → chunk-DDSCVEO5.js} +10 -9
- package/dist/chunk-DDSCVEO5.js.map +1 -0
- package/dist/{chunk-SIW64V65.js → chunk-DF2YKGIX.js} +3 -3
- package/dist/{chunk-SIW64V65.js.map → chunk-DF2YKGIX.js.map} +1 -1
- package/dist/{chunk-3SKAEPPZ.js → chunk-ECFCAKWE.js} +4 -4
- package/dist/{chunk-3SKAEPPZ.js.map → chunk-ECFCAKWE.js.map} +1 -1
- package/dist/chunk-EKBMUXFV.js +298 -0
- package/dist/chunk-EKBMUXFV.js.map +1 -0
- package/dist/{chunk-IXLUZHGT.js → chunk-FG6U7KQQ.js} +5 -5
- package/dist/{chunk-IXLUZHGT.js.map → chunk-FG6U7KQQ.js.map} +1 -1
- package/dist/chunk-FKKJHGN5.js +147 -0
- package/dist/chunk-FKKJHGN5.js.map +1 -0
- package/dist/{chunk-FDZNYD4C.js → chunk-GCAK23PU.js} +34 -3
- package/dist/chunk-GCAK23PU.js.map +1 -0
- package/dist/chunk-GXSX6Q6O.js +42 -0
- package/dist/chunk-GXSX6Q6O.js.map +1 -0
- package/dist/{chunk-LOSRXZAH.js → chunk-HJXVVFBT.js} +14 -6
- package/dist/chunk-HJXVVFBT.js.map +1 -0
- package/dist/{chunk-M5KZ26VV.js → chunk-HQZG3OFL.js} +11 -1
- package/dist/chunk-HQZG3OFL.js.map +1 -0
- package/dist/{chunk-ELCMSQNJ.js → chunk-HTERKONR.js} +8 -8
- package/dist/chunk-HTERKONR.js.map +1 -0
- package/dist/chunk-HYORKKYP.js +8 -0
- package/dist/chunk-HYORKKYP.js.map +1 -0
- package/dist/chunk-IO27YTL3.js +73 -0
- package/dist/chunk-IO27YTL3.js.map +1 -0
- package/dist/chunk-ITUQC4FW.js +163 -0
- package/dist/chunk-ITUQC4FW.js.map +1 -0
- package/dist/chunk-K57NINLH.js +137 -0
- package/dist/chunk-K57NINLH.js.map +1 -0
- package/dist/chunk-KC6WUSNS.js +34 -0
- package/dist/chunk-KC6WUSNS.js.map +1 -0
- package/dist/{chunk-W4IK7AWD.js → chunk-KDQZ3E5C.js} +3 -1
- package/dist/chunk-KDQZ3E5C.js.map +1 -0
- package/dist/{chunk-2MSPNRWJ.js → chunk-KK3S5OTW.js} +27 -11
- package/dist/chunk-KK3S5OTW.js.map +1 -0
- package/dist/chunk-LTBVP6VN.js +59 -0
- package/dist/chunk-LTBVP6VN.js.map +1 -0
- package/dist/chunk-OHPYT2BH.js +82 -0
- package/dist/chunk-OHPYT2BH.js.map +1 -0
- package/dist/{chunk-HZPHCSCS.js → chunk-OY2MXIBB.js} +8 -2
- package/dist/chunk-OY2MXIBB.js.map +1 -0
- package/dist/chunk-PE2KPZDW.js +85 -0
- package/dist/chunk-PE2KPZDW.js.map +1 -0
- package/dist/{chunk-QTSMHH5J.js → chunk-QPTJ5DOO.js} +5 -3
- package/dist/chunk-QPTJ5DOO.js.map +1 -0
- package/dist/{chunk-JOR5LGYE.js → chunk-RFLW4FPL.js} +1 -1
- package/dist/chunk-RFLW4FPL.js.map +1 -0
- package/dist/{chunk-U6QYTMDB.js → chunk-RMWNO6BA.js} +6 -2
- package/dist/chunk-RMWNO6BA.js.map +1 -0
- package/dist/{chunk-TDMHA7C3.js → chunk-SQ2Q3OQI.js} +112 -63
- package/dist/chunk-SQ2Q3OQI.js.map +1 -0
- package/dist/{chunk-K4AT3V3J.js → chunk-T74YB76U.js} +13 -11
- package/dist/chunk-T74YB76U.js.map +1 -0
- package/dist/{chunk-BYFTHA4I.js → chunk-TAHR457X.js} +53 -6
- package/dist/chunk-TAHR457X.js.map +1 -0
- package/dist/{chunk-3VXDSIBJ.js → chunk-TKNVL53O.js} +2 -2
- package/dist/{chunk-3VXDSIBJ.js.map → chunk-TKNVL53O.js.map} +1 -1
- package/dist/chunk-TNJLNLVE.js +115 -0
- package/dist/chunk-TNJLNLVE.js.map +1 -0
- package/dist/chunk-TUID42UE.js +15 -0
- package/dist/chunk-TUID42UE.js.map +1 -0
- package/dist/{chunk-PKL6QJKK.js → chunk-UMNHJSIO.js} +93 -80
- package/dist/chunk-UMNHJSIO.js.map +1 -0
- package/dist/chunk-UTCAOOXU.js +116 -0
- package/dist/chunk-UTCAOOXU.js.map +1 -0
- package/dist/{chunk-MF6ZUUJZ.js → chunk-VEME3D7K.js} +38 -40
- package/dist/chunk-VEME3D7K.js.map +1 -0
- package/dist/{chunk-HLDRH23D.js → chunk-WJKHLOP5.js} +2 -2
- package/dist/{chunk-HLDRH23D.js.map → chunk-WJKHLOP5.js.map} +1 -1
- package/dist/chunk-WU57BYYM.js +115 -0
- package/dist/chunk-WU57BYYM.js.map +1 -0
- package/dist/{chunk-TGLUDQP2.js → chunk-ZCDRLN3B.js} +11 -11
- package/dist/chunk-ZCDRLN3B.js.map +1 -0
- package/dist/chunk-ZX2QQJXD.js +249 -0
- package/dist/chunk-ZX2QQJXD.js.map +1 -0
- package/dist/{chunk-6E2H2E5A.js → chunk-ZXZAECHZ.js} +6 -6
- package/dist/{chunk-6E2H2E5A.js.map → chunk-ZXZAECHZ.js.map} +1 -1
- package/dist/collapsible-panel.js +3 -3
- package/dist/color-field.d.ts +51 -0
- package/dist/color-field.js +92 -0
- package/dist/color-field.js.map +1 -0
- package/dist/color-picker.d.ts +88 -0
- package/dist/color-picker.js +8 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/color-swatches.d.ts +56 -0
- package/dist/color-swatches.js +4 -0
- package/dist/color-swatches.js.map +1 -0
- package/dist/combobox.js +1 -1
- package/dist/content-item.d.ts +13 -1
- package/dist/content-item.js +1 -1
- package/dist/disclosure-arrow.js +1 -1
- package/dist/disclosure.d.ts +57 -0
- package/dist/disclosure.js +51 -0
- package/dist/disclosure.js.map +1 -0
- package/dist/file-picker.d.ts +7 -0
- package/dist/file-picker.js +1 -1
- package/dist/help-tags-register.d.ts +8 -8
- package/dist/help-tags-register.js +3 -2
- package/dist/help-tags-register.js.map +1 -1
- package/dist/index.d.ts +16 -9
- package/dist/index.js +58 -46
- package/dist/list-action-row.js +4 -1
- package/dist/list-detail-dialog.d.ts +117 -0
- package/dist/list-detail-dialog.js +165 -0
- package/dist/list-detail-dialog.js.map +1 -0
- package/dist/list-header.js +1 -1
- package/dist/list-item.js +1 -1
- package/dist/list.d.ts +17 -2
- package/dist/list.js +1 -1
- package/dist/lucide-icon.d.ts +9 -1
- package/dist/lucide-icon.js +1 -1
- package/dist/{composer.d.ts → message-composer.d.ts} +20 -12
- package/dist/message-composer.js +6 -0
- package/dist/message-composer.js.map +1 -0
- package/dist/nav-stack.js +1 -1
- package/dist/pane.d.ts +36 -3
- package/dist/pane.js +1 -1
- package/dist/popup-menu-register.d.ts +6 -5
- package/dist/popup-menu-register.js +3 -326
- package/dist/popup-menu-register.js.map +1 -1
- package/dist/popup-menu.d.ts +41 -23
- package/dist/popup-menu.js +5 -1
- package/dist/progress-bar.d.ts +52 -0
- package/dist/progress-bar.js +68 -0
- package/dist/progress-bar.js.map +1 -0
- package/dist/progress-ring.d.ts +44 -0
- package/dist/progress-ring.js +73 -0
- package/dist/progress-ring.js.map +1 -0
- package/dist/radio-group.d.ts +62 -0
- package/dist/radio-group.js +4 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/row.js +1 -1
- package/dist/{token-search-model-aYR0YAei.d.ts → search-field-CrGTN5sa.d.ts} +67 -43
- package/dist/search-field-model.d.ts +3 -0
- package/dist/search-field-model.js +3 -0
- package/dist/search-field-model.js.map +1 -0
- package/dist/search-field.d.ts +3 -0
- package/dist/search-field.js +5 -0
- package/dist/search-field.js.map +1 -0
- package/dist/select-register.d.ts +6 -3
- package/dist/select-register.js +383 -241
- package/dist/select-register.js.map +1 -1
- package/dist/select.d.ts +30 -6
- package/dist/select.js +3 -1
- package/dist/selection.d.ts +54 -0
- package/dist/selection.js +3 -0
- package/dist/selection.js.map +1 -0
- package/dist/slider.d.ts +74 -0
- package/dist/slider.js +103 -0
- package/dist/slider.js.map +1 -0
- package/dist/split-button.js +1 -1
- package/dist/split-view.d.ts +5 -2
- package/dist/split-view.js +18 -159
- package/dist/split-view.js.map +1 -1
- package/dist/state-banner.js +1 -1
- package/dist/styles/badge.css +18 -6
- package/dist/styles/button.css +230 -0
- package/dist/styles/catalog/components/catalog-example.css +13 -4
- package/dist/styles/checkbox.css +121 -0
- package/dist/styles/choice-chips.css +58 -7
- package/dist/styles/color-field.css +125 -0
- package/dist/styles/color-picker.css +331 -0
- package/dist/styles/color-swatches.css +122 -0
- package/dist/styles/combobox.css +7 -5
- package/dist/styles/components/actions/button/button.css +230 -0
- package/dist/styles/components/actions/popup-menu/popup-menu.css +326 -198
- package/dist/styles/components/actions/toolbar/toolbar.css +25 -3
- package/dist/styles/components/actions/toolbar-control-group/toolbar-control-group.css +67 -104
- package/dist/styles/components/actions/toolbar-text/toolbar-text.css +5 -18
- package/dist/styles/components/collections/list/list.css +37 -0
- package/dist/styles/components/feedback/badge/badge.css +18 -6
- package/dist/styles/components/feedback/progress-bar/progress-bar.css +168 -0
- package/dist/styles/components/feedback/progress-ring/progress-ring.css +91 -0
- package/dist/styles/components/feedback/state-banner/state-banner.css +18 -3
- package/dist/styles/components/forms/checkbox/checkbox.css +121 -0
- package/dist/styles/components/forms/choice-chips/choice-chips.css +58 -7
- package/dist/styles/components/forms/color-field/color-field.css +125 -0
- package/dist/styles/components/forms/color-picker/color-picker.css +331 -0
- package/dist/styles/components/forms/color-swatches/color-swatches.css +122 -0
- package/dist/styles/components/forms/combobox/combobox.css +7 -5
- package/dist/styles/components/forms/{composer/composer.css → message-composer/message-composer.css} +17 -33
- package/dist/styles/components/forms/radio-group/radio-group.css +156 -0
- package/dist/styles/{token-search-field.css → components/forms/search-field/search-field.css} +111 -102
- package/dist/styles/components/forms/select/select.css +370 -249
- package/dist/styles/components/forms/slider/slider.css +241 -0
- package/dist/styles/components/forms/switch/switch.css +132 -0
- package/dist/styles/components/forms/tag-field/tag-field.css +8 -0
- package/dist/styles/components/forms/text-field/text-field.css +193 -0
- package/dist/styles/components/layout/pane/pane.css +254 -0
- package/dist/styles/components/layout/resizable-region/resizable-region.css +3 -2
- package/dist/styles/components/layout/row/row.css +11 -0
- package/dist/styles/components/layout/split-view/split-view.css +25 -0
- package/dist/styles/components/layout/workbench/workbench.css +12 -4
- package/dist/styles/components/navigation/disclosure-arrow/disclosure-arrow.css +20 -0
- package/dist/styles/components/navigation/tab-bar/tab-bar.css +7 -7
- package/dist/styles/components/navigation/{app-tab/app-tab.css → tab-bar-item/tab-bar-item.css} +95 -90
- package/dist/styles/components/surfaces/disclosure/disclosure.css +98 -0
- package/dist/styles/components/surfaces/surface-scaffold/surface-scaffold.css +263 -116
- package/dist/styles/components/typography/text/text.css +14 -12
- package/dist/styles/disclosure-arrow.css +20 -0
- package/dist/styles/disclosure.css +98 -0
- package/dist/styles/foundation.css +6 -4
- package/dist/styles/list-detail-dialog.css +11 -0
- package/dist/styles/list.css +37 -0
- package/dist/styles/{composer.css → message-composer.css} +17 -33
- package/dist/styles/overlay-toast.css +149 -0
- package/dist/styles/overlay-tooltip.css +55 -0
- package/dist/styles/pane.css +254 -0
- package/dist/styles/popup-menu.css +326 -198
- package/dist/styles/progress-bar.css +168 -0
- package/dist/styles/progress-ring.css +91 -0
- package/dist/styles/radio-group.css +156 -0
- package/dist/styles/resizable-region.css +3 -2
- package/dist/styles/row.css +11 -0
- package/dist/styles/{components/forms/token-search-field/token-search-field.css → search-field.css} +111 -102
- package/dist/styles/select.css +370 -249
- package/dist/styles/slider.css +241 -0
- package/dist/styles/split-view.css +25 -0
- package/dist/styles/state-banner.css +18 -3
- package/dist/styles/styles.css +16 -5
- package/dist/styles/surface-scaffold.css +263 -116
- package/dist/styles/switch.css +132 -0
- package/dist/styles/{app-tab.css → tab-bar-item.css} +95 -90
- package/dist/styles/tab-bar.css +7 -7
- package/dist/styles/tag-field.css +8 -0
- package/dist/styles/text-field.css +193 -0
- package/dist/styles/text.css +14 -12
- package/dist/styles/toolbar-control-group.css +67 -104
- package/dist/styles/toolbar-text.css +5 -18
- package/dist/styles/toolbar.css +25 -3
- package/dist/styles/webawesome.css +9 -0
- package/dist/styles/workbench-dialog.css +10 -0
- package/dist/styles/workbench.css +12 -4
- package/dist/surface-scaffold-register.d.ts +7 -5
- package/dist/surface-scaffold-register.js +2 -246
- package/dist/surface-scaffold-register.js.map +1 -1
- package/dist/surface-scaffold.d.ts +70 -7
- package/dist/surface-scaffold.js +5 -1
- package/dist/switch.d.ts +38 -0
- package/dist/switch.js +4 -0
- package/dist/switch.js.map +1 -0
- package/dist/{app-tab.d.ts → tab-bar-item.d.ts} +11 -11
- package/dist/tab-bar-item.js +6 -0
- package/dist/tab-bar-item.js.map +1 -0
- package/dist/tab-bar.d.ts +3 -3
- package/dist/tab-bar.js +1 -1
- package/dist/tab-navigator.js +1 -1
- package/dist/tag-field.d.ts +52 -0
- package/dist/tag-field.js +6 -0
- package/dist/tag-field.js.map +1 -0
- package/dist/text-field.d.ts +83 -0
- package/dist/text-field.js +6 -0
- package/dist/text-field.js.map +1 -0
- package/dist/text.d.ts +6 -1
- package/dist/text.js +1 -1
- package/dist/{types-CVgIwSdq.d.ts → types-DmHWkSd6.d.ts} +19 -1
- package/dist/webawesome.d.ts +3 -0
- package/dist/wire-catalog.d.ts +8 -2
- package/dist/wire-catalog.js +16 -4
- package/dist/wire-catalog.js.map +1 -1
- package/dist/wire-checkboxes.d.ts +10 -0
- package/dist/wire-checkboxes.js +3 -0
- package/dist/{wire-composers.js.map → wire-checkboxes.js.map} +1 -1
- package/dist/wire-choice-chips.d.ts +17 -0
- package/dist/wire-choice-chips.js +4 -0
- package/dist/{wire-token-search-fields.js.map → wire-choice-chips.js.map} +1 -1
- package/dist/wire-color-fields.d.ts +33 -0
- package/dist/wire-color-fields.js +82 -0
- package/dist/wire-color-fields.js.map +1 -0
- package/dist/wire-color-pickers.d.ts +34 -0
- package/dist/wire-color-pickers.js +9 -0
- package/dist/wire-color-pickers.js.map +1 -0
- package/dist/wire-comboboxes.js +2 -1
- package/dist/wire-content-items.d.ts +5 -1
- package/dist/wire-content-items.js +84 -15
- package/dist/wire-content-items.js.map +1 -1
- package/dist/wire-file-pickers.d.ts +3 -2
- package/dist/wire-file-pickers.js +1 -1
- package/dist/{wire-composers.d.ts → wire-message-composers.d.ts} +5 -4
- package/dist/wire-message-composers.js +3 -0
- package/dist/wire-message-composers.js.map +1 -0
- package/dist/wire-overlay-sheets.js +1 -1
- package/dist/wire-pane-chrome.d.ts +21 -0
- package/dist/wire-pane-chrome.js +67 -0
- package/dist/wire-pane-chrome.js.map +1 -0
- package/dist/{wire-token-search-fields.d.ts → wire-search-fields.d.ts} +25 -25
- package/dist/wire-search-fields.js +6 -0
- package/dist/wire-search-fields.js.map +1 -0
- package/dist/wire-sliders.d.ts +12 -0
- package/dist/wire-sliders.js +31 -0
- package/dist/wire-sliders.js.map +1 -0
- package/dist/wire-tab-bars.js +1 -1
- package/dist/wire-tag-fields.d.ts +41 -0
- package/dist/wire-tag-fields.js +258 -0
- package/dist/wire-tag-fields.js.map +1 -0
- package/dist/wire-text-fields.d.ts +12 -0
- package/dist/wire-text-fields.js +3 -0
- package/dist/wire-text-fields.js.map +1 -0
- package/dist/workbench-dialog.d.ts +97 -0
- package/dist/workbench-dialog.js +124 -0
- package/dist/workbench-dialog.js.map +1 -0
- package/dist/workbench.d.ts +5 -0
- package/dist/workbench.js +1 -1
- package/docs/accessibility.md +181 -97
- package/docs/anchored-surface.md +8 -7
- package/docs/app-layouts.md +28 -0
- package/docs/catalog.md +14 -5
- package/docs/color-field.md +65 -0
- package/docs/color-picker.md +71 -0
- package/docs/color-swatches.md +46 -0
- package/docs/component-contract.md +31 -32
- package/docs/component-selection.md +232 -165
- package/docs/design/templates/button/emphasis-dark.svg +1 -0
- package/docs/design/templates/button/emphasis.svg +1 -0
- package/docs/design/templates/button/icons-dark.svg +1 -0
- package/docs/design/templates/button/icons.svg +1 -0
- package/docs/design/templates/button/pill-dark.svg +1 -0
- package/docs/design/templates/button/pill.svg +1 -0
- package/docs/design/templates/button/states-dark.svg +1 -0
- package/docs/design/templates/button/states.svg +1 -0
- package/docs/design/templates/button/toggles-dark.svg +1 -0
- package/docs/design/templates/button/toggles.svg +1 -0
- package/docs/design/templates/button/tones-dark.svg +1 -0
- package/docs/design/templates/button/tones.svg +1 -0
- package/docs/design/templates/button-dark.svg +1 -0
- package/docs/design/templates/button.svg +1 -0
- package/docs/design/templates/checkbox/compact-dark.svg +1 -0
- package/docs/design/templates/checkbox/compact.svg +1 -0
- package/docs/design/templates/checkbox/error-dark.svg +1 -0
- package/docs/design/templates/checkbox/error.svg +1 -0
- package/docs/design/templates/checkbox/mixed-dark.svg +1 -0
- package/docs/design/templates/checkbox/mixed.svg +1 -0
- package/docs/design/templates/checkbox/states-dark.svg +1 -0
- package/docs/design/templates/checkbox/states.svg +1 -0
- package/docs/design/templates/checkbox-dark.svg +1 -0
- package/docs/design/templates/checkbox.svg +1 -0
- package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -1
- package/docs/design/templates/choice-chips/color-palette.svg +1 -1
- package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -1
- package/docs/design/templates/choice-chips/compact-icons.svg +1 -1
- package/docs/design/templates/choice-chips/multiple-dark.svg +1 -1
- package/docs/design/templates/choice-chips/multiple.svg +1 -1
- package/docs/design/templates/choice-chips-dark.svg +1 -1
- package/docs/design/templates/choice-chips.svg +1 -1
- package/docs/design/templates/color-field/compact-dark.svg +1 -0
- package/docs/design/templates/color-field/compact.svg +1 -0
- package/docs/design/templates/color-field/error-dark.svg +1 -0
- package/docs/design/templates/color-field/error.svg +1 -0
- package/docs/design/templates/color-field/hint-dark.svg +1 -0
- package/docs/design/templates/color-field/hint.svg +1 -0
- package/docs/design/templates/color-field-dark.svg +1 -0
- package/docs/design/templates/color-field.svg +1 -0
- package/docs/design/templates/color-picker/gray-dark.svg +1 -0
- package/docs/design/templates/color-picker/gray.svg +1 -0
- package/docs/design/templates/color-picker/rgb-dark.svg +1 -0
- package/docs/design/templates/color-picker/rgb.svg +1 -0
- package/docs/design/templates/color-picker-dark.svg +1 -0
- package/docs/design/templates/color-picker.svg +1 -0
- package/docs/design/templates/color-swatches/palette-dark.svg +1 -0
- package/docs/design/templates/color-swatches/palette.svg +1 -0
- package/docs/design/templates/color-swatches-dark.svg +1 -0
- package/docs/design/templates/color-swatches.svg +1 -0
- package/docs/design/templates/disclosure/framed-sunken-dark.svg +1 -0
- package/docs/design/templates/disclosure/framed-sunken.svg +1 -0
- package/docs/design/templates/disclosure/plain-dark.svg +1 -0
- package/docs/design/templates/disclosure/plain.svg +1 -0
- package/docs/design/templates/disclosure-dark.svg +1 -0
- package/docs/design/templates/disclosure.svg +1 -0
- package/docs/design/templates/list-header/size-l-dark.svg +1 -1
- package/docs/design/templates/list-header/size-l.svg +1 -1
- package/docs/design/templates/list-header/size-m-dark.svg +1 -1
- package/docs/design/templates/list-header/size-m.svg +1 -1
- package/docs/design/templates/list-header/size-xl-dark.svg +1 -1
- package/docs/design/templates/list-header/size-xl.svg +1 -1
- package/docs/design/templates/list-header-dark.svg +1 -1
- package/docs/design/templates/list-header.svg +1 -1
- package/docs/design/templates/message-composer/chat-dark.svg +1 -0
- package/docs/design/templates/message-composer/chat.svg +1 -0
- package/docs/design/templates/{composer → message-composer}/prompt-dark.svg +1 -1
- package/docs/design/templates/{composer → message-composer}/prompt.svg +1 -1
- package/docs/design/templates/message-composer-dark.svg +1 -0
- package/docs/design/templates/message-composer.svg +1 -0
- package/docs/design/templates/progress-bar/determinate-dark.svg +1 -0
- package/docs/design/templates/progress-bar/determinate.svg +1 -0
- package/docs/design/templates/progress-bar/tones-dark.svg +1 -0
- package/docs/design/templates/progress-bar/tones.svg +1 -0
- package/docs/design/templates/progress-bar-dark.svg +1 -0
- package/docs/design/templates/progress-bar.svg +1 -0
- package/docs/design/templates/progress-ring/sizes-dark.svg +1 -0
- package/docs/design/templates/progress-ring/sizes.svg +1 -0
- package/docs/design/templates/progress-ring/tones-dark.svg +1 -0
- package/docs/design/templates/progress-ring/tones.svg +1 -0
- package/docs/design/templates/progress-ring-dark.svg +1 -0
- package/docs/design/templates/progress-ring.svg +1 -0
- package/docs/design/templates/radio-group/horizontal-dark.svg +1 -0
- package/docs/design/templates/radio-group/horizontal.svg +1 -0
- package/docs/design/templates/radio-group/vertical-dark.svg +1 -0
- package/docs/design/templates/radio-group/vertical.svg +1 -0
- package/docs/design/templates/radio-group-dark.svg +1 -0
- package/docs/design/templates/radio-group.svg +1 -0
- package/docs/design/templates/segmented-control/equal-dark.svg +1 -1
- package/docs/design/templates/segmented-control/equal.svg +1 -1
- package/docs/design/templates/segmented-control/pill-small-dark.svg +1 -1
- package/docs/design/templates/segmented-control/pill-small.svg +1 -1
- package/docs/design/templates/segmented-control-dark.svg +1 -1
- package/docs/design/templates/segmented-control.svg +1 -1
- package/docs/design/templates/select/compact-dark.svg +1 -0
- package/docs/design/templates/select/compact.svg +1 -0
- package/docs/design/templates/select/form-dark.svg +1 -0
- package/docs/design/templates/select/form.svg +1 -0
- package/docs/design/templates/select/icons-dark.svg +1 -0
- package/docs/design/templates/select/icons.svg +1 -0
- package/docs/design/templates/select-dark.svg +1 -0
- package/docs/design/templates/select.svg +1 -0
- package/docs/design/templates/slider/compact-dark.svg +1 -0
- package/docs/design/templates/slider/compact.svg +1 -0
- package/docs/design/templates/slider/readout-dark.svg +1 -0
- package/docs/design/templates/slider/readout.svg +1 -0
- package/docs/design/templates/slider/ticks-dark.svg +1 -0
- package/docs/design/templates/slider/ticks.svg +1 -0
- package/docs/design/templates/slider-dark.svg +1 -0
- package/docs/design/templates/slider.svg +1 -0
- package/docs/design/templates/switch/compact-dark.svg +1 -0
- package/docs/design/templates/switch/compact.svg +1 -0
- package/docs/design/templates/switch/states-dark.svg +1 -0
- package/docs/design/templates/switch/states.svg +1 -0
- package/docs/design/templates/switch-dark.svg +1 -0
- package/docs/design/templates/switch.svg +1 -0
- package/docs/design/templates/tag-field/error-dark.svg +1 -0
- package/docs/design/templates/tag-field/error.svg +1 -0
- package/docs/design/templates/tag-field/tags-dark.svg +1 -0
- package/docs/design/templates/tag-field/tags.svg +1 -0
- package/docs/design/templates/tag-field-dark.svg +1 -0
- package/docs/design/templates/tag-field.svg +1 -0
- package/docs/design/templates/text-field/compact-dark.svg +1 -0
- package/docs/design/templates/text-field/compact.svg +1 -0
- package/docs/design/templates/text-field/error-dark.svg +1 -0
- package/docs/design/templates/text-field/error.svg +1 -0
- package/docs/design/templates/text-field/labeled-dark.svg +1 -0
- package/docs/design/templates/text-field/labeled.svg +1 -0
- package/docs/design/templates/text-field/multiline-dark.svg +1 -0
- package/docs/design/templates/text-field/multiline.svg +1 -0
- package/docs/design/templates/text-field/search-dark.svg +1 -0
- package/docs/design/templates/text-field/search.svg +1 -0
- package/docs/design/templates/text-field-dark.svg +1 -0
- package/docs/design/templates/text-field.svg +1 -0
- package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -1
- package/docs/design/templates/toolbar/title-and-actions.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-320-dark.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-320.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-600-dark.svg +1 -1
- package/docs/design/templates/toolbar/width-visibility-600.svg +1 -1
- package/docs/design/templates/toolbar-dark.svg +1 -1
- package/docs/design/templates/toolbar.svg +1 -1
- package/docs/design/templates/value-table/details-dark.svg +1 -1
- package/docs/design/templates/value-table/details.svg +1 -1
- package/docs/design/templates/value-table-dark.svg +1 -1
- package/docs/design/templates/value-table.svg +1 -1
- package/docs/design/templates.md +19 -6
- package/docs/design-philosophy.md +6 -6
- package/docs/disclosure.md +63 -0
- package/docs/examples/component-catalog-extension.json +2 -2
- package/docs/layout.md +16 -7
- package/docs/list-detail-dialog.md +96 -0
- package/docs/manual-test-plan.md +1 -1
- package/docs/{composer.md → message-composer.md} +41 -28
- package/docs/overlay-toast.md +62 -0
- package/docs/overlay-tooltip.md +53 -0
- package/docs/progress.md +62 -0
- package/docs/recipes.md +15 -21
- package/docs/slider.md +64 -0
- package/docs/surface-scaffold.md +155 -88
- package/docs/tag-field.md +66 -0
- package/docs/type-contracts.md +8 -8
- package/docs/ui-analyzer.md +1 -1
- package/docs/ui-doctor.md +11 -6
- package/docs/ux-demo.md +6 -6
- package/docs/webawesome-migration.md +80 -0
- package/docs/webawesome-theme.md +57 -35
- package/docs/workbench-dialog.md +85 -0
- package/docs/workbench.md +10 -6
- package/docs/writing.md +10 -8
- package/doctor/copy-capitalization-checks.mjs +18 -9
- package/llms.txt +131 -57
- package/package.json +156 -39
- package/ux-demo/recipes/composer-form.tsx +18 -19
- package/ux-demo/recipes/list-detail-dialog.tsx +55 -162
- package/ux-demo/recipes/mount-recipe.ts +7 -6
- package/ux-demo/recipes/types.ts +1 -0
- package/ai/components/icon-button.md +0 -82
- package/ai/components/icon-toggle-button.md +0 -80
- package/ai/components/token-search-field.md +0 -107
- package/dist/app-tab.js +0 -6
- package/dist/app-tab.js.map +0 -1
- package/dist/browser/app-tab.js +0 -4
- package/dist/browser/composer.js +0 -4
- package/dist/browser/icon-toggle-button.js +0 -4
- package/dist/browser/token-search-field.js +0 -4
- package/dist/chunk-2MSPNRWJ.js.map +0 -1
- package/dist/chunk-7IUEBNCO.js.map +0 -1
- package/dist/chunk-AV7CPAPT.js +0 -82
- package/dist/chunk-AV7CPAPT.js.map +0 -1
- package/dist/chunk-BYFTHA4I.js.map +0 -1
- package/dist/chunk-CA7LNX3J.js +0 -44
- package/dist/chunk-CA7LNX3J.js.map +0 -1
- package/dist/chunk-ELCMSQNJ.js.map +0 -1
- package/dist/chunk-ETCWQLJV.js.map +0 -1
- package/dist/chunk-FDZNYD4C.js.map +0 -1
- package/dist/chunk-FR76ZJQC.js +0 -90
- package/dist/chunk-FR76ZJQC.js.map +0 -1
- package/dist/chunk-HQZYKJ56.js.map +0 -1
- package/dist/chunk-HZPHCSCS.js.map +0 -1
- package/dist/chunk-IM3GKYOG.js.map +0 -1
- package/dist/chunk-JOR5LGYE.js.map +0 -1
- package/dist/chunk-K4AT3V3J.js.map +0 -1
- package/dist/chunk-LL45C7BB.js.map +0 -1
- package/dist/chunk-LOSRXZAH.js.map +0 -1
- package/dist/chunk-LPHU44S3.js.map +0 -1
- package/dist/chunk-M5KZ26VV.js.map +0 -1
- package/dist/chunk-MF6ZUUJZ.js.map +0 -1
- package/dist/chunk-MXNIVEVL.js.map +0 -1
- package/dist/chunk-NS762OVM.js +0 -222
- package/dist/chunk-NS762OVM.js.map +0 -1
- package/dist/chunk-PKL6QJKK.js.map +0 -1
- package/dist/chunk-QTSMHH5J.js.map +0 -1
- package/dist/chunk-TDMHA7C3.js.map +0 -1
- package/dist/chunk-TGLUDQP2.js.map +0 -1
- package/dist/chunk-U6QYTMDB.js.map +0 -1
- package/dist/chunk-VFYO3UGZ.js +0 -45
- package/dist/chunk-VFYO3UGZ.js.map +0 -1
- package/dist/chunk-W4IK7AWD.js.map +0 -1
- package/dist/chunk-YBWQR2OK.js.map +0 -1
- package/dist/composer.js +0 -5
- package/dist/composer.js.map +0 -1
- package/dist/icon-button.d.ts +0 -46
- package/dist/icon-button.js +0 -6
- package/dist/icon-button.js.map +0 -1
- package/dist/icon-toggle-button.d.ts +0 -42
- package/dist/icon-toggle-button.js +0 -6
- package/dist/icon-toggle-button.js.map +0 -1
- package/dist/styles/components/actions/icon-button/icon-button.css +0 -22
- package/dist/styles/components/actions/icon-toggle-button/icon-toggle-button.css +0 -83
- package/dist/styles/icon-button.css +0 -22
- package/dist/styles/icon-toggle-button.css +0 -83
- package/dist/token-search-field.d.ts +0 -3
- package/dist/token-search-field.js +0 -5
- package/dist/token-search-field.js.map +0 -1
- package/dist/token-search-model.d.ts +0 -3
- package/dist/token-search-model.js +0 -3
- package/dist/token-search-model.js.map +0 -1
- package/dist/wire-composers.js +0 -3
- package/dist/wire-token-search-fields.js +0 -6
- package/docs/design/templates/composer/chat-dark.svg +0 -1
- package/docs/design/templates/composer/chat.svg +0 -1
- package/docs/design/templates/composer-dark.svg +0 -1
- package/docs/design/templates/composer.svg +0 -1
- /package/docs/design/templates/{token-search-field → search-field}/empty-dark.svg +0 -0
- /package/docs/design/templates/{token-search-field → search-field}/empty.svg +0 -0
- /package/docs/design/templates/{token-search-field → search-field}/tokens-dark.svg +0 -0
- /package/docs/design/templates/{token-search-field → search-field}/tokens.svg +0 -0
- /package/docs/design/templates/{token-search-field-dark.svg → search-field-dark.svg} +0 -0
- /package/docs/design/templates/{token-search-field.svg → search-field.svg} +0 -0
|
@@ -149,21 +149,15 @@ button.kui-toolbar-text:focus-visible {
|
|
|
149
149
|
4.1:1 (dark). The title takes the normal text color (about 10.5:1 and
|
|
150
150
|
8.3:1), and the description lifts halfway toward it (about 5.9:1 in both
|
|
151
151
|
themes), so it still reads as secondary but keeps AA. A ToolbarText in a
|
|
152
|
-
DialogSurface floating header (`headerPresentation="floating"`),
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
DialogSurface floating header (`headerPresentation="floating"`), as its
|
|
153
|
+
heading or in its header actions, sits on the raised chrome material and
|
|
154
|
+
takes the same lift. See docs/accessibility.md "Chrome
|
|
155
155
|
material". */
|
|
156
156
|
.kui-pane[data-header-presentation="overlay"]
|
|
157
157
|
> .kui-pane__header
|
|
158
158
|
.kui-toolbar-text:not([data-tone]),
|
|
159
159
|
.kui-dialog-surface[data-header-presentation="floating"]
|
|
160
|
-
>
|
|
161
|
-
> .kui-toolbar-text:is([slot="label"], [slot="header-actions"]):not(
|
|
162
|
-
[data-tone]
|
|
163
|
-
),
|
|
164
|
-
.kui-dialog-surface[data-header-presentation="floating"]
|
|
165
|
-
> wa-dialog
|
|
166
|
-
> :is([slot="label"], [slot="header-actions"])
|
|
160
|
+
> .kui-dialog-surface__header
|
|
167
161
|
.kui-toolbar-text:not([data-tone]),
|
|
168
162
|
.kui-nav-stack[data-chrome-presentation="overlay"]
|
|
169
163
|
> .kui-nav-stack__chrome
|
|
@@ -179,14 +173,7 @@ button.kui-toolbar-text:focus-visible {
|
|
|
179
173
|
.kui-toolbar-text:not([data-tone])
|
|
180
174
|
.kui-toolbar-text__description,
|
|
181
175
|
.kui-dialog-surface[data-header-presentation="floating"]
|
|
182
|
-
>
|
|
183
|
-
> .kui-toolbar-text:is([slot="label"], [slot="header-actions"]):not(
|
|
184
|
-
[data-tone]
|
|
185
|
-
)
|
|
186
|
-
.kui-toolbar-text__description,
|
|
187
|
-
.kui-dialog-surface[data-header-presentation="floating"]
|
|
188
|
-
> wa-dialog
|
|
189
|
-
> :is([slot="label"], [slot="header-actions"])
|
|
176
|
+
> .kui-dialog-surface__header
|
|
190
177
|
.kui-toolbar-text:not([data-tone])
|
|
191
178
|
.kui-toolbar-text__description,
|
|
192
179
|
.kui-nav-stack[data-chrome-presentation="overlay"]
|
package/dist/styles/toolbar.css
CHANGED
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
) {
|
|
122
122
|
grid-template-columns:
|
|
123
123
|
minmax(0, 1fr)
|
|
124
|
-
minmax(0, var(--kui-
|
|
124
|
+
minmax(0, var(--kui-search-field-expanded-width, 30rem));
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
.kui-toolbar {
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
|
|
167
167
|
/* Every zone reserves a group-height control band. Direct custom content
|
|
168
168
|
centers against its zone's height by default. ToolbarText,
|
|
169
|
-
ToolbarControlGroup,
|
|
169
|
+
ToolbarControlGroup, a standalone Button, and a raw wa-button keep their own first-band
|
|
170
170
|
placement, so taller siblings do not move their controls off that axis.
|
|
171
171
|
`--_kui-toolbar-band` is context those components use for that placement. */
|
|
172
172
|
.kui-toolbar {
|
|
@@ -177,6 +177,13 @@
|
|
|
177
177
|
);
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
+
/* A MessageComposer's action row: the composer frame already insets it and
|
|
181
|
+
spaces it from the field, so the toolbar keeps only its control band. */
|
|
182
|
+
.kui-message-composer > .kui-toolbar {
|
|
183
|
+
min-height: var(--_kui-toolbar-band);
|
|
184
|
+
padding: 0;
|
|
185
|
+
}
|
|
186
|
+
|
|
180
187
|
/* Compact density: a 34px band (the compact ToolbarControlGroup's size) with
|
|
181
188
|
3px block insets makes a 40px header for an embedded panel or card. The
|
|
182
189
|
inline insets and zone gap keep the standard 8px. */
|
|
@@ -265,7 +272,7 @@
|
|
|
265
272
|
flex-wrap: wrap;
|
|
266
273
|
}
|
|
267
274
|
|
|
268
|
-
.kui-toolbar__trailing > wa-button
|
|
275
|
+
.kui-toolbar__trailing > wa-button {
|
|
269
276
|
margin-block-start: max(
|
|
270
277
|
0px,
|
|
271
278
|
calc((var(--_kui-toolbar-band) - var(--wa-form-control-height)) / 2)
|
|
@@ -355,6 +362,21 @@
|
|
|
355
362
|
margin-inline-start: auto;
|
|
356
363
|
}
|
|
357
364
|
|
|
365
|
+
/* A lone zone spans every column track, so an absent (empty, hidden) zone's
|
|
366
|
+
track and the column gap before it never narrow it: leading-only content
|
|
367
|
+
set to fill the row reaches the toolbar's inline-end inset, and
|
|
368
|
+
trailing-only content its inline-start inset. */
|
|
369
|
+
.kui-toolbar[data-has-center="false"]:has(> .kui-toolbar__trailing:empty)
|
|
370
|
+
> .kui-toolbar__leading,
|
|
371
|
+
.kui-toolbar:has(> .kui-toolbar__leading:empty):has(
|
|
372
|
+
> .kui-toolbar__trailing:empty
|
|
373
|
+
)
|
|
374
|
+
> .kui-toolbar__center,
|
|
375
|
+
.kui-toolbar[data-has-center="false"]:has(> .kui-toolbar__leading:empty)
|
|
376
|
+
> .kui-toolbar__trailing {
|
|
377
|
+
grid-column: 1 / -1;
|
|
378
|
+
}
|
|
379
|
+
|
|
358
380
|
.kui-toolbar[data-has-center="false"] .kui-toolbar__center,
|
|
359
381
|
.kui-toolbar__leading:empty,
|
|
360
382
|
.kui-toolbar__trailing:empty {
|
|
@@ -557,6 +557,15 @@
|
|
|
557
557
|
--arrow-size: var(--kui-wa-popover-arrow-size);
|
|
558
558
|
}
|
|
559
559
|
|
|
560
|
+
/* An active step fills its marker with its accent, which upstream is also
|
|
561
|
+
its spinner's color, so a loading active step would draw a blank disc.
|
|
562
|
+
Draw the spinner in the marker's on-accent foreground instead. */
|
|
563
|
+
wa-step[active][loading]::part(spinner) {
|
|
564
|
+
color: inherit;
|
|
565
|
+
--indicator-color: currentColor;
|
|
566
|
+
--track-color: color-mix(in oklab, currentColor 30%, transparent);
|
|
567
|
+
}
|
|
568
|
+
|
|
560
569
|
/* Default-size single-line controls share Kerf's 44px control height (the
|
|
561
570
|
Select field, toolbar groups, and list rows), so a Web Awesome field,
|
|
562
571
|
button, or button radio sits flush beside a Kerf Select instead of 9px
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* Public stylesheet entry; implementation is colocated with the component.
|
|
2
|
+
WorkbenchDialog adds no rules of its own (a header-less DialogSurface around
|
|
3
|
+
a Workbench), so this entry pulls in the stylesheets it renders. */
|
|
4
|
+
@import "./surface-scaffold.css";
|
|
5
|
+
@import "./workbench.css";
|
|
6
|
+
@import "./pane.css";
|
|
7
|
+
@import "./toolbar.css";
|
|
8
|
+
@import "./toolbar-control-group.css";
|
|
9
|
+
@import "./toolbar-text.css";
|
|
10
|
+
@import "./lucide-icon.css";
|
|
@@ -641,12 +641,19 @@
|
|
|
641
641
|
separator — below the Workbench's own container breakpoint (`narrow`: 704px
|
|
642
642
|
or less, `compact`: 448px or less, as `ResizableRegion`'s
|
|
643
643
|
`responsiveFillAt`), and inline above it. The Workbench becomes a named
|
|
644
|
-
inline-size container only when a panel opts in
|
|
644
|
+
inline-size container only when a panel opts in, or when a Pane inside it
|
|
645
|
+
declares `compactChrome` (which applies at its compact width). The work area keeps its
|
|
645
646
|
safe-area inset under an overlay panel. */
|
|
646
647
|
.kui-workbench[data-responsive-overlay="true"] {
|
|
647
648
|
container: kui-workbench / inline-size;
|
|
648
649
|
}
|
|
649
650
|
|
|
651
|
+
.kui-workbench:has(
|
|
652
|
+
[data-component="pane"]:is([data-compact-header], [data-compact-footer])
|
|
653
|
+
) {
|
|
654
|
+
container: kui-workbench / inline-size;
|
|
655
|
+
}
|
|
656
|
+
|
|
650
657
|
/* A numeric pixel threshold is measured by wireWorkbench and marked on the
|
|
651
658
|
panel. Keep its overlay geometry and covered work area in step with that
|
|
652
659
|
single mark, including when the app changes the threshold at render time. */
|
|
@@ -907,9 +914,10 @@
|
|
|
907
914
|
}
|
|
908
915
|
}
|
|
909
916
|
|
|
910
|
-
/* Release the panel and its sliding/scrolling content while a
|
|
911
|
-
|
|
912
|
-
|
|
917
|
+
/* Release the panel and its sliding/scrolling content while a raw Web
|
|
918
|
+
Awesome dropdown is open (a PopupMenu opens in the top layer, which no
|
|
919
|
+
ancestor clips). This comes after resize clipping and keeps the popup in
|
|
920
|
+
place through wa-show/wa-after-hide without a prop change. */
|
|
913
921
|
.kui-workbench__rail:not([data-collapsed="true"]):has(wa-dropdown[open]),
|
|
914
922
|
.kui-workbench__drawer:not([data-collapsed="true"]):has(wa-dropdown[open]) {
|
|
915
923
|
overflow: visible;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Importing this module
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Importing this module wires every DialogSurface in the document: the close
|
|
3
|
+
* button, `data-dialog-close`, Escape, and backdrop requests through the
|
|
4
|
+
* cancelable `kui-request-close`. `openDialog` also wires the dialogs it
|
|
5
|
+
* opens, measuring a floating header's or footer's body clearance, showing a
|
|
6
|
+
* floating header's divider while content scrolls beneath it, and following a
|
|
7
|
+
* bottom sheet's keyboard clearance and resize grabber, all kept across
|
|
8
|
+
* application re-renders while the dialog is open.
|
|
7
9
|
*/
|
|
8
10
|
declare const surfaceScaffoldElementsRegistered = true;
|
|
9
11
|
|
|
@@ -1,252 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import WaDialog from '@awesome.me/webawesome/dist/components/dialog/dialog.js';
|
|
1
|
+
import { installDialogSurfaces } from './chunk-ATGAJVZ6.js';
|
|
3
2
|
|
|
4
|
-
// src/components/surfaces/surface-scaffold/internal/install-bottom-sheet.ts
|
|
5
|
-
var SHEET_HANDLE_PART = "sheet-handle";
|
|
6
|
-
var SHEET_HEIGHT_PROPERTY = "--_kui-dialog-surface-sheet-height";
|
|
7
|
-
var KEYBOARD_INSET_PROPERTY = "--_kui-dialog-surface-keyboard-inset";
|
|
8
|
-
var SHEET_MOTION_ATTRIBUTE = "data-kui-sheet-motion";
|
|
9
|
-
var installed = /* @__PURE__ */ new WeakSet();
|
|
10
|
-
var viewportCleanups = /* @__PURE__ */ new WeakMap();
|
|
11
|
-
var surfaceOf = (host) => host.parentElement?.classList.contains("kui-dialog-surface") ? host.parentElement : null;
|
|
12
|
-
var isBottomSheet = (host) => surfaceOf(host)?.getAttribute("data-presentation") === "bottom-sheet";
|
|
13
|
-
var isResizable = (host) => isBottomSheet(host) && surfaceOf(host).hasAttribute("data-resizable");
|
|
14
|
-
function installBottomSheet(prototype) {
|
|
15
|
-
if (installed.has(prototype)) return;
|
|
16
|
-
installed.add(prototype);
|
|
17
|
-
const target = prototype;
|
|
18
|
-
const { update, show, requestClose } = target;
|
|
19
|
-
target.update = function(changed) {
|
|
20
|
-
update.call(this, changed);
|
|
21
|
-
if (!surfaceOf(this)) return;
|
|
22
|
-
const panel = this.dialog;
|
|
23
|
-
if (!panel) return;
|
|
24
|
-
syncHandle(this, panel);
|
|
25
|
-
if (this.open) followViewport(this, panel);
|
|
26
|
-
else unfollowViewport(this);
|
|
27
|
-
};
|
|
28
|
-
target.show = function() {
|
|
29
|
-
const panel = this.dialog;
|
|
30
|
-
if (panel && surfaceOf(this)) {
|
|
31
|
-
panel.style.removeProperty(SHEET_HEIGHT_PROPERTY);
|
|
32
|
-
syncHandle(this, panel);
|
|
33
|
-
}
|
|
34
|
-
const result = show.call(this);
|
|
35
|
-
markMotion(this, "show", "enter", result);
|
|
36
|
-
void result.then(() => {
|
|
37
|
-
const handle = panel?.querySelector(
|
|
38
|
-
`:scope > [part~="${SHEET_HANDLE_PART}"]`
|
|
39
|
-
);
|
|
40
|
-
if (panel && handle && isResizable(this))
|
|
41
|
-
syncSheetHandleValues(handle, panel);
|
|
42
|
-
});
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
target.requestClose = function(source) {
|
|
46
|
-
const result = requestClose.call(this, source);
|
|
47
|
-
markMotion(this, "hide", "exit", result);
|
|
48
|
-
return result;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function markMotion(host, className, value, result) {
|
|
52
|
-
if (!surfaceOf(host) || !host.dialog?.classList.contains(className)) return;
|
|
53
|
-
host.setAttribute(SHEET_MOTION_ATTRIBUTE, value);
|
|
54
|
-
const clear = () => {
|
|
55
|
-
if (host.getAttribute(SHEET_MOTION_ATTRIBUTE) === value)
|
|
56
|
-
host.removeAttribute(SHEET_MOTION_ATTRIBUTE);
|
|
57
|
-
};
|
|
58
|
-
void result.then(clear, clear);
|
|
59
|
-
}
|
|
60
|
-
function syncHandle(host, panel) {
|
|
61
|
-
const existing = panel.querySelector(
|
|
62
|
-
`:scope > [part~="${SHEET_HANDLE_PART}"]`
|
|
63
|
-
);
|
|
64
|
-
const resizable = isResizable(host);
|
|
65
|
-
if (existing) existing.hidden = !resizable;
|
|
66
|
-
else if (resizable) createHandle(host, panel);
|
|
67
|
-
}
|
|
68
|
-
function createHandle(host, panel) {
|
|
69
|
-
const handle = createSheetHandle({ part: SHEET_HANDLE_PART });
|
|
70
|
-
panel.prepend(handle);
|
|
71
|
-
wireSheetHandle(handle, {
|
|
72
|
-
panel,
|
|
73
|
-
host: panel,
|
|
74
|
-
property: SHEET_HEIGHT_PROPERTY,
|
|
75
|
-
enabled: () => isResizable(host)
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
function keyboardInset(viewport, layoutHeight) {
|
|
79
|
-
if (viewport.scale > 1.01) return 0;
|
|
80
|
-
const inset = Math.round(layoutHeight - viewport.height - viewport.offsetTop);
|
|
81
|
-
return inset > 0 ? inset : 0;
|
|
82
|
-
}
|
|
83
|
-
function followViewport(host, panel) {
|
|
84
|
-
const viewport = globalThis.visualViewport;
|
|
85
|
-
if (!viewport || viewportCleanups.has(host)) return;
|
|
86
|
-
const publish = () => {
|
|
87
|
-
const inset = host.isConnected && host.open && isBottomSheet(host) ? keyboardInset(viewport, globalThis.innerHeight) : 0;
|
|
88
|
-
if (inset > 0)
|
|
89
|
-
panel.style.setProperty(KEYBOARD_INSET_PROPERTY, `${inset}px`);
|
|
90
|
-
else panel.style.removeProperty(KEYBOARD_INSET_PROPERTY);
|
|
91
|
-
if (!host.isConnected) unfollowViewport(host);
|
|
92
|
-
};
|
|
93
|
-
viewport.addEventListener("resize", publish);
|
|
94
|
-
viewport.addEventListener("scroll", publish);
|
|
95
|
-
viewportCleanups.set(host, () => {
|
|
96
|
-
viewport.removeEventListener("resize", publish);
|
|
97
|
-
viewport.removeEventListener("scroll", publish);
|
|
98
|
-
panel.style.removeProperty(KEYBOARD_INSET_PROPERTY);
|
|
99
|
-
});
|
|
100
|
-
publish();
|
|
101
|
-
}
|
|
102
|
-
function unfollowViewport(host) {
|
|
103
|
-
viewportCleanups.get(host)?.();
|
|
104
|
-
viewportCleanups.delete(host);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// src/components/surfaces/surface-scaffold/internal/install-chrome-block-size.ts
|
|
108
|
-
var HEADER_BLOCK_SIZE_PROPERTY = "--_kui-dialog-surface-header-block-size";
|
|
109
|
-
var FOOTER_BLOCK_SIZE_PROPERTY = "--_kui-dialog-surface-footer-block-size";
|
|
110
|
-
var CHROME_PARTS = [
|
|
111
|
-
["header", HEADER_BLOCK_SIZE_PROPERTY],
|
|
112
|
-
["footer", FOOTER_BLOCK_SIZE_PROPERTY]
|
|
113
|
-
];
|
|
114
|
-
var installed2 = /* @__PURE__ */ new WeakSet();
|
|
115
|
-
var observedParts = /* @__PURE__ */ new WeakSet();
|
|
116
|
-
function installChromeBlockSize(prototype) {
|
|
117
|
-
if (installed2.has(prototype)) return;
|
|
118
|
-
installed2.add(prototype);
|
|
119
|
-
const target = prototype;
|
|
120
|
-
const update = target.update;
|
|
121
|
-
target.update = function(changed) {
|
|
122
|
-
update.call(this, changed);
|
|
123
|
-
if (!this.parentElement?.classList.contains("kui-dialog-surface")) return;
|
|
124
|
-
const panel = this.dialog;
|
|
125
|
-
if (!panel) return;
|
|
126
|
-
for (const [part, property] of CHROME_PARTS) {
|
|
127
|
-
const element = this.shadowRoot?.querySelector(`[part~="${part}"]`);
|
|
128
|
-
if (element) observePart(panel, element, property);
|
|
129
|
-
else panel.style.removeProperty(property);
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
function observePart(panel, element, property) {
|
|
134
|
-
if (observedParts.has(element)) return;
|
|
135
|
-
observedParts.add(element);
|
|
136
|
-
const publish = (blockSize) => {
|
|
137
|
-
const value = `${blockSize}px`;
|
|
138
|
-
if (panel.style.getPropertyValue(property) !== value)
|
|
139
|
-
panel.style.setProperty(property, value);
|
|
140
|
-
};
|
|
141
|
-
publish(element.getBoundingClientRect().height);
|
|
142
|
-
if (typeof ResizeObserver === "undefined") return;
|
|
143
|
-
new ResizeObserver((entries) => {
|
|
144
|
-
if (!element.isConnected) return;
|
|
145
|
-
const box = entries[entries.length - 1]?.borderBoxSize?.[0];
|
|
146
|
-
publish(box ? box.blockSize : element.getBoundingClientRect().height);
|
|
147
|
-
}).observe(element);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// src/components/surfaces/surface-scaffold/internal/install-dialog-label.ts
|
|
151
|
-
var installed3 = /* @__PURE__ */ new WeakSet();
|
|
152
|
-
var observed = /* @__PURE__ */ new WeakSet();
|
|
153
|
-
var ownedNames = /* @__PURE__ */ new WeakMap();
|
|
154
|
-
function installDialogLabel(prototype) {
|
|
155
|
-
if (installed3.has(prototype)) return;
|
|
156
|
-
installed3.add(prototype);
|
|
157
|
-
const target = prototype;
|
|
158
|
-
const update = target.update;
|
|
159
|
-
target.update = function(changed) {
|
|
160
|
-
update.call(this, changed);
|
|
161
|
-
if (!this.parentElement?.classList.contains("kui-dialog-surface")) return;
|
|
162
|
-
if (!observed.has(this)) {
|
|
163
|
-
observed.add(this);
|
|
164
|
-
new MutationObserver(() => syncDialogLabel(this)).observe(this, {
|
|
165
|
-
attributes: true,
|
|
166
|
-
attributeFilter: ["aria-label", "role"]
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
syncDialogLabel(this);
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
function syncDialogLabel(host) {
|
|
173
|
-
if (!host.parentElement?.classList.contains("kui-dialog-surface")) return;
|
|
174
|
-
const panel = host.dialog;
|
|
175
|
-
if (!panel) return;
|
|
176
|
-
const previous = ownedNames.get(panel);
|
|
177
|
-
if (/^(alert)?dialog$/.test(host.getAttribute("role")?.trim() ?? "")) {
|
|
178
|
-
if (previous && panel.getAttribute(previous.attribute) === previous.value)
|
|
179
|
-
panel.removeAttribute(previous.attribute);
|
|
180
|
-
ownedNames.delete(panel);
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
const externalName = ["aria-label", "aria-labelledby"].some((attribute2) => {
|
|
184
|
-
const value2 = panel.getAttribute(attribute2);
|
|
185
|
-
return value2 !== null && !(previous?.attribute === attribute2 && previous.value === value2);
|
|
186
|
-
});
|
|
187
|
-
if (externalName) {
|
|
188
|
-
if (previous && panel.getAttribute(previous.attribute) === previous.value)
|
|
189
|
-
panel.removeAttribute(previous.attribute);
|
|
190
|
-
ownedNames.delete(panel);
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
const explicit = host.getAttribute("aria-label")?.trim();
|
|
194
|
-
const title = host.shadowRoot?.getElementById("title");
|
|
195
|
-
const attribute = !explicit && !host.withoutHeader && title ? "aria-labelledby" : "aria-label";
|
|
196
|
-
const value = attribute === "aria-labelledby" ? "title" : explicit || host.label;
|
|
197
|
-
if (previous && previous.attribute !== attribute)
|
|
198
|
-
panel.removeAttribute(previous.attribute);
|
|
199
|
-
if (panel.getAttribute(attribute) !== value)
|
|
200
|
-
panel.setAttribute(attribute, value);
|
|
201
|
-
ownedNames.set(panel, { attribute, value });
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
// src/components/surfaces/surface-scaffold/internal/install-header-scroll-divider.ts
|
|
205
|
-
var HEADER_DIVIDER_PROPERTY = "--_kui-dialog-surface-header-divider";
|
|
206
|
-
var SHOWN = "var(--_kui-dialog-surface-header-divider-color)";
|
|
207
|
-
var THRESHOLD = 1;
|
|
208
|
-
var installed4 = /* @__PURE__ */ new WeakSet();
|
|
209
|
-
var wiredPanels = /* @__PURE__ */ new WeakSet();
|
|
210
|
-
function installHeaderScrollDivider(prototype) {
|
|
211
|
-
if (installed4.has(prototype)) return;
|
|
212
|
-
installed4.add(prototype);
|
|
213
|
-
const target = prototype;
|
|
214
|
-
const update = target.update;
|
|
215
|
-
target.update = function(changed) {
|
|
216
|
-
update.call(this, changed);
|
|
217
|
-
if (!this.parentElement?.classList.contains("kui-dialog-surface")) return;
|
|
218
|
-
const panel = this.dialog;
|
|
219
|
-
if (panel && !wiredPanels.has(panel)) wire(this, panel);
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
function wire(host, panel) {
|
|
223
|
-
wiredPanels.add(panel);
|
|
224
|
-
const scrolled = /* @__PURE__ */ new Set();
|
|
225
|
-
const onScroll = (event) => {
|
|
226
|
-
const scroller = event.target;
|
|
227
|
-
if (!(scroller instanceof Element)) return;
|
|
228
|
-
const header = host.shadowRoot?.querySelector('[part~="header"]');
|
|
229
|
-
const floating = host.parentElement?.getAttribute("data-header-presentation") === "floating";
|
|
230
|
-
if (floating && header && scroller.scrollTop > THRESHOLD && // Only a scroller that reaches beneath the header.
|
|
231
|
-
scroller.getBoundingClientRect().top <= header.getBoundingClientRect().bottom)
|
|
232
|
-
scrolled.add(scroller);
|
|
233
|
-
else scrolled.delete(scroller);
|
|
234
|
-
for (const element of scrolled)
|
|
235
|
-
if (!element.isConnected) scrolled.delete(element);
|
|
236
|
-
const value = scrolled.size > 0 ? SHOWN : "";
|
|
237
|
-
if (panel.style.getPropertyValue(HEADER_DIVIDER_PROPERTY) === value) return;
|
|
238
|
-
if (value) panel.style.setProperty(HEADER_DIVIDER_PROPERTY, value);
|
|
239
|
-
else panel.style.removeProperty(HEADER_DIVIDER_PROPERTY);
|
|
240
|
-
};
|
|
241
|
-
for (const root of [panel, host])
|
|
242
|
-
root.addEventListener("scroll", onScroll, { capture: true, passive: true });
|
|
243
|
-
}
|
|
244
3
|
|
|
245
4
|
// src/components/surfaces/surface-scaffold/register/surface-scaffold-register.ts
|
|
246
|
-
|
|
247
|
-
installChromeBlockSize(WaDialog.prototype);
|
|
248
|
-
installHeaderScrollDivider(WaDialog.prototype);
|
|
249
|
-
installBottomSheet(WaDialog.prototype);
|
|
5
|
+
installDialogSurfaces();
|
|
250
6
|
var surfaceScaffoldElementsRegistered = true;
|
|
251
7
|
|
|
252
8
|
export { surfaceScaffoldElementsRegistered };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/surfaces/surface-scaffold/internal/install-bottom-sheet.ts","../src/components/surfaces/surface-scaffold/internal/install-chrome-block-size.ts","../src/components/surfaces/surface-scaffold/internal/install-dialog-label.ts","../src/components/surfaces/surface-scaffold/internal/install-header-scroll-divider.ts","../src/components/surfaces/surface-scaffold/register/surface-scaffold-register.ts"],"names":["installed","attribute","value"],"mappings":"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","file":"surface-scaffold-register.js","sourcesContent":["import {\n createSheetHandle,\n syncSheetHandleValues,\n wireSheetHandle,\n} from './sheet-handle.js';\n\ninterface SheetDialog extends HTMLElement {\n dialog?: HTMLDialogElement;\n open?: boolean;\n update(changed: unknown): void;\n show(): Promise<void>;\n requestClose(source: Element): Promise<void>;\n}\n\n/** The shadow part of a resizable bottom sheet's grabber. */\nexport const SHEET_HANDLE_PART = 'sheet-handle';\n\n/** The panel variable holding a resized sheet's visible height. */\nexport const SHEET_HEIGHT_PROPERTY = '--_kui-dialog-surface-sheet-height';\n\n/** The panel variable holding the virtual keyboard's overlap. */\nexport const KEYBOARD_INSET_PROPERTY = '--_kui-dialog-surface-keyboard-inset';\n\n/**\n * The host attribute marking the show (`enter`) or hide (`exit`) animation\n * while it runs, so the CSS can swap only those keyframes (never the pulse).\n */\nexport const SHEET_MOTION_ATTRIBUTE = 'data-kui-sheet-motion';\n\nconst installed = new WeakSet<object>();\nconst viewportCleanups = new WeakMap<SheetDialog, () => void>();\n\nconst surfaceOf = (host: SheetDialog): HTMLElement | null =>\n host.parentElement?.classList.contains('kui-dialog-surface')\n ? host.parentElement\n : null;\n\nconst isBottomSheet = (host: SheetDialog): boolean =>\n surfaceOf(host)?.getAttribute('data-presentation') === 'bottom-sheet';\n\nconst isResizable = (host: SheetDialog): boolean =>\n isBottomSheet(host) && surfaceOf(host)!.hasAttribute('data-resizable');\n\n/**\n * Wire DialogSurface's `presentation=\"bottom-sheet\"`: inject the resize\n * grabber into the shadow panel (a `role=\"separator\"` the CSS shows only for\n * a resizable sheet), follow the virtual keyboard through `visualViewport`\n * while the dialog is open, and mark the show and hide animations so the\n * sheet can slide instead of scaling. Every state lives on the shadow panel\n * or the host, where Kerf rerenders never reach.\n */\nexport function installBottomSheet(prototype: object): void {\n if (installed.has(prototype)) return;\n installed.add(prototype);\n const target = prototype as SheetDialog;\n const { update, show, requestClose } = target;\n target.update = function (this: SheetDialog, changed: unknown): void {\n update.call(this, changed);\n if (!surfaceOf(this)) return;\n const panel = this.dialog;\n if (!panel) return;\n syncHandle(this, panel);\n if (this.open) followViewport(this, panel);\n else unfollowViewport(this);\n };\n target.show = function (this: SheetDialog): Promise<void> {\n // Each opening starts at the configured (or content) height.\n const panel = this.dialog;\n if (panel && surfaceOf(this)) {\n panel.style.removeProperty(SHEET_HEIGHT_PROPERTY);\n syncHandle(this, panel);\n }\n const result = show.call(this);\n markMotion(this, 'show', 'enter', result);\n // The host only displays once Lit reflects `open`: report the values\n // when the opening settles.\n void result.then(() => {\n const handle = panel?.querySelector(\n `:scope > [part~=\"${SHEET_HANDLE_PART}\"]`,\n );\n if (panel && handle && isResizable(this))\n syncSheetHandleValues(handle, panel);\n });\n return result;\n };\n target.requestClose = function (\n this: SheetDialog,\n source: Element,\n ): Promise<void> {\n const result = requestClose.call(this, source);\n markMotion(this, 'hide', 'exit', result);\n return result;\n };\n}\n\n/**\n * Web Awesome adds its animation class synchronously before its first await,\n * so the class tells a real show or hide from a prevented (pulsing) close.\n */\nfunction markMotion(\n host: SheetDialog,\n className: string,\n value: string,\n result: Promise<void>,\n): void {\n if (!surfaceOf(host) || !host.dialog?.classList.contains(className)) return;\n host.setAttribute(SHEET_MOTION_ATTRIBUTE, value);\n const clear = (): void => {\n if (host.getAttribute(SHEET_MOTION_ATTRIBUTE) === value)\n host.removeAttribute(SHEET_MOTION_ATTRIBUTE);\n };\n void result.then(clear, clear);\n}\n\n/** Show the grabber on a resizable bottom sheet only, creating it on first need. */\nfunction syncHandle(host: SheetDialog, panel: HTMLElement): void {\n const existing = panel.querySelector<HTMLElement>(\n `:scope > [part~=\"${SHEET_HANDLE_PART}\"]`,\n );\n const resizable = isResizable(host);\n if (existing) existing.hidden = !resizable;\n else if (resizable) createHandle(host, panel);\n}\n\nfunction createHandle(host: SheetDialog, panel: HTMLElement): void {\n const handle = createSheetHandle({ part: SHEET_HANDLE_PART });\n // Before Lit's first marker, outside every part Lit owns.\n panel.prepend(handle);\n wireSheetHandle(handle, {\n panel,\n host: panel,\n property: SHEET_HEIGHT_PROPERTY,\n enabled: () => isResizable(host),\n });\n}\n\n/**\n * The layout viewport's bottom band a virtual keyboard covers: what the\n * visual viewport no longer shows below itself. Zero while pinch-zoomed (the\n * visual viewport then shrinks for another reason) and wherever the keyboard\n * resizes the layout viewport instead (`interactive-widget=resizes-content`).\n */\nexport function keyboardInset(\n viewport: Pick<VisualViewport, 'height' | 'offsetTop' | 'scale'>,\n layoutHeight: number,\n): number {\n if (viewport.scale > 1.01) return 0;\n const inset = Math.round(layoutHeight - viewport.height - viewport.offsetTop);\n return inset > 0 ? inset : 0;\n}\n\nfunction followViewport(host: SheetDialog, panel: HTMLElement): void {\n const viewport = globalThis.visualViewport;\n if (!viewport || viewportCleanups.has(host)) return;\n const publish = (): void => {\n const inset =\n host.isConnected && host.open && isBottomSheet(host)\n ? keyboardInset(viewport, globalThis.innerHeight)\n : 0;\n if (inset > 0)\n panel.style.setProperty(KEYBOARD_INSET_PROPERTY, `${inset}px`);\n else panel.style.removeProperty(KEYBOARD_INSET_PROPERTY);\n if (!host.isConnected) unfollowViewport(host);\n };\n viewport.addEventListener('resize', publish);\n viewport.addEventListener('scroll', publish);\n viewportCleanups.set(host, () => {\n viewport.removeEventListener('resize', publish);\n viewport.removeEventListener('scroll', publish);\n panel.style.removeProperty(KEYBOARD_INSET_PROPERTY);\n });\n publish();\n}\n\nfunction unfollowViewport(host: SheetDialog): void {\n viewportCleanups.get(host)?.();\n viewportCleanups.delete(host);\n}\n","interface ChromeDialog extends HTMLElement {\n dialog?: HTMLDialogElement;\n update(changed: unknown): void;\n}\n\n/** The panel variable a floating header's body clearance reads. */\nexport const HEADER_BLOCK_SIZE_PROPERTY =\n '--_kui-dialog-surface-header-block-size';\n\n/** The panel variable a floating footer's body clearance reads. */\nexport const FOOTER_BLOCK_SIZE_PROPERTY =\n '--_kui-dialog-surface-footer-block-size';\n\n/** Each measured dialog part, with the panel variable it publishes. */\nconst CHROME_PARTS = [\n ['header', HEADER_BLOCK_SIZE_PROPERTY],\n ['footer', FOOTER_BLOCK_SIZE_PROPERTY],\n] as const;\n\nconst installed = new WeakSet<object>();\nconst observedParts = new WeakSet<Element>();\n\n/**\n * Publish a DialogSurface's header and footer block sizes on its shadow\n * panel, where Kerf rerenders never reach, so a floating header's or footer's\n * body clearance follows that chrome as its content grows, wraps, or hides.\n */\nexport function installChromeBlockSize(prototype: object): void {\n if (installed.has(prototype)) return;\n installed.add(prototype);\n const target = prototype as ChromeDialog;\n const update = target.update;\n target.update = function (this: ChromeDialog, changed: unknown): void {\n update.call(this, changed);\n if (!this.parentElement?.classList.contains('kui-dialog-surface')) return;\n const panel = this.dialog;\n if (!panel) return;\n for (const [part, property] of CHROME_PARTS) {\n const element = this.shadowRoot?.querySelector(`[part~=\"${part}\"]`);\n // Web Awesome drops the header part under `without-header`; with no\n // part to clear, the floating clearance falls back to zero.\n if (element) observePart(panel, element, property);\n else panel.style.removeProperty(property);\n }\n };\n}\n\nfunction observePart(\n panel: HTMLElement,\n element: Element,\n property: string,\n): void {\n if (observedParts.has(element)) return;\n observedParts.add(element);\n const publish = (blockSize: number): void => {\n const value = `${blockSize}px`;\n if (panel.style.getPropertyValue(property) !== value)\n panel.style.setProperty(property, value);\n };\n publish(element.getBoundingClientRect().height);\n if (typeof ResizeObserver === 'undefined') return;\n new ResizeObserver((entries) => {\n // A part Web Awesome has since removed no longer owns the variable.\n if (!element.isConnected) return;\n const box = entries[entries.length - 1]?.borderBoxSize?.[0];\n publish(box ? box.blockSize : element.getBoundingClientRect().height);\n }).observe(element);\n}\n","interface NamedDialog extends HTMLElement {\n dialog?: HTMLDialogElement;\n label: string;\n withoutHeader: boolean;\n update(changed: unknown): void;\n}\n\nconst installed = new WeakSet<object>();\nconst observed = new WeakSet<HTMLElement>();\nconst ownedNames = new WeakMap<\n HTMLElement,\n { attribute: string; value: string }\n>();\n\n/** Repair Web Awesome's missing native dialog name before its first modal open. */\nexport function installDialogLabel(prototype: object): void {\n if (installed.has(prototype)) return;\n installed.add(prototype);\n const target = prototype as NamedDialog;\n const update = target.update;\n target.update = function (this: NamedDialog, changed: unknown): void {\n update.call(this, changed);\n if (!this.parentElement?.classList.contains('kui-dialog-surface')) return;\n if (!observed.has(this)) {\n observed.add(this);\n new MutationObserver(() => syncDialogLabel(this)).observe(this, {\n attributes: true,\n attributeFilter: ['aria-label', 'role'],\n });\n }\n syncDialogLabel(this);\n };\n}\n\nfunction syncDialogLabel(host: NamedDialog): void {\n if (!host.parentElement?.classList.contains('kui-dialog-surface')) return;\n const panel = host.dialog;\n if (!panel) return;\n const previous = ownedNames.get(panel);\n // A host that is itself the named dialog (an explicit role=\"dialog\" plus\n // its own name) owns that name; naming the panel too would expose two\n // dialogs with one name.\n if (/^(alert)?dialog$/.test(host.getAttribute('role')?.trim() ?? '')) {\n if (previous && panel.getAttribute(previous.attribute) === previous.value)\n panel.removeAttribute(previous.attribute);\n ownedNames.delete(panel);\n return;\n }\n const externalName = ['aria-label', 'aria-labelledby'].some((attribute) => {\n const value = panel.getAttribute(attribute);\n return (\n value !== null &&\n !(previous?.attribute === attribute && previous.value === value)\n );\n });\n if (externalName) {\n if (previous && panel.getAttribute(previous.attribute) === previous.value)\n panel.removeAttribute(previous.attribute);\n ownedNames.delete(panel);\n return;\n }\n const explicit = host.getAttribute('aria-label')?.trim();\n const title = host.shadowRoot?.getElementById('title');\n const attribute =\n !explicit && !host.withoutHeader && title\n ? 'aria-labelledby'\n : 'aria-label';\n const value =\n attribute === 'aria-labelledby' ? 'title' : explicit || host.label;\n if (previous && previous.attribute !== attribute)\n panel.removeAttribute(previous.attribute);\n if (panel.getAttribute(attribute) !== value)\n panel.setAttribute(attribute, value);\n ownedNames.set(panel, { attribute, value });\n}\n","interface ChromeDialog extends HTMLElement {\n dialog?: HTMLDialogElement;\n update(changed: unknown): void;\n}\n\n/**\n * The panel variable a floating header's divider reads: set while content\n * is scrolled away beneath the header, unset (no divider) otherwise.\n */\nexport const HEADER_DIVIDER_PROPERTY = '--_kui-dialog-surface-header-divider';\n\n/** The value published while the divider shows: the color the CSS owns. */\nconst SHOWN = 'var(--_kui-dialog-surface-header-divider-color)';\n\n/**\n * Scroll distance, in px, that counts as \"away from the top\": a scroller at\n * rest can report a fractional offset.\n */\nconst THRESHOLD = 1;\n\nconst installed = new WeakSet<object>();\nconst wiredPanels = new WeakSet<Element>();\n\n/**\n * Draw a floating DialogSurface header's divider while content is scrolled\n * beneath it, the way a Pane's overlay header does. Capture-phase `scroll`\n * listeners on the shadow panel and the host see both the body part (flowing\n * content) and a slotted filling child that reaches beneath the header (a\n * transcript `List` or `Pane` with block-start `scrollClearance`); a nested\n * scroller that starts below the header never counts. The state is published\n * on the panel, where Kerf rerenders never reach.\n */\nexport function installHeaderScrollDivider(prototype: object): void {\n if (installed.has(prototype)) return;\n installed.add(prototype);\n const target = prototype as ChromeDialog;\n const update = target.update;\n target.update = function (this: ChromeDialog, changed: unknown): void {\n update.call(this, changed);\n if (!this.parentElement?.classList.contains('kui-dialog-surface')) return;\n const panel = this.dialog;\n if (panel && !wiredPanels.has(panel)) wire(this, panel);\n };\n}\n\nfunction wire(host: ChromeDialog, panel: HTMLElement): void {\n wiredPanels.add(panel);\n const scrolled = new Set<Element>();\n const onScroll = (event: Event): void => {\n const scroller = event.target;\n if (!(scroller instanceof Element)) return;\n const header = host.shadowRoot?.querySelector('[part~=\"header\"]');\n const floating =\n host.parentElement?.getAttribute('data-header-presentation') ===\n 'floating';\n if (\n floating &&\n header &&\n scroller.scrollTop > THRESHOLD &&\n // Only a scroller that reaches beneath the header.\n scroller.getBoundingClientRect().top <=\n header.getBoundingClientRect().bottom\n )\n scrolled.add(scroller);\n else scrolled.delete(scroller);\n for (const element of scrolled)\n if (!element.isConnected) scrolled.delete(element);\n const value = scrolled.size > 0 ? SHOWN : '';\n if (panel.style.getPropertyValue(HEADER_DIVIDER_PROPERTY) === value) return;\n if (value) panel.style.setProperty(HEADER_DIVIDER_PROPERTY, value);\n else panel.style.removeProperty(HEADER_DIVIDER_PROPERTY);\n };\n // `scroll` does not bubble or leave a shadow root: the panel's capture\n // listener sees the body part, the host's sees slotted scrollers.\n for (const root of [panel, host])\n root.addEventListener('scroll', onScroll, { capture: true, passive: true });\n}\n","import WaDialog from '@awesome.me/webawesome/dist/components/dialog/dialog.js';\n\nimport { installBottomSheet } from '../internal/install-bottom-sheet.js';\nimport { installChromeBlockSize } from '../internal/install-chrome-block-size.js';\nimport { installDialogLabel } from '../internal/install-dialog-label.js';\nimport { installHeaderScrollDivider } from '../internal/install-header-scroll-divider.js';\n\ninstallDialogLabel(WaDialog.prototype);\ninstallChromeBlockSize(WaDialog.prototype);\ninstallHeaderScrollDivider(WaDialog.prototype);\ninstallBottomSheet(WaDialog.prototype);\n\n/**\n * Importing this module registers wa-dialog, repairs wrapped native names, and\n * measures each DialogSurface header and footer for a floating header's or\n * footer's body clearance, shows a floating header's divider while content\n * is scrolled beneath it, and wires a bottom sheet's resize grabber,\n * virtual-keyboard clearance, and slide motion.\n */\nexport const surfaceScaffoldElementsRegistered = true;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/surfaces/surface-scaffold/register/surface-scaffold-register.ts"],"names":[],"mappings":";;;;AAEA,qBAAA,EAAsB;AAWf,IAAM,iCAAA,GAAoC","file":"surface-scaffold-register.js","sourcesContent":["import { installDialogSurfaces } from '../internal/dialog-surface-controller.js';\n\ninstallDialogSurfaces();\n\n/**\n * Importing this module wires every DialogSurface in the document: the close\n * button, `data-dialog-close`, Escape, and backdrop requests through the\n * cancelable `kui-request-close`. `openDialog` also wires the dialogs it\n * opens, measuring a floating header's or footer's body clearance, showing a\n * floating header's divider while content scrolls beneath it, and following a\n * bottom sheet's keyboard clearance and resize grabber, all kept across\n * application re-renders while the dialog is open.\n */\nexport const surfaceScaffoldElementsRegistered = true;\n"]}
|
|
@@ -2,6 +2,27 @@ import * as kerfjs from 'kerfjs';
|
|
|
2
2
|
import { K as KerfUiContent } from './semantic-content-BbzjvSu9.js';
|
|
3
3
|
import { CssLength } from './css-values.js';
|
|
4
4
|
|
|
5
|
+
/** What asked an open DialogSurface to close. */
|
|
6
|
+
type DialogCloseSource = 'close-button' | 'escape' | 'backdrop';
|
|
7
|
+
/** The detail of a DialogSurface's cancelable `kui-request-close` event. */
|
|
8
|
+
interface DialogRequestCloseDetail {
|
|
9
|
+
readonly source: DialogCloseSource;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Open a DialogSurface as a modal dialog: in the top layer, the rest of the
|
|
13
|
+
* page inert, focus on its `autofocus` element or else the panel. It plays
|
|
14
|
+
* its enter motion and, with the controller installed here, keeps its
|
|
15
|
+
* measured chrome, sheet height, and keyboard clearance across application
|
|
16
|
+
* re-renders. Opening an open dialog does nothing.
|
|
17
|
+
*/
|
|
18
|
+
declare function openDialog(dialog: HTMLDialogElement): void;
|
|
19
|
+
/**
|
|
20
|
+
* Close an open DialogSurface after its exit motion. The application's own
|
|
21
|
+
* close is never refused: no `kui-request-close` is dispatched. The native
|
|
22
|
+
* `close` event fires once it has closed.
|
|
23
|
+
*/
|
|
24
|
+
declare function closeDialog(dialog: HTMLDialogElement): void;
|
|
25
|
+
|
|
5
26
|
type DialogSurfaceSize = 'small' | 'medium' | 'large';
|
|
6
27
|
/**
|
|
7
28
|
* How the dialog is presented: `modal` (default) centered on the screen,
|
|
@@ -12,7 +33,7 @@ type DialogSurfaceSize = 'small' | 'medium' | 'large';
|
|
|
12
33
|
type DialogSurfacePresentation = 'modal' | 'side-sheet' | 'fullscreen' | 'bottom-sheet';
|
|
13
34
|
/**
|
|
14
35
|
* How a bottom sheet appears or leaves: `slide` (default) moves the panel in
|
|
15
|
-
* from, or out to, the bottom edge; `standard` keeps
|
|
36
|
+
* from, or out to, the bottom edge; `standard` keeps the dialog's
|
|
16
37
|
* scale-and-fade. Both honor `prefers-reduced-motion`.
|
|
17
38
|
*/
|
|
18
39
|
type DialogSurfaceSheetMotion = 'slide' | 'standard';
|
|
@@ -46,8 +67,42 @@ type DialogSurfaceHeaderPresentation = 'docked' | 'floating';
|
|
|
46
67
|
* `data-key`; the surface's own configuration attributes stay protected.
|
|
47
68
|
*/
|
|
48
69
|
type DialogSurfaceRootAttributes = Readonly<Record<`data-${string}`, string | undefined>>;
|
|
49
|
-
|
|
70
|
+
/**
|
|
71
|
+
* The dialog's accessible name: its `label` text (also the default title), or
|
|
72
|
+
* the id of an element that names it, such as a `heading` ToolbarText.
|
|
73
|
+
*/
|
|
74
|
+
type DialogSurfaceName = {
|
|
75
|
+
label: string;
|
|
76
|
+
labelledBy?: never;
|
|
77
|
+
} | {
|
|
78
|
+
label?: never;
|
|
79
|
+
labelledBy: string;
|
|
80
|
+
};
|
|
81
|
+
type DialogSurfaceProps = DialogSurfaceName & DialogSurfaceOptions;
|
|
82
|
+
interface DialogSurfaceOptions {
|
|
83
|
+
/** The dialog's id, for `openDialog(document.getElementById(id))`. */
|
|
84
|
+
id?: string;
|
|
85
|
+
/** The body content. */
|
|
50
86
|
children: KerfUiContent;
|
|
87
|
+
/**
|
|
88
|
+
* Header title content in place of the `label` text, such as an xl
|
|
89
|
+
* `ToolbarText` with a description. The dialog keeps its `label` (or
|
|
90
|
+
* `labelledBy`) name.
|
|
91
|
+
*/
|
|
92
|
+
heading?: KerfUiContent;
|
|
93
|
+
/** Controls before the close button in the header. */
|
|
94
|
+
headerActions?: KerfUiContent;
|
|
95
|
+
/** The footer, below the body (or floating over it); usually its buttons. */
|
|
96
|
+
footer?: KerfUiContent;
|
|
97
|
+
/**
|
|
98
|
+
* Render no header: no title and no close button. The content then owns its
|
|
99
|
+
* heading and a way to close (an element with `data-dialog-close`).
|
|
100
|
+
*/
|
|
101
|
+
withoutHeader?: boolean;
|
|
102
|
+
/** Close on a press on the backdrop; otherwise the panel pulses. */
|
|
103
|
+
lightDismiss?: boolean;
|
|
104
|
+
/** The close button's accessible name (default `Close`). */
|
|
105
|
+
closeLabel?: string;
|
|
51
106
|
size?: DialogSurfaceSize;
|
|
52
107
|
presentation?: DialogSurfacePresentation;
|
|
53
108
|
/** Modal preferred width. Takes precedence over size, within the viewport cap. */
|
|
@@ -132,8 +187,16 @@ interface DialogSurfaceProps {
|
|
|
132
187
|
/** Native named-slot assignment when composed inside a web component. */
|
|
133
188
|
slot?: string;
|
|
134
189
|
}
|
|
135
|
-
/**
|
|
136
|
-
|
|
190
|
+
/**
|
|
191
|
+
* A modal dialog: a native `<dialog>` with Kerf's header, body, and footer
|
|
192
|
+
* chrome, sized and presented by its props. Render it closed, then open it
|
|
193
|
+
* with `openDialog()` and close it with `closeDialog()`, the close button, an
|
|
194
|
+
* element with `data-dialog-close`, Escape, or (with `lightDismiss`) a press
|
|
195
|
+
* on the backdrop. Import `@kerfjs/ui/surface-scaffold/register` for the
|
|
196
|
+
* floating header and footer measurement, the bottom sheet's keyboard
|
|
197
|
+
* clearance and grabber, and re-render resilience while open.
|
|
198
|
+
*/
|
|
199
|
+
declare function DialogSurface({ id, label, labelledBy, heading, headerActions, footer, withoutHeader, lightDismiss, closeLabel, children, size, presentation, preferredWidth, bodyInset, footerInset, viewportGutter, maxHeight, height, minHeight, resizable, enterMotion, exitMotion, bodyLayout, headerPresentation, footerPresentation, footerOffset, rootAttributes, className, slot, }: DialogSurfaceProps): kerfjs.SafeHtml;
|
|
137
200
|
/** Where a PopoverDialogSurface appears: the top layer, or in flow. */
|
|
138
201
|
type PopoverDialogSurfacePresentation = 'overlay' | 'embedded';
|
|
139
202
|
/** Application `data-*` metadata on the surface root. */
|
|
@@ -185,8 +248,8 @@ type PopoverDialogSurfaceProps = PopoverDialogSurfaceName & {
|
|
|
185
248
|
* A non-modal dialog surface on the native Popover API: Kerf's dialog chrome,
|
|
186
249
|
* viewport-bounded size, and single-child fill without application CSS.
|
|
187
250
|
* Open it with a `popovertarget` control or `showPopover()`; it light
|
|
188
|
-
* dismisses and leaves the page interactive. Use `DialogSurface`
|
|
189
|
-
*
|
|
251
|
+
* dismisses and leaves the page interactive. Use `DialogSurface` when the
|
|
252
|
+
* task must block the page.
|
|
190
253
|
*/
|
|
191
254
|
declare function PopoverDialogSurface({ id, children, label, labelledBy, describedBy, presentation, size, preferredWidth, height, maxHeight, viewportGutter, bodyLayout, rootAttributes, className, slot, }: PopoverDialogSurfaceProps): kerfjs.SafeHtml;
|
|
192
255
|
type PopupSurfaceInset = 'standard' | 'compact' | 'list-zero';
|
|
@@ -200,4 +263,4 @@ interface PopupSurfaceProps {
|
|
|
200
263
|
/** Configure recurring Web Awesome dropdown-menu geometry without consumer ::part() CSS. */
|
|
201
264
|
declare function PopupSurface({ children, inset, className, slot, }: PopupSurfaceProps): kerfjs.SafeHtml;
|
|
202
265
|
|
|
203
|
-
export { DialogSurface, type DialogSurfaceBodyLayout, type DialogSurfaceFooterPresentation, type DialogSurfaceHeaderPresentation, type DialogSurfaceHeight, type DialogSurfaceMaxHeight, type DialogSurfacePresentation, type DialogSurfaceProps, type DialogSurfaceRootAttributes, type DialogSurfaceSheetMotion, type DialogSurfaceSize, PopoverDialogSurface, type PopoverDialogSurfaceDataAttributes, type PopoverDialogSurfacePresentation, type PopoverDialogSurfaceProps, PopupSurface, type PopupSurfaceInset, type PopupSurfaceProps, type SurfaceInset };
|
|
266
|
+
export { type DialogCloseSource, type DialogRequestCloseDetail, DialogSurface, type DialogSurfaceBodyLayout, type DialogSurfaceFooterPresentation, type DialogSurfaceHeaderPresentation, type DialogSurfaceHeight, type DialogSurfaceMaxHeight, type DialogSurfaceName, type DialogSurfaceOptions, type DialogSurfacePresentation, type DialogSurfaceProps, type DialogSurfaceRootAttributes, type DialogSurfaceSheetMotion, type DialogSurfaceSize, PopoverDialogSurface, type PopoverDialogSurfaceDataAttributes, type PopoverDialogSurfacePresentation, type PopoverDialogSurfaceProps, PopupSurface, type PopupSurfaceInset, type PopupSurfaceProps, type SurfaceInset, closeDialog, openDialog };
|
package/dist/surface-scaffold.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
export { DialogSurface, PopoverDialogSurface, PopupSurface } from './chunk-
|
|
1
|
+
export { DialogSurface, PopoverDialogSurface, PopupSurface } from './chunk-TAHR457X.js';
|
|
2
|
+
export { closeDialog, openDialog } from './chunk-ATGAJVZ6.js';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
2
6
|
|
|
3
7
|
|
|
4
8
|
//# sourceMappingURL=surface-scaffold.js.map
|