@jfrader/ui 0.5.1 → 0.7.0
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 +28 -7
- package/dist/{accordion-DLul6vIl.js → accordion-D6myONB9.js} +36 -35
- package/dist/accordion.js +1 -1
- package/dist/activity-rings-Uszvwqdl.js +528 -0
- package/dist/activity-rings.js +2 -0
- package/dist/{alert-DS_einpy.js → alert-Bhj-qSMs.js} +15 -14
- package/dist/alert.js +1 -1
- package/dist/{announcement-bar-Dlbq5-9D.js → announcement-bar-B5J33QUh.js} +132 -131
- package/dist/announcement-bar.js +1 -1
- package/dist/{avatar-group-M1opAQEG.js → avatar-group-BlMLNw4J.js} +10 -9
- package/dist/avatar-group.js +1 -1
- package/dist/avatar-sPxDqFiZ.js +133 -0
- package/dist/avatar.js +1 -1
- package/dist/{badge-CjM5Agqk.js → badge-CfhTcA-Z.js} +10 -9
- package/dist/badge.js +1 -1
- package/dist/billing-toggle-CgC7yxxo.js +349 -0
- package/dist/billing-toggle.js +2 -0
- package/dist/{bottom-sheet-DjZOPq4k.js → bottom-sheet-BFQKO0Wo.js} +282 -264
- package/dist/bottom-sheet.js +1 -1
- package/dist/{breadcrumbs-BDK_LiwH.js → breadcrumbs-CG3akw-b.js} +19 -18
- package/dist/breadcrumbs.js +1 -1
- package/dist/{button-NLY0h6EJ.js → button-C6OV0C7J.js} +14 -13
- package/dist/button-group-B9wP2ddS.js +611 -0
- package/dist/button-group.js +2 -0
- package/dist/button.js +1 -1
- package/dist/calendar-Bg6D2sul.js +377 -0
- package/dist/calendar.js +1 -1
- package/dist/calendar.utils-azmB4Ej7.js +79 -0
- package/dist/card-C008OQCp.js +164 -0
- package/dist/card.js +1 -1
- package/dist/{carousel-B7OrvD6J.js → carousel-lTH4Foke.js} +13 -12
- package/dist/carousel.js +1 -1
- package/dist/chat-thread-DkB-WMWJ.js +864 -0
- package/dist/chat-thread.js +2 -0
- package/dist/{checkbox-DKSzExj2.js → checkbox-CClE61GV.js} +9 -8
- package/dist/checkbox.js +1 -1
- package/dist/{chip-group-DjQ0_6Y9.js → chip-group-BZUX9KPF.js} +17 -16
- package/dist/chip-group.js +1 -1
- package/dist/{choice-control-5kJkLXgv.js → choice-control-BsWOZPc9.js} +1 -1
- package/dist/{code-block-B5we2lZa.js → code-block-CYP89_6h.js} +35 -34
- package/dist/code-block.js +1 -1
- package/dist/{combobox-DFFqOBCi.js → combobox-D2Oc-co7.js} +21 -20
- package/dist/combobox.js +1 -1
- package/dist/command-palette-BrT1n9bb.js +394 -0
- package/dist/command-palette.js +1 -1
- package/dist/comment-thread-DXfqgRNI.js +772 -0
- package/dist/comment-thread.js +1 -1
- package/dist/{container-BOaSptJa.js → container-BxtwJSSD.js} +3 -2
- package/dist/container.js +1 -1
- package/dist/{context-menu-__1c2Dk9.js → context-menu-I4i0LRpm.js} +52 -51
- package/dist/context-menu.js +1 -1
- package/dist/{copy-button-DCSLcYS-.js → copy-button-C0p_qrgf.js} +4 -4
- package/dist/copy-button.js +1 -1
- package/dist/{countdown-Dp_TD1VP.js → countdown-EcpV6rXy.js} +18 -17
- package/dist/countdown.js +1 -1
- package/dist/css-BYJhdGh-.js +2 -0
- package/dist/{date-picker-BiPN7yeK.js → date-picker-D-bn-iHs.js} +14 -13
- package/dist/date-picker.js +1 -1
- package/dist/date-range-picker-rXcZsI1Y.js +589 -0
- package/dist/date-range-picker.js +1 -1
- package/dist/dialog-CR1xdkrC.js +222 -0
- package/dist/dialog.js +1 -1
- package/dist/{divider-Cp7aNbhM.js → divider-zOJzkcHh.js} +7 -6
- package/dist/divider.js +1 -1
- package/dist/drawer-CceaEhCr.js +590 -0
- package/dist/drawer.js +1 -1
- package/dist/emblem-DnXmpZCh.js +166 -0
- package/dist/emblem.js +2 -0
- package/dist/{empty-state-CDgrjPPf.js → empty-state-DO0ApylK.js} +2 -1
- package/dist/empty-state.js +1 -1
- package/dist/{expandable-card-rUATve0o.js → expandable-card-W97vjix9.js} +52 -51
- package/dist/expandable-card.js +1 -1
- package/dist/{expanding-search-BxOwtdwt.js → expanding-search-Bb2_YfNx.js} +16 -15
- package/dist/expanding-search.js +1 -1
- package/dist/{field-anatomy-COVdNpf5.js → field-anatomy-BDIP42MI.js} +2 -1
- package/dist/{file-dropzone-BuXm3Tea.js → file-dropzone-Bi5ikRIz.js} +14 -13
- package/dist/file-dropzone.js +1 -1
- package/dist/{filter-toolbar-Cy5Hqur-.js → filter-toolbar-QRnC4S_H.js} +33 -32
- package/dist/filter-toolbar.js +1 -1
- package/dist/{flex-Dh-_J5-U.js → flex-CS7eMRcK.js} +2 -2
- package/dist/flex.js +1 -1
- package/dist/game-card-Oeu74giK.js +194 -0
- package/dist/game-card.js +2 -0
- package/dist/{hold-to-confirm-DjB2EVjM.js → hold-to-confirm-CVBA0wNT.js} +18 -17
- package/dist/hold-to-confirm.js +1 -1
- package/dist/{hover-card-CoMJKg1g.js → hover-card-Dgu2CwMD.js} +20 -19
- package/dist/hover-card.js +1 -1
- package/dist/{icon-wrapper-stN8sD7R.js → icon-wrapper-C-zMD0uL.js} +1 -1
- package/dist/{image-compare-BxY8Ykzt.js → image-compare-Ln2UUqTU.js} +20 -19
- package/dist/image-compare.js +1 -1
- package/dist/in-view-title-BUZCMqge.js +225 -0
- package/dist/in-view-title.js +2 -0
- package/dist/index.js +102 -83
- package/dist/initials-DEdwNe9_.js +18 -0
- package/dist/{inline-edit-C0eeml65.js → inline-edit-D-pR2RPC.js} +22 -21
- package/dist/inline-edit.js +1 -1
- package/dist/{input-control-DmMuAuPS.js → input-control-B6HVBgwl.js} +1 -1
- package/dist/{json-viewer-DgWqyU75.js → json-viewer-Dro3WrjS.js} +31 -30
- package/dist/json-viewer.js +1 -1
- package/dist/{kbd-C3ACoMoE.js → kbd-BI_9qzYr.js} +2 -1
- package/dist/kbd.js +1 -1
- package/dist/keycap-keyboard-Cdx-OAS1.js +311 -0
- package/dist/keycap-keyboard.js +2 -0
- package/dist/{layout-style-Cbd1Vilw.js → layout-style-BE0gSqrH.js} +1 -1
- package/dist/lightbox-gallery-D0YaSTut.js +777 -0
- package/dist/lightbox-gallery.js +2 -0
- package/dist/link-unfurl-CReyIjyy.js +695 -0
- package/dist/link-unfurl.js +2 -0
- package/dist/{listbox-style-WX-RASp1.js → listbox-style-DNOxAulu.js} +1 -1
- package/dist/{loading-ring-B8-30Dl1.js → loading-ring-D0lGrK8z.js} +1 -1
- package/dist/locale-switcher-DTkySKsM.js +375 -0
- package/dist/locale-switcher.js +2 -0
- package/dist/{mention-input-sq61si9L.js → mention-input-BjjAbJCf.js} +6 -6
- package/dist/mention-input.js +1 -1
- package/dist/{menu-DDKgmK2F.js → menu-CVzpsyXn.js} +113 -96
- package/dist/menu.js +1 -1
- package/dist/{metric-card--lVTz5Wn.js → metric-card-BnFssTXj.js} +12 -11
- package/dist/metric-card.js +1 -1
- package/dist/{multi-select-DG1BCFX7.js → multi-select-B3puEVo0.js} +67 -66
- package/dist/multi-select.js +1 -1
- package/dist/{navigation-CC26JDr-.js → navigation-C_JD43gA.js} +41 -40
- package/dist/navigation.js +1 -1
- package/dist/next.js +65 -0
- package/dist/now-playing-DjVm1Phm.js +439 -0
- package/dist/now-playing.js +2 -0
- package/dist/overlay-motion-Cr77ihn2.js +90 -0
- package/dist/{overlay-portal-C4JZFq2M.js → overlay-portal-C9igMHnC.js} +1 -1
- package/dist/{pagination-BfkeWbmP.js → pagination-Dkh4bJQh.js} +10 -9
- package/dist/pagination.js +1 -1
- package/dist/{password-field-03pWRkuY.js → password-field-Da58GP1g.js} +4 -4
- package/dist/password-field.js +1 -1
- package/dist/photo-grid-Dtl17D74.js +830 -0
- package/dist/photo-grid.js +2 -0
- package/dist/{pill-BaS-uIbn.js → pill-Dd7pog19.js} +10 -9
- package/dist/pill.js +1 -1
- package/dist/{popover-CErIw2q3.js → popover-CUMOcMtj.js} +5 -4
- package/dist/popover.js +1 -1
- package/dist/presence-spring-4zwtUDQN.js +12 -0
- package/dist/{progress-DAQkfhPd.js → progress-Bcuz3Ob4.js} +11 -10
- package/dist/progress.js +1 -1
- package/dist/{radio-cards-Cu9cBssN.js → radio-cards-FkAhESb5.js} +35 -34
- package/dist/radio-cards.js +1 -1
- package/dist/{radio-group-TIK0-iPX.js → radio-group-DItMf2YM.js} +18 -17
- package/dist/radio-group.js +1 -1
- package/dist/{resizable-panels-DUpQEpwG.js → resizable-panels-61h9hA3B.js} +13 -12
- package/dist/resizable-panels.js +1 -1
- package/dist/{scroll-area-CcZyiSOQ.js → scroll-area-B8KkCPOM.js} +16 -15
- package/dist/scroll-area.js +1 -1
- package/dist/{search-field-DMvho0KQ.js → search-field-CbsajaZb.js} +93 -92
- package/dist/search-field.js +1 -1
- package/dist/{segmented-control-8ZUGnsZm.js → segmented-control-DCh-4ca-.js} +26 -25
- package/dist/segmented-control.js +1 -1
- package/dist/{select-D5rhJ8gi.js → select-SrcQqZjo.js} +27 -26
- package/dist/select.js +1 -1
- package/dist/sheet-stack-DYX1SGSB.js +820 -0
- package/dist/sheet-stack.js +2 -0
- package/dist/shortcut-recorder-VgTQdjjn.js +688 -0
- package/dist/shortcut-recorder.js +2 -0
- package/dist/{signature-pad-_bTeguN9.js → signature-pad-khL2yhQI.js} +15 -14
- package/dist/signature-pad.js +1 -1
- package/dist/{skeleton-XQQDkCHd.js → skeleton-LJsQsveI.js} +9 -8
- package/dist/skeleton.js +1 -1
- package/dist/slider-DjAnGmlC.js +535 -0
- package/dist/slider.js +1 -1
- package/dist/{sortable-data-table-CYKT_Ng7.js → sortable-data-table-Bpitup_d.js} +29 -28
- package/dist/sortable-data-table.js +1 -1
- package/dist/{spinner-DtxvDPdM.js → spinner-CvzajSg9.js} +11 -10
- package/dist/spinner.js +1 -1
- package/dist/{split-button-BCw4zZom.js → split-button-Bu41f2AY.js} +20 -19
- package/dist/split-button.js +1 -1
- package/dist/{stack-DC3IbtWk.js → stack-Bac4sJeI.js} +2 -2
- package/dist/stack.js +1 -1
- package/dist/{stepper-CruHbXxX.js → stepper-C8Ncavbr.js} +22 -21
- package/dist/stepper.js +1 -1
- package/dist/stretch-refresh-OrnTEj7P.js +349 -0
- package/dist/stretch-refresh.js +2 -0
- package/dist/{surface-DZ4d-2aL.js → surface-C69kwSuk.js} +13 -3
- package/dist/{swipe-actions-CBuJREU1.js → swipe-actions-1H5UOZKE.js} +26 -25
- package/dist/swipe-actions.js +1 -1
- package/dist/{switch-C1WrKrf-.js → switch-79-hkQqg.js} +15 -14
- package/dist/switch.js +1 -1
- package/dist/sx-BJXJ2xJK.js +23 -0
- package/dist/{tabs-XluwRjgg.js → tabs-Bb5-noYE.js} +43 -42
- package/dist/tabs.js +1 -1
- package/dist/{tag-input-DSRCyrX2.js → tag-input-BQaueKEb.js} +5 -5
- package/dist/tag-input.js +1 -1
- package/dist/{text-field-hU72iSVS.js → text-field-D0VP7b4P.js} +3 -3
- package/dist/text-field.js +1 -1
- package/dist/{textarea-3k4Y0QQ3.js → textarea-D1YwEPmn.js} +3 -3
- package/dist/textarea.js +1 -1
- package/dist/theme-provider-BvcY-iJu.js +20 -0
- package/dist/theme-root-BrYVcTzt.js +163 -0
- package/dist/theme-root.js +1 -1
- package/dist/theme-scope-DGWy4H0C.js +62 -0
- package/dist/{theme-switch-C505TtU8.js → theme-switch-CP42mVDb.js} +12 -11
- package/dist/theme-switch.js +1 -1
- package/dist/thread-parts-Cpktor6D.js +683 -0
- package/dist/{time-picker-CPlhW0tr.js → time-picker-Tnd-JBLC.js} +16 -15
- package/dist/time-picker.js +1 -1
- package/dist/{timeline-B0uAAVfT.js → timeline-BcF46lG9.js} +22 -21
- package/dist/timeline.js +1 -1
- package/dist/{toast-B7wo3sX1.js → toast-CSAbl5yK.js} +12 -11
- package/dist/{toast-stack-B40VpS4M.js → toast-stack-BCR4Cu7V.js} +10 -9
- package/dist/toast-stack.js +1 -1
- package/dist/toast.js +1 -1
- package/dist/{toggle-group-B2fpFZwV.js → toggle-group-C7ye1v4s.js} +23 -22
- package/dist/toggle-group.js +1 -1
- package/dist/{tooltip-BvgVTCTN.js → tooltip-IajLwdUb.js} +48 -39
- package/dist/tooltip.js +1 -1
- package/dist/{tree-view-j8qLqkb_.js → tree-view-CoW4oJIZ.js} +15 -14
- package/dist/tree-view.js +1 -1
- package/dist/{trigger-style-B1KVC8O1.js → trigger-style-CtOrdPk4.js} +1 -1
- package/dist/types/components/activity-rings/activity-rings.d.ts +113 -0
- package/dist/types/components/activity-rings/index.d.ts +2 -0
- package/dist/types/components/avatar-group/avatar-group.d.ts +3 -3
- package/dist/types/components/billing-toggle/billing-toggle.d.ts +57 -0
- package/dist/types/components/billing-toggle/index.d.ts +2 -0
- package/dist/types/components/button/button.d.ts +7 -7
- package/dist/types/components/button-group/button-group.d.ts +72 -0
- package/dist/types/components/button-group/index.d.ts +2 -0
- package/dist/types/components/card/card.d.ts +7 -1
- package/dist/types/components/chat-thread/chat-thread.d.ts +130 -0
- package/dist/types/components/chat-thread/index.d.ts +2 -0
- package/dist/types/components/chip-group/chip-group.d.ts +2 -2
- package/dist/types/components/combobox/combobox.d.ts +2 -2
- package/dist/types/components/command-palette/command-palette.d.ts +1 -1
- package/dist/types/components/comment-thread/comment-thread.d.ts +7 -7
- package/dist/types/components/copy-button/copy-button.d.ts +6 -6
- package/dist/types/components/countdown/countdown.d.ts +2 -2
- package/dist/types/components/dialog/dialog.d.ts +18 -20
- package/dist/types/components/drawer/drawer.d.ts +7 -1
- package/dist/types/components/emblem/emblem.d.ts +59 -0
- package/dist/types/components/emblem/index.d.ts +2 -0
- package/dist/types/components/empty-state/empty-state.d.ts +2 -2
- package/dist/types/components/file-dropzone/file-dropzone.d.ts +3 -4
- package/dist/types/components/filter-toolbar/filter-toolbar.d.ts +2 -2
- package/dist/types/components/game-card/card-frame.d.ts +16 -0
- package/dist/types/components/game-card/decks.d.ts +27 -0
- package/dist/types/components/game-card/game-card.d.ts +37 -0
- package/dist/types/components/game-card/index.d.ts +4 -0
- package/dist/types/components/hold-to-confirm/hold-to-confirm.d.ts +1 -1
- package/dist/types/components/hover-card/hover-card.d.ts +5 -5
- package/dist/types/components/in-view-title/in-view-title.d.ts +23 -0
- package/dist/types/components/in-view-title/index.d.ts +1 -0
- package/dist/types/components/inline-edit/inline-edit.d.ts +6 -6
- package/dist/types/components/json-viewer/json-viewer.d.ts +7 -9
- package/dist/types/components/keycap-keyboard/index.d.ts +2 -0
- package/dist/types/components/keycap-keyboard/keycap-keyboard.d.ts +32 -0
- package/dist/types/components/lightbox-gallery/index.d.ts +2 -0
- package/dist/types/components/lightbox-gallery/lightbox-gallery.d.ts +74 -0
- package/dist/types/components/link-unfurl/index.d.ts +2 -0
- package/dist/types/components/link-unfurl/link-unfurl.d.ts +104 -0
- package/dist/types/components/locale-switcher/index.d.ts +2 -0
- package/dist/types/components/locale-switcher/locale-switcher.d.ts +64 -0
- package/dist/types/components/mention-input/mention-input.d.ts +7 -7
- package/dist/types/components/menu/menu.d.ts +29 -5
- package/dist/types/components/metric-card/metric-card.d.ts +2 -2
- package/dist/types/components/navigation/navigation.d.ts +1 -1
- package/dist/types/components/next/emotion-registry.d.ts +14 -0
- package/dist/types/components/next/index.d.ts +2 -0
- package/dist/types/components/next/registry.d.ts +21 -0
- package/dist/types/components/now-playing/index.d.ts +1 -0
- package/dist/types/components/now-playing/now-playing.d.ts +88 -0
- package/dist/types/components/password-field/password-field.d.ts +1 -1
- package/dist/types/components/photo-grid/index.d.ts +2 -0
- package/dist/types/components/photo-grid/photo-grid.d.ts +82 -0
- package/dist/types/components/progress/progress.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/sheet-stack/index.d.ts +2 -0
- package/dist/types/components/sheet-stack/sheet-stack.d.ts +81 -0
- package/dist/types/components/shortcut-recorder/index.d.ts +2 -0
- package/dist/types/components/shortcut-recorder/shortcut-recorder.d.ts +117 -0
- package/dist/types/components/signature-pad/signature-pad.d.ts +2 -2
- package/dist/types/components/split-button/split-button.d.ts +3 -4
- package/dist/types/components/stretch-refresh/index.d.ts +1 -0
- package/dist/types/components/stretch-refresh/stretch-refresh.d.ts +49 -0
- package/dist/types/components/swipe-actions/swipe-actions.d.ts +1 -2
- package/dist/types/components/tag-input/tag-input.d.ts +2 -3
- package/dist/types/components/theme-root/index.d.ts +1 -0
- package/dist/types/components/theme-root/theme-root.d.ts +10 -3
- package/dist/types/components/theme-switch/theme-switch.d.ts +3 -3
- package/dist/types/components/{comment-thread → thread}/thread-parts.d.ts +7 -2
- package/dist/types/components/time-picker/time-picker.d.ts +2 -2
- package/dist/types/components/timeline/timeline.d.ts +4 -4
- package/dist/types/components/toast/toast.d.ts +3 -3
- package/dist/types/components/tooltip/tooltip.d.ts +8 -1
- package/dist/types/components/tree-view/tree-view.d.ts +4 -3
- package/dist/types/components/typewriter-terminal/index.d.ts +2 -0
- package/dist/types/components/typewriter-terminal/typewriter-terminal.d.ts +87 -0
- package/dist/types/components/usage-meter/usage-meter.d.ts +6 -16
- package/dist/types/components/usage-meter/usage-model.d.ts +30 -0
- package/dist/types/components/user-menu/index.d.ts +2 -0
- package/dist/types/components/user-menu/user-menu.d.ts +118 -0
- package/dist/types/index.d.ts +18 -1
- package/dist/types/overlay/exit-motion.d.ts +24 -0
- package/dist/types/overlay/presence-spring.d.ts +12 -0
- package/dist/types/overlay/use-native-dialog.d.ts +10 -1
- package/dist/types/styling/create-theme.d.ts +24 -0
- package/dist/types/styling/css.d.ts +1 -1
- package/dist/types/styling/motion-timings.d.ts +5 -0
- package/dist/types/styling/overlay-motion.d.ts +95 -0
- package/dist/types/styling/surface.d.ts +7 -0
- package/dist/types/styling/sx.d.ts +1 -1
- package/dist/types/styling/theme-scope.d.ts +29 -3
- package/dist/types/styling/theme.d.ts +15 -0
- package/dist/types/utils/initials.d.ts +2 -0
- package/dist/typewriter-terminal-BUEsMzo3.js +588 -0
- package/dist/typewriter-terminal.js +2 -0
- package/dist/{usage-meter-qyQ3rYVv.js → usage-meter-CYvlB6l3.js} +165 -175
- package/dist/usage-meter.js +1 -1
- package/dist/usage-model-C0fS47w4.js +32 -0
- package/dist/use-native-dialog-FB0p7lkg.js +93 -0
- package/dist/use-scroll-lock-40gXwwAy.js +23 -0
- package/dist/user-menu-MctRu_Lh.js +757 -0
- package/dist/user-menu.js +2 -0
- package/dist/{visually-hidden-BJdvqqvn.js → visually-hidden-DgVO3NaB.js} +1 -1
- package/package.json +87 -5
- package/dist/avatar-CaGJHy1N.js +0 -145
- package/dist/calendar-BzJdv_SZ.js +0 -449
- package/dist/card-Ca4KQKYQ.js +0 -154
- package/dist/command-palette-BmQu2w4H.js +0 -391
- package/dist/comment-thread-ASaXDcGo.js +0 -1410
- package/dist/date-range-picker-DQpUeKqV.js +0 -570
- package/dist/dialog-BX1zYMs-.js +0 -219
- package/dist/drawer-DsASTiP-.js +0 -553
- package/dist/elastic-slider-BG6K019r.js +0 -395
- package/dist/elastic-slider.js +0 -2
- package/dist/slider-DVG6-Awh.js +0 -308
- package/dist/sx-Dx9JUKp5.js +0 -23
- package/dist/theme-root-Bs1U3uPA.js +0 -46
- package/dist/theme-scope-t7nAKc2c.js +0 -27
- package/dist/types/components/elastic-slider/elastic-slider.d.ts +0 -53
- package/dist/types/components/elastic-slider/index.d.ts +0 -1
- package/dist/use-native-dialog-DWpIUVO1.js +0 -84
- package/dist/use-slider-interaction-ChL-208h.js +0 -234
- /package/dist/types/components/{comment-thread → thread}/thread-core.d.ts +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { ShortcutRecorder, normalizeShortcut, matchesShortcut, formatShortcut, useShortcutPlatform, usePressedShortcutKeys, defaultShortcutMessages, } from './shortcut-recorder';
|
|
2
|
+
export type { ShortcutRecorderProps, ShortcutKeysProps, ShortcutListProps, ShortcutPlatform, ShortcutBinding, ShortcutListGroup, ShortcutMessages, KeyboardEventLike, } from './shortcut-recorder';
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { type ComponentPropsWithRef, type ReactNode } from 'react';
|
|
2
|
+
import { type SxProps } from '../../styling/sx';
|
|
3
|
+
import { type FieldPartProps } from '../field/field-anatomy';
|
|
4
|
+
export type ShortcutPlatform = 'mac' | 'other';
|
|
5
|
+
export interface ShortcutBinding {
|
|
6
|
+
shortcut: string;
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ShortcutListGroup {
|
|
10
|
+
label: string;
|
|
11
|
+
items: readonly {
|
|
12
|
+
label: string;
|
|
13
|
+
shortcut: string;
|
|
14
|
+
keywords?: string;
|
|
15
|
+
}[];
|
|
16
|
+
}
|
|
17
|
+
export interface ShortcutMessages {
|
|
18
|
+
placeholder: string;
|
|
19
|
+
recording: string;
|
|
20
|
+
canceled: string;
|
|
21
|
+
cleared: string;
|
|
22
|
+
noShortcut: string;
|
|
23
|
+
clearLabel: string;
|
|
24
|
+
cancelLabel: string;
|
|
25
|
+
confirmLabel: string;
|
|
26
|
+
reset: (spoken: string) => string;
|
|
27
|
+
set: (spoken: string) => string;
|
|
28
|
+
requireModifier: (platform: ShortcutPlatform) => string;
|
|
29
|
+
conflict: (spoken: string, binding: ShortcutBinding, reserved: boolean) => string;
|
|
30
|
+
listLabel: string;
|
|
31
|
+
searchLabel: string;
|
|
32
|
+
searchPlaceholder: string;
|
|
33
|
+
empty: string;
|
|
34
|
+
results: (count: number) => string;
|
|
35
|
+
keyName: (id: string, platform: ShortcutPlatform) => {
|
|
36
|
+
label: string;
|
|
37
|
+
spoken: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface KeyboardEventLike {
|
|
41
|
+
code: string;
|
|
42
|
+
key: string;
|
|
43
|
+
ctrlKey: boolean;
|
|
44
|
+
altKey: boolean;
|
|
45
|
+
shiftKey: boolean;
|
|
46
|
+
metaKey: boolean;
|
|
47
|
+
repeat?: boolean;
|
|
48
|
+
isComposing?: boolean;
|
|
49
|
+
getModifierState?: (key: string) => boolean;
|
|
50
|
+
}
|
|
51
|
+
export declare function normalizeShortcut(shortcut: string, platform: ShortcutPlatform): string | null;
|
|
52
|
+
export declare function matchesShortcut(event: KeyboardEventLike, shortcut: string, platform: ShortcutPlatform): boolean;
|
|
53
|
+
export declare const defaultShortcutMessages: ShortcutMessages;
|
|
54
|
+
export declare function formatShortcut(shortcut: string, platform: ShortcutPlatform, messages?: ShortcutMessages): {
|
|
55
|
+
text: string;
|
|
56
|
+
spoken: string;
|
|
57
|
+
};
|
|
58
|
+
export declare function useShortcutPlatform(override?: ShortcutPlatform): ShortcutPlatform;
|
|
59
|
+
export declare function usePressedShortcutKeys(enabled?: boolean): ReadonlySet<string>;
|
|
60
|
+
export interface ShortcutKeysProps extends ComponentPropsWithRef<'span'>, SxProps {
|
|
61
|
+
shortcut: string;
|
|
62
|
+
platform?: ShortcutPlatform;
|
|
63
|
+
pressed?: ReadonlySet<string>;
|
|
64
|
+
size?: 'sm' | 'md';
|
|
65
|
+
messages?: ShortcutMessages;
|
|
66
|
+
locale?: Intl.LocalesArgument;
|
|
67
|
+
slotProps?: {
|
|
68
|
+
key?: FieldPartProps;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
declare function ShortcutKeys({ shortcut, platform: platformProp, pressed, size, messages, locale: _locale, slotProps, className, sx, ...rest }: ShortcutKeysProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
72
|
+
type RecorderSlot = 'root' | 'label' | 'control' | 'recorder' | 'actions' | 'reset' | 'clear' | 'message' | 'confirm' | 'cancel' | 'description' | 'error' | 'status' | 'key';
|
|
73
|
+
export interface ShortcutRecorderProps extends Omit<ComponentPropsWithRef<'button'>, 'value' | 'defaultValue'>, SxProps {
|
|
74
|
+
value?: string | null;
|
|
75
|
+
defaultValue?: string | null;
|
|
76
|
+
onValueChange?: (value: string | null, details: {
|
|
77
|
+
replaced?: ShortcutBinding;
|
|
78
|
+
}) => void;
|
|
79
|
+
recording?: boolean;
|
|
80
|
+
defaultRecording?: boolean;
|
|
81
|
+
onRecordingChange?: (recording: boolean) => void;
|
|
82
|
+
resetValue?: string | null;
|
|
83
|
+
bindings?: readonly ShortcutBinding[];
|
|
84
|
+
reservedBindings?: readonly ShortcutBinding[];
|
|
85
|
+
warnReserved?: boolean;
|
|
86
|
+
requireModifier?: boolean;
|
|
87
|
+
platform?: ShortcutPlatform;
|
|
88
|
+
label?: ReactNode;
|
|
89
|
+
description?: ReactNode;
|
|
90
|
+
error?: ReactNode;
|
|
91
|
+
hideLabel?: boolean;
|
|
92
|
+
size?: 'sm' | 'md' | 'lg';
|
|
93
|
+
locale?: Intl.LocalesArgument;
|
|
94
|
+
messages?: ShortcutMessages;
|
|
95
|
+
readOnly?: boolean;
|
|
96
|
+
slotProps?: Partial<Record<RecorderSlot, FieldPartProps>>;
|
|
97
|
+
}
|
|
98
|
+
declare function ShortcutRecorderRoot({ ref, value, defaultValue, onValueChange, recording, defaultRecording, onRecordingChange, resetValue, bindings, reservedBindings, warnReserved, requireModifier, platform: platformProp, label, description, error, hideLabel, size, locale, messages, readOnly, disabled, name, dir, slotProps, className, sx, onClick, onKeyDown, onKeyUp, onBlur, onFocus, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, 'aria-invalid': invalid, id, children: _children, ...rest }: ShortcutRecorderProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
99
|
+
type ListSlot = 'root' | 'search' | 'groups' | 'group' | 'heading' | 'item' | 'keys' | 'empty' | 'status';
|
|
100
|
+
export interface ShortcutListProps extends ComponentPropsWithRef<'section'>, SxProps {
|
|
101
|
+
groups: readonly ShortcutListGroup[];
|
|
102
|
+
searchable?: boolean;
|
|
103
|
+
highlightPressed?: boolean;
|
|
104
|
+
platform?: ShortcutPlatform;
|
|
105
|
+
locale?: Intl.LocalesArgument;
|
|
106
|
+
messages?: ShortcutMessages;
|
|
107
|
+
inputValue?: string;
|
|
108
|
+
defaultInputValue?: string;
|
|
109
|
+
onInputChange?: (value: string) => void;
|
|
110
|
+
slotProps?: Partial<Record<ListSlot, FieldPartProps>>;
|
|
111
|
+
}
|
|
112
|
+
declare function ShortcutList({ groups, searchable, highlightPressed, platform, locale, messages, inputValue, defaultInputValue, onInputChange, slotProps, className, sx, ref, ...rest }: ShortcutListProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
113
|
+
export declare const ShortcutRecorder: typeof ShortcutRecorderRoot & {
|
|
114
|
+
Keys: typeof ShortcutKeys;
|
|
115
|
+
List: typeof ShortcutList;
|
|
116
|
+
};
|
|
117
|
+
export {};
|
|
@@ -94,10 +94,10 @@ export declare class SignatureExportError extends Error {
|
|
|
94
94
|
export declare function signatureToPng(strokes: SignatureStroke[], options?: SignatureExportOptions): Promise<Blob>;
|
|
95
95
|
/** The same midpoint-quadratic segments and round caps used by Canvas, with fixed print ink. */
|
|
96
96
|
export declare function signatureToSvg(strokes: SignatureStroke[], options?: SignatureExportOptions): string;
|
|
97
|
-
/**
|
|
97
|
+
/** Draw a signature with a pointer. Forms must offer typed-name or upload alternatives.
|
|
98
98
|
* Canvas shortcuts: Mod+Z undo, Shift+Mod+Z/Mod+Y redo, Delete clear, Escape cancel/stop.
|
|
99
99
|
* Samples use 600×260 coordinates; pressure changes round line widths, not speed-based taper.
|
|
100
|
-
*
|
|
100
|
+
* The drawing does not establish identity, consent or legal validity. */
|
|
101
101
|
export declare function SignaturePad({ ref, apiRef, value: valueProp, defaultValue, onValueChange, color: colorProp, defaultColor, onColorChange, width: widthProp, defaultWidth, onWidthChange, label, description, error, signer, hint, disabled, readOnly, required, replay: showReplay, download, fileName, historyLimit, messages, icons, exportOptions, slotProps, className, sx, dir, style, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onLostPointerCapture, onKeyDown, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: SignaturePadProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
102
102
|
export declare namespace SignaturePad {
|
|
103
103
|
var displayName: string;
|
|
@@ -9,7 +9,7 @@ export interface SplitButtonProps extends Omit<ComponentPropsWithRef<'div'>, 'ro
|
|
|
9
9
|
variant?: ButtonVariant;
|
|
10
10
|
tone?: ButtonTone;
|
|
11
11
|
size?: ButtonSize;
|
|
12
|
-
/** Disables Action, Trigger and items
|
|
12
|
+
/** Disables Action, Trigger and items. Requests closure once if the menu is open. */
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
open?: boolean;
|
|
15
15
|
defaultOpen?: boolean;
|
|
@@ -20,13 +20,12 @@ export interface SplitButtonProps extends Omit<ComponentPropsWithRef<'div'>, 'ro
|
|
|
20
20
|
}
|
|
21
21
|
export interface SplitButtonActionProps extends Omit<ButtonProps, 'render'> {
|
|
22
22
|
/**
|
|
23
|
-
* Labels
|
|
24
|
-
* longest one while its label changes; a label swap fades in.
|
|
23
|
+
* Labels Action may show. Reserves the width of the longest label; changed labels fade in.
|
|
25
24
|
*/
|
|
26
25
|
reserveLabels?: readonly string[];
|
|
27
26
|
}
|
|
28
27
|
type SplitButtonTriggerBaseProps = Omit<ButtonProps, 'render' | 'variant' | 'tone' | 'size' | 'loading' | 'startIcon' | 'endIcon' | 'aria-haspopup' | 'aria-expanded' | 'aria-controls'>;
|
|
29
|
-
/**
|
|
28
|
+
/** Trigger has no text. Supply a translated `aria-label` or `aria-labelledby`. */
|
|
30
29
|
export type SplitButtonTriggerProps = SplitButtonTriggerBaseProps & ({
|
|
31
30
|
'aria-label': string;
|
|
32
31
|
} | {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StretchRefresh, type StretchRefreshProps, type StretchRefreshSlotProps, type StretchRefreshLabels, } from './stretch-refresh';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ComponentPropsWithRef, type ReactNode } from 'react';
|
|
2
|
+
import { type Interpolation, type Theme } from '../../styling/css';
|
|
3
|
+
import { type SxProps } from '../../styling/sx';
|
|
4
|
+
import { type ButtonProps } from '../button';
|
|
5
|
+
type Slot<E extends 'div' | 'header' | 'h2' | 'ul' | 'li'> = Omit<ComponentPropsWithRef<E>, 'children'> & {
|
|
6
|
+
css?: Interpolation<Theme>;
|
|
7
|
+
};
|
|
8
|
+
export interface StretchRefreshSlotProps<T> {
|
|
9
|
+
header?: Slot<'header'>;
|
|
10
|
+
title?: Slot<'h2'>;
|
|
11
|
+
subtitle?: Slot<'div'>;
|
|
12
|
+
feed?: Slot<'div'>;
|
|
13
|
+
list?: Slot<'ul'>;
|
|
14
|
+
item?: Slot<'li'> | ((item: T, index: number) => Slot<'li'>);
|
|
15
|
+
indicator?: Omit<Slot<'div'>, 'aria-hidden'>;
|
|
16
|
+
refreshButton?: Omit<ButtonProps, 'children' | 'type' | 'disabled' | 'loading' | 'render' | 'sx'>;
|
|
17
|
+
status?: Omit<Slot<'div'>, 'role' | 'aria-atomic'>;
|
|
18
|
+
empty?: Slot<'div'>;
|
|
19
|
+
}
|
|
20
|
+
export interface StretchRefreshLabels {
|
|
21
|
+
refresh?: string;
|
|
22
|
+
refreshing?: string;
|
|
23
|
+
pull?: string;
|
|
24
|
+
release?: string;
|
|
25
|
+
done?: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface StretchRefreshProps<T> extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'title'>, SxProps {
|
|
29
|
+
title: ReactNode;
|
|
30
|
+
headingLevel?: 2 | 3 | 4 | 5 | 6;
|
|
31
|
+
subtitle?: ReactNode;
|
|
32
|
+
items: readonly T[];
|
|
33
|
+
getKey: (item: T) => string;
|
|
34
|
+
renderItem: (item: T, index: number) => ReactNode;
|
|
35
|
+
onRefresh: () => Promise<string | void>;
|
|
36
|
+
refreshing?: boolean;
|
|
37
|
+
defaultRefreshing?: boolean;
|
|
38
|
+
onRefreshingChange?: (refreshing: boolean) => void;
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
threshold?: number;
|
|
41
|
+
emptyContent?: ReactNode;
|
|
42
|
+
labels?: StretchRefreshLabels;
|
|
43
|
+
slotProps?: StretchRefreshSlotProps<T>;
|
|
44
|
+
}
|
|
45
|
+
export declare function StretchRefresh<T>({ title, headingLevel, subtitle, items, getKey, renderItem, onRefresh, refreshing, defaultRefreshing, onRefreshingChange, disabled, threshold: thresholdProp, emptyContent, labels, slotProps, ref, className, sx, onKeyDown, ...props }: StretchRefreshProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare namespace StretchRefresh {
|
|
47
|
+
var displayName: string;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
@@ -13,8 +13,7 @@ export interface SwipeAction {
|
|
|
13
13
|
tone?: 'neutral' | 'accent' | 'danger';
|
|
14
14
|
disabled?: boolean;
|
|
15
15
|
onSelect: () => void;
|
|
16
|
-
/** Caller
|
|
17
|
-
* never deletes data itself, so this is metadata for the caller's `onSelect`. */
|
|
16
|
+
/** Caller metadata indicating the row should stay. Commands close the rail but never delete data. */
|
|
18
17
|
keepRow?: boolean;
|
|
19
18
|
}
|
|
20
19
|
type Slot = {
|
|
@@ -29,8 +29,7 @@ export interface TagInputSlotProps extends FieldSlotProps<TagInputPartProps> {
|
|
|
29
29
|
}
|
|
30
30
|
export interface TagInputProps extends Omit<ComponentPropsWithRef<'input'>, 'size' | 'value' | 'defaultValue' | 'type' | 'children'>, SxProps {
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
* component renders them as given and never rewrites a provided list.
|
|
32
|
+
* Tokens in order. Entries must be unique, nonempty and normalized. The list renders as supplied.
|
|
34
33
|
*/
|
|
35
34
|
value?: readonly string[];
|
|
36
35
|
defaultValue?: readonly string[];
|
|
@@ -51,7 +50,7 @@ export interface TagInputProps extends Omit<ComponentPropsWithRef<'input'>, 'siz
|
|
|
51
50
|
normalize?: (draft: string) => string;
|
|
52
51
|
/** Returns a rejection message, or `null` to accept the token. */
|
|
53
52
|
validateToken?: (token: string) => string | null;
|
|
54
|
-
/**
|
|
53
|
+
/** Maximum token count for additions. Initial and controlled lists beyond this count are kept. */
|
|
55
54
|
maxTokens?: number;
|
|
56
55
|
/** Locale for duplicate comparison and default number formatting. */
|
|
57
56
|
locale?: Intl.LocalesArgument;
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { type ComponentPropsWithRef, type ReactNode } from 'react';
|
|
2
|
+
import { type ThemeTokens } from '../../styling/create-theme';
|
|
2
3
|
import { type SxProps } from '../../styling/sx';
|
|
3
4
|
import { type ThemeName } from '../../styling/theme-scope';
|
|
4
5
|
export type { ThemeName };
|
|
5
6
|
export interface ThemeRootProps extends ComponentPropsWithRef<'div'>, SxProps {
|
|
7
|
+
/** Base palette for this scope. `tokens` overrides its values. */
|
|
6
8
|
theme?: ThemeName;
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
+
* Token overrides, applied as inline custom properties. Use `createTheme()` to derive them from
|
|
11
|
+
* an accent. Omit to inherit the enclosing root's tokens when the themes match; otherwise none carry over.
|
|
12
|
+
*/
|
|
13
|
+
tokens?: ThemeTokens;
|
|
14
|
+
/**
|
|
15
|
+
* Container for this root's overlays. Omit to inherit the enclosing container or use `body`.
|
|
16
|
+
* With `null`, overlays wait until the host element is set.
|
|
10
17
|
*/
|
|
11
18
|
portalContainer?: HTMLElement | null;
|
|
12
19
|
children?: ReactNode;
|
|
13
20
|
}
|
|
14
|
-
export declare function ThemeRoot({ ref, theme, portalContainer, className, sx, ...rest }: ThemeRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function ThemeRoot({ ref, theme, tokens, portalContainer, className, style, sx, ...rest }: ThemeRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
15
22
|
export declare namespace ThemeRoot {
|
|
16
23
|
var displayName: string;
|
|
17
24
|
}
|
|
@@ -23,9 +23,9 @@ export interface ThemeSwitchProps extends Omit<SwitchProps, 'value' | 'defaultVa
|
|
|
23
23
|
darkIcon?: SwitchPartProps;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
-
* The
|
|
26
|
+
/** Requests light or dark appearance; the app applies the theme.
|
|
27
|
+
* Space and clicking the icon toggle Switch. Keep its accessible name the same in both states.
|
|
28
|
+
* The ref points to Switch's input. The icon frame is a hidden label for that input.
|
|
29
29
|
*/
|
|
30
30
|
export declare function ThemeSwitch({ value: valueProp, defaultValue, onValueChange, label, iconOnly, lightIcon, darkIcon, transition, loading, className, sx, slotProps, onChange, onClick, dir, id: idProp, ...rest }: ThemeSwitchProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
31
31
|
export declare namespace ThemeSwitch {
|
|
@@ -71,12 +71,14 @@ export interface ThreadReactionsProps {
|
|
|
71
71
|
onToggle: (emoji: string) => void;
|
|
72
72
|
pickerId: string;
|
|
73
73
|
part?: ThreadPartProps;
|
|
74
|
+
overlay?: boolean;
|
|
75
|
+
counts?: ReadonlyMap<string, number>;
|
|
74
76
|
}
|
|
75
77
|
/**
|
|
76
78
|
* Picker keyboard: Left/Right (mirrored in RTL) wrap across the emoji, Home/End jump; Escape and
|
|
77
79
|
* a chosen emoji close it and return focus to the add button. Pressing outside leaves it open.
|
|
78
80
|
*/
|
|
79
|
-
export declare function ThreadReactions({ ui: owner, reactions, offered, currentUserId, formatters, labels, readOnly, disabled, pickerOpen, onPickerOpenChange, onToggle, pickerId, part, }: ThreadReactionsProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
81
|
+
export declare function ThreadReactions({ ui: owner, reactions, offered, currentUserId, formatters, labels, readOnly, disabled, pickerOpen, onPickerOpenChange, onToggle, pickerId, part, overlay, counts, }: ThreadReactionsProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
80
82
|
export interface ThreadComposerProps {
|
|
81
83
|
ui: string;
|
|
82
84
|
draft: string;
|
|
@@ -108,7 +110,10 @@ export interface ThreadComposerProps {
|
|
|
108
110
|
part?: ThreadPartProps;
|
|
109
111
|
/** Distinguishes composers inside one thread (`data-composer`). */
|
|
110
112
|
kind: string;
|
|
113
|
+
submitOnEnter?: boolean;
|
|
114
|
+
allowEmpty?: boolean;
|
|
115
|
+
lockWhilePending?: boolean;
|
|
111
116
|
}
|
|
112
117
|
/** Per-size layout variables read by the parts; the owning root applies them. */
|
|
113
118
|
export declare const threadSizeStyles: Record<ThreadSize, SerializedStyles>;
|
|
114
|
-
export declare function ThreadComposer({ ui: owner, draft, onDraftChange, onSubmit, onCancel, cancelOnEscape, cancelable, label, placeholder, submitLabel, cancelLabel, mentionsLabel, people, locale, disabled, pending, autoFocus, size, author, textareaProps, submitProps, part, kind, }: ThreadComposerProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
119
|
+
export declare function ThreadComposer({ ui: owner, draft, onDraftChange, onSubmit, onCancel, cancelOnEscape, cancelable, label, placeholder, submitLabel, cancelLabel, mentionsLabel, people, locale, disabled, pending, autoFocus, size, author, textareaProps, submitProps, part, kind, submitOnEnter, allowEmpty, lockWhilePending, }: ThreadComposerProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -27,7 +27,7 @@ export interface TimePickerProps extends Omit<ComponentPropsWithRef<'button'>, '
|
|
|
27
27
|
minuteStep?: TimePickerMinuteStep;
|
|
28
28
|
min?: string;
|
|
29
29
|
max?: string;
|
|
30
|
-
/** Supply a locale
|
|
30
|
+
/** Supply a locale so server and client text match. */
|
|
31
31
|
locale?: string;
|
|
32
32
|
hourCycle?: TimePickerHourCycle;
|
|
33
33
|
label?: ReactNode;
|
|
@@ -36,7 +36,7 @@ export interface TimePickerProps extends Omit<ComponentPropsWithRef<'button'>, '
|
|
|
36
36
|
placeholder?: ReactNode;
|
|
37
37
|
size?: TimePickerSize;
|
|
38
38
|
readOnly?: boolean;
|
|
39
|
-
/**
|
|
39
|
+
/** Announces required state; the hidden form field does not enforce browser validation. */
|
|
40
40
|
required?: boolean;
|
|
41
41
|
icon?: ReactNode;
|
|
42
42
|
slotProps?: TimePickerSlotProps;
|
|
@@ -11,10 +11,10 @@ export interface TimelineEvent {
|
|
|
11
11
|
at: string | number | Date;
|
|
12
12
|
/** Who acted; shown as text next to the title. */
|
|
13
13
|
actor?: string;
|
|
14
|
-
/**
|
|
14
|
+
/** Outcome text, such as "Deploy failed", to show state alongside tone. */
|
|
15
15
|
title: ReactNode;
|
|
16
16
|
meta?: ReactNode;
|
|
17
|
-
/**
|
|
17
|
+
/** Panel content. Makes the title a disclosure button; 0 counts as content, false/null/'' do not. */
|
|
18
18
|
detail?: ReactNode;
|
|
19
19
|
/** Actor portrait URL; takes precedence over `icon`. */
|
|
20
20
|
avatar?: string;
|
|
@@ -47,12 +47,12 @@ export interface TimelineProps extends Omit<ComponentPropsWithRef<'div'>, 'defau
|
|
|
47
47
|
defaultValue?: readonly string[];
|
|
48
48
|
/** Requested open ids after a disclosure interaction. */
|
|
49
49
|
onValueChange?: (ids: string[]) => void;
|
|
50
|
-
/** Formatting locale
|
|
50
|
+
/** Formatting locale. Supply one so server and client output match. */
|
|
51
51
|
locale?: Intl.LocalesArgument;
|
|
52
52
|
/** IANA zone used for day grouping and every displayed date. */
|
|
53
53
|
timeZone?: string;
|
|
54
54
|
headingLevel?: TimelineHeadingLevel;
|
|
55
|
-
/**
|
|
55
|
+
/** Height limit for the timeline's scroller. Without it, the timeline grows with the page. */
|
|
56
56
|
maxHeight?: CSSProperties['maxHeight'];
|
|
57
57
|
/** Scroll to an event newer than any shown before. Never moves focus. */
|
|
58
58
|
scrollToNew?: boolean;
|
|
@@ -10,7 +10,7 @@ export interface ToastOptions {
|
|
|
10
10
|
title?: ReactNode;
|
|
11
11
|
description?: ReactNode;
|
|
12
12
|
tone?: ToastTone;
|
|
13
|
-
/** Milliseconds before
|
|
13
|
+
/** Milliseconds before dismissal. `null` keeps the toast open; omitted uses the provider's delay. */
|
|
14
14
|
duration?: number | null;
|
|
15
15
|
action?: ToastAction;
|
|
16
16
|
/** Decorative spinner; an omitted duration persists while loading. */
|
|
@@ -18,9 +18,9 @@ export interface ToastOptions {
|
|
|
18
18
|
}
|
|
19
19
|
export interface ToastProviderProps {
|
|
20
20
|
children?: ReactNode;
|
|
21
|
-
/** Maximum toasts kept
|
|
21
|
+
/** Maximum toasts kept. Adding beyond this count removes the oldest immediately. */
|
|
22
22
|
max?: number;
|
|
23
|
-
/** Default delay
|
|
23
|
+
/** Default delay when a toast is added. Changes do not affect existing toasts. */
|
|
24
24
|
duration?: number;
|
|
25
25
|
/** Accessible label for each toast's close button. */
|
|
26
26
|
dismissLabel?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ComponentPropsWithRef, type ReactNode } from 'react';
|
|
2
|
-
import { type Placement } from '@floating-ui/react';
|
|
2
|
+
import { type FloatingRootContext, type Placement, type UseInteractionsReturn } from '@floating-ui/react';
|
|
3
3
|
import { type SxProps } from '../../styling/sx';
|
|
4
4
|
export interface TooltipProps {
|
|
5
5
|
open?: boolean;
|
|
@@ -16,6 +16,13 @@ export interface TooltipTriggerProps extends ComponentPropsWithRef<'button'>, Sx
|
|
|
16
16
|
}
|
|
17
17
|
export interface TooltipContentProps extends ComponentPropsWithRef<'div'>, SxProps {
|
|
18
18
|
}
|
|
19
|
+
export declare const tooltipContentStyle: import("@emotion/react").SerializedStyles;
|
|
20
|
+
/** The tooltip interaction chain, shared with parts whose operative element cannot be a Tooltip.Trigger. */
|
|
21
|
+
export declare function useTooltipInteractions(context: FloatingRootContext, { enabled, openDelay, closeDelay, }?: {
|
|
22
|
+
enabled?: boolean;
|
|
23
|
+
openDelay?: number;
|
|
24
|
+
closeDelay?: number;
|
|
25
|
+
}): UseInteractionsReturn;
|
|
19
26
|
declare function TooltipRoot(props: TooltipProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
20
27
|
declare function TooltipTrigger({ ref, 'aria-describedby': ariaDescribedByProp, className, sx, ...rest }: TooltipTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
21
28
|
declare function TooltipContent(props: TooltipContentProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
@@ -38,9 +38,10 @@ export interface TreeViewProps extends Omit<ComponentPropsWithRef<'div'>, 'child
|
|
|
38
38
|
locale?: Intl.LocalesArgument;
|
|
39
39
|
slotProps?: TreeViewSlotProps;
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
/** APG tree with one selection and roving focus.
|
|
42
|
+
* Right expands or enters; Left collapses or moves to the parent, including in RTL.
|
|
43
|
+
* Up/Down stop at the ends; Home/End jump; Enter/Space select. Typeahead resets after 500ms.
|
|
44
|
+
* Loaded children are cached per instance. Remount with a new key to replace the cache. */
|
|
44
45
|
export declare function TreeView({ nodes, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, loadChildren, onLoadError, label, messages: messageProps, empty, treeRef, locale, slotProps, ref, className, sx, onKeyDown, onClick, onBlur, 'aria-label': ariaLabel, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: TreeViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
45
46
|
export declare namespace TreeView {
|
|
46
47
|
var displayName: string;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type ComponentPropsWithRef, type ComponentPropsWithoutRef, type JSX, type ReactNode } from 'react';
|
|
2
|
+
import { type Interpolation, type Theme } from '../../styling/css';
|
|
3
|
+
import { type SxProps } from '../../styling/sx';
|
|
4
|
+
export type TerminalTone = 'neutral' | 'muted' | 'success' | 'warning' | 'danger' | 'accent';
|
|
5
|
+
export interface TerminalLine {
|
|
6
|
+
text: string;
|
|
7
|
+
tone?: TerminalTone;
|
|
8
|
+
delayMs?: number;
|
|
9
|
+
href?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TerminalProgress {
|
|
12
|
+
kind: 'progress';
|
|
13
|
+
label: string;
|
|
14
|
+
durationMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface TerminalTask {
|
|
17
|
+
kind: 'task';
|
|
18
|
+
label: string;
|
|
19
|
+
durationMs?: number;
|
|
20
|
+
doneLabel?: string;
|
|
21
|
+
}
|
|
22
|
+
export type TerminalOutput = string | TerminalLine | TerminalProgress | TerminalTask;
|
|
23
|
+
export interface TerminalStep {
|
|
24
|
+
command: string;
|
|
25
|
+
output?: readonly TerminalOutput[];
|
|
26
|
+
cwd?: string;
|
|
27
|
+
pauseMs?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface TypewriterTerminalLabels {
|
|
30
|
+
play: string;
|
|
31
|
+
pause: string;
|
|
32
|
+
replay: string;
|
|
33
|
+
copy: string;
|
|
34
|
+
seek: string;
|
|
35
|
+
copied: string;
|
|
36
|
+
copyError: string;
|
|
37
|
+
playing: string;
|
|
38
|
+
paused: string;
|
|
39
|
+
replayed: string;
|
|
40
|
+
step: (step: number, command: string) => string;
|
|
41
|
+
tones: Record<TerminalTone, string>;
|
|
42
|
+
completed: string;
|
|
43
|
+
}
|
|
44
|
+
type Slot<E extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<E> & {
|
|
45
|
+
css?: Interpolation<Theme>;
|
|
46
|
+
};
|
|
47
|
+
export interface TypewriterTerminalSlotProps {
|
|
48
|
+
header?: Slot<'header'>;
|
|
49
|
+
screen?: Slot<'div'>;
|
|
50
|
+
transcript?: Slot<'ol'>;
|
|
51
|
+
controls?: Slot<'div'>;
|
|
52
|
+
scrubber?: Slot<'input'>;
|
|
53
|
+
playButton?: Slot<'button'>;
|
|
54
|
+
replayButton?: Slot<'button'>;
|
|
55
|
+
copyButton?: Slot<'button'>;
|
|
56
|
+
caption?: Slot<'figcaption'>;
|
|
57
|
+
status?: Slot<'div'>;
|
|
58
|
+
}
|
|
59
|
+
export interface TypewriterTerminalProps extends Omit<ComponentPropsWithRef<'figure'>, 'children' | 'onChange'>, SxProps {
|
|
60
|
+
steps: readonly TerminalStep[];
|
|
61
|
+
title?: string;
|
|
62
|
+
cwd?: string;
|
|
63
|
+
symbol?: string;
|
|
64
|
+
value?: number;
|
|
65
|
+
defaultValue?: number;
|
|
66
|
+
onValueChange?: (value: number) => void;
|
|
67
|
+
paused?: boolean;
|
|
68
|
+
defaultPaused?: boolean;
|
|
69
|
+
onPausedChange?: (paused: boolean) => void;
|
|
70
|
+
speed?: number;
|
|
71
|
+
loop?: boolean;
|
|
72
|
+
rows?: number;
|
|
73
|
+
copyable?: boolean;
|
|
74
|
+
caption?: ReactNode;
|
|
75
|
+
label?: string;
|
|
76
|
+
labels?: Partial<Omit<TypewriterTerminalLabels, 'tones'>> & {
|
|
77
|
+
tones?: Partial<Record<TerminalTone, string>>;
|
|
78
|
+
};
|
|
79
|
+
locale?: Intl.LocalesArgument;
|
|
80
|
+
slotProps?: TypewriterTerminalSlotProps;
|
|
81
|
+
}
|
|
82
|
+
/** Scripted playback only. Native buttons; slider arrows/Page keys jump command boundaries. */
|
|
83
|
+
export declare function TypewriterTerminal({ ref, steps, title, cwd, symbol, value, defaultValue, onValueChange, paused, defaultPaused, onPausedChange, speed, loop, rows, copyable, caption, label, labels: labelsProp, locale, slotProps, className, sx, style, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: TypewriterTerminalProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
84
|
+
export declare namespace TypewriterTerminal {
|
|
85
|
+
var displayName: string;
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type ComponentPropsWithRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
2
|
import { type Interpolation, type Theme } from '../../styling/css';
|
|
3
3
|
import { type SxProps } from '../../styling/sx';
|
|
4
|
-
|
|
4
|
+
import { type UsageMeterState, type UsageMeterSummary } from './usage-model';
|
|
5
|
+
export type { UsageMeterState, UsageMeterSummary } from './usage-model';
|
|
5
6
|
export type UsageMeterSize = 'sm' | 'md' | 'lg';
|
|
6
7
|
export type UsageMeterSelection = {
|
|
7
8
|
kind: 'segment';
|
|
@@ -20,17 +21,6 @@ export type UsageMeterItem = UsageMeterSelection & {
|
|
|
20
21
|
label: string;
|
|
21
22
|
value: number;
|
|
22
23
|
};
|
|
23
|
-
export interface UsageMeterSummary {
|
|
24
|
-
total: number;
|
|
25
|
-
limit: number;
|
|
26
|
-
free: number;
|
|
27
|
-
over: number;
|
|
28
|
-
ratio: number;
|
|
29
|
-
state: UsageMeterState;
|
|
30
|
-
formattedTotal: string;
|
|
31
|
-
formattedLimit: string;
|
|
32
|
-
formattedPercent: string;
|
|
33
|
-
}
|
|
34
24
|
export interface UsageMeterLabels {
|
|
35
25
|
free: string;
|
|
36
26
|
near: string;
|
|
@@ -51,7 +41,7 @@ export interface UsageMeterProps extends Omit<ComponentPropsWithRef<'div'>, 'chi
|
|
|
51
41
|
locale?: Intl.LocalesArgument;
|
|
52
42
|
numberFormatOptions?: Intl.NumberFormatOptions;
|
|
53
43
|
unitLabel?: ReactNode;
|
|
54
|
-
/** English
|
|
44
|
+
/** Defaults to English. Use the value-label callbacks to translate comparison text too. */
|
|
55
45
|
labels?: Partial<UsageMeterLabels>;
|
|
56
46
|
getValueLabel?: (summary: UsageMeterSummary) => string;
|
|
57
47
|
getItemLabel?: (item: UsageMeterItem, summary: UsageMeterSummary) => string;
|
|
@@ -74,9 +64,9 @@ export interface UsageMeterProps extends Omit<ComponentPropsWithRef<'div'>, 'chi
|
|
|
74
64
|
item?: UsageMeterPartProps<'button'>;
|
|
75
65
|
};
|
|
76
66
|
}
|
|
77
|
-
/**
|
|
78
|
-
* move focus
|
|
79
|
-
* allowance
|
|
67
|
+
/** Shows usage against an allowance, not task progress. The meter cannot receive focus.
|
|
68
|
+
* Legend arrows/Home/End move focus; Enter/Space toggle a pin; Escape clears it.
|
|
69
|
+
* Numeric ARIA stops at the allowance. Displayed text and aria-valuetext include overuse. */
|
|
80
70
|
export declare function UsageMeter({ ref, label, segments, limit, warnAt, size, locale, numberFormatOptions, unitLabel, labels: labelsProp, getValueLabel, getItemLabel, interactive, value, defaultValue, onValueChange, announceChanges, statusIcon, slotProps, className, sx, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, 'aria-label': ariaLabel, ...rest }: UsageMeterProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
81
71
|
export declare namespace UsageMeter {
|
|
82
72
|
var displayName: string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type UsageMeterState = 'normal' | 'near-limit' | 'over-limit' | 'unavailable';
|
|
2
|
+
export interface UsageMeterSummary {
|
|
3
|
+
total: number;
|
|
4
|
+
limit: number;
|
|
5
|
+
free: number;
|
|
6
|
+
over: number;
|
|
7
|
+
ratio: number;
|
|
8
|
+
state: UsageMeterState;
|
|
9
|
+
formattedTotal: string;
|
|
10
|
+
formattedLimit: string;
|
|
11
|
+
formattedPercent: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const DEFAULT_WARN_AT = 0.9;
|
|
14
|
+
export interface UsageFormats {
|
|
15
|
+
amount: Intl.NumberFormat;
|
|
16
|
+
percent: Intl.NumberFormat;
|
|
17
|
+
index: Intl.NumberFormat;
|
|
18
|
+
}
|
|
19
|
+
export declare function createUsageFormats(locale: Intl.LocalesArgument, numberFormatOptions?: Intl.NumberFormatOptions): UsageFormats;
|
|
20
|
+
interface SummarizeOptions {
|
|
21
|
+
warnAt?: number;
|
|
22
|
+
formats: UsageFormats;
|
|
23
|
+
/** Text for amounts that cannot be computed. */
|
|
24
|
+
unavailable: string;
|
|
25
|
+
/** Formats amounts instead of `formats.amount` (consumer unit formatters). */
|
|
26
|
+
formatAmount?: (amount: number) => string;
|
|
27
|
+
}
|
|
28
|
+
/** Compares `total` with `limit`. Limits at or below 0, or nonfinite limits, are `unavailable`. */
|
|
29
|
+
export declare function summarizeUsage(total: number, limit: number, { warnAt, formats, unavailable, formatAmount }: SummarizeOptions): UsageMeterSummary;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { UserMenu } from './user-menu';
|
|
2
|
+
export type { UserMenuContentProps, UserMenuGroupSlotProps, UserMenuIdentityProps, UserMenuItemProps, UserMenuItemTone, UserMenuPartProps, UserMenuProps, UserMenuSeparatorProps, UserMenuSignOutProps, UserMenuStatus, UserMenuStatusGroupProps, UserMenuTheme, UserMenuThemeGroupProps, UserMenuTriggerProps, UserMenuUser, UserMenuVariant, } from './user-menu';
|