@astryx-vue/core 0.2.5 → 0.3.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/THIRD_PARTY_NOTICES.md +9 -0
- package/dist/AlertDialog/index.js +1 -1
- package/dist/{AlertDialog-B6UeBCE7.js → AlertDialog-RAVA_cT1.js} +13 -7
- package/dist/AppShell/index.d.ts +1 -1
- package/dist/AppShell/index.js +1 -1
- package/dist/{AppShell-CeBmB0Q9.js → AppShell-0wTvOo3H.js} +3 -3
- package/dist/Avatar/index.d.ts +2 -2
- package/dist/Avatar/index.js +1 -1
- package/dist/{Avatar-BB4Z4LF1.js → Avatar-pPZ4dI_s.js} +161 -16
- package/dist/AvatarGroup/index.d.ts +2 -2
- package/dist/AvatarGroup/index.js +1 -1
- package/dist/AvatarGroup-B--NQSB3.js +98 -0
- package/dist/Banner/index.d.ts +1 -1
- package/dist/Banner/index.js +1 -1
- package/dist/{Banner-CJe9Im5a.js → Banner-GbGxrqQO.js} +1 -1
- package/dist/BottomSheet/index.d.ts +1 -1
- package/dist/BottomSheet/index.js +2 -2
- package/dist/{BottomSheet-o7xw-TOi.js → BottomSheet-JYMB_Ofl.js} +12 -9
- package/dist/{BottomSheet-BV6vfgGu.js → BottomSheet-pt7m4CvC.js} +3 -1
- package/dist/Breadcrumbs/index.d.ts +1 -1
- package/dist/Breadcrumbs/index.js +2 -2
- package/dist/{Breadcrumbs-D6G7f5WL.js → Breadcrumbs-DIm4figq.js} +22 -11
- package/dist/Button/index.d.ts +1 -1
- package/dist/Button/index.js +1 -1
- package/dist/{Button-DrqeomlE.js → Button-B6Hj_O_s.js} +3 -1
- package/dist/ButtonGroup/index.d.ts +1 -1
- package/dist/Calendar/index.d.ts +1 -1
- package/dist/Calendar/index.js +1 -1
- package/dist/{Calendar-DmTeM7PO.js → Calendar-B7vIowKq.js} +2 -2
- package/dist/Card/index.d.ts +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/{Card-HAjZQg2s.js → Card-B-I24X9S.js} +2 -0
- package/dist/Carousel/index.d.ts +1 -1
- package/dist/Carousel/index.js +1 -1
- package/dist/{Carousel-CIKrcA2r.js → Carousel-CA8zpD9v.js} +48 -31
- package/dist/Center/index.d.ts +1 -1
- package/dist/Chat/index.d.ts +2 -2
- package/dist/Chat/index.js +1 -1
- package/dist/{Chat-BFox3u9D.js → Chat-Bmna9EOA.js} +98 -61
- package/dist/CheckboxInput/index.d.ts +1 -1
- package/dist/CheckboxInput/index.js +1 -1
- package/dist/{CheckboxInput-25Q8ItH-.js → CheckboxInput-BS9J6edf.js} +2 -2
- package/dist/CheckboxList/index.d.ts +1 -1
- package/dist/CheckboxList/index.js +1 -1
- package/dist/{CheckboxList-BlPf7vPe.js → CheckboxList-CX1i_jVP.js} +8 -7
- package/dist/Citation/index.js +1 -1
- package/dist/{Citation-BG-vg9ia.js → Citation-Djgwa0ko.js} +1 -1
- package/dist/ClickableCard/index.d.ts +1 -1
- package/dist/ClickableCard/index.js +1 -1
- package/dist/{ClickableCard-Bhds4RRe.js → ClickableCard-DUsC-j03.js} +1 -1
- package/dist/Code/index.d.ts +1 -1
- package/dist/Code/index.js +1 -1
- package/dist/{CodeBlock-B2pnEOJY.js → CodeBlock-D0BFubut.js} +5 -1
- package/dist/Collapsible/index.d.ts +2 -2
- package/dist/Collapsible/index.js +2 -2
- package/dist/{Collapsible-3YerR-FO.js → Collapsible-Cov3Pyq5.js} +67 -22
- package/dist/CommandPalette/index.d.ts +2 -2
- package/dist/CommandPalette/index.js +1 -1
- package/dist/{CommandPalette-DKgHzmJk.js → CommandPalette-YHsUNg3V.js} +60 -20
- package/dist/ComplexSelector/index.d.ts +1 -1
- package/dist/ComplexSelector/index.js +1 -1
- package/dist/{ComplexSelector-Dv44FFhN.js → ComplexSelector-DWLdKPGI.js} +41 -9
- package/dist/ContextMenu/index.d.ts +1 -1
- package/dist/ContextMenu/index.js +2 -2
- package/dist/{ContextMenu-BeJO5HYx.js → ContextMenu-Bq9b3Ti5.js} +15 -8
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.js +1 -1
- package/dist/DateInput-DT518j5E.js +841 -0
- package/dist/DateRangeInput/index.d.ts +1 -1
- package/dist/DateRangeInput/index.js +1 -1
- package/dist/{DateRangeInput-Cp6AZfew.js → DateRangeInput-Bqi5tlIA.js} +188 -140
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.js +1 -1
- package/dist/{DateTimeInput-B6MPPp76.js → DateTimeInput-A7m2O3bg.js} +43 -12
- package/dist/Dialog/index.d.ts +1 -1
- package/dist/Dialog/index.js +2 -2
- package/dist/{Dialog-CvRplBo-.js → Dialog-BiOSKQso.js} +9 -5
- package/dist/{Dialog-rfUt3y8P.js → Dialog-FGHfDu5M.js} +1 -1
- package/dist/Divider/index.d.ts +1 -1
- package/dist/DropdownMenu/index.js +3 -3
- package/dist/{DropdownMenu-6E9jFdFe.js → DropdownMenu-CoOQVlRp.js} +9 -10
- package/dist/{DropdownMenu--lnUeJEG.js → DropdownMenu-DEb2dSSP.js} +44 -33
- package/dist/EmptyState/index.js +1 -1
- package/dist/{EmptyState-0RWymQUS.js → EmptyState-C_GH7IV5.js} +2 -2
- package/dist/Field/index.d.ts +2 -2
- package/dist/Field/index.js +2 -2
- package/dist/{Field-8zRxzDHE.js → Field-D5gUEGw4.js} +1 -1
- package/dist/FieldInfoTip-Ds-sW_jY.js +98 -0
- package/dist/FieldLabel-BNeXRuGH.js +95 -0
- package/dist/FieldStatus/index.d.ts +1 -1
- package/dist/FileInput/index.d.ts +1 -1
- package/dist/FileInput/index.js +1 -1
- package/dist/FileInput-BpdiO1V8.js +285 -0
- package/dist/Grid/index.d.ts +1 -1
- package/dist/Heading/index.d.ts +1 -1
- package/dist/Heading/index.js +1 -1
- package/dist/{Heading-B9C3LZlS.js → Heading-BnwWEWkp.js} +7 -2
- package/dist/HoverCard/index.d.ts +2 -2
- package/dist/HoverCard/index.js +2 -2
- package/dist/HoverCard-ycY50pRN.js +492 -0
- package/dist/IconButton/index.js +1 -1
- package/dist/{IconButton-BNQuz9W_.js → IconButton-DDNgNl7B.js} +1 -1
- package/dist/InputGroup/index.d.ts +1 -1
- package/dist/InputGroup/index.js +1 -1
- package/dist/{InputGroup-BzR6JRZb.js → InputGroup-CA03Smrs.js} +1 -1
- package/dist/InternationalizationProvider/index.d.ts +2 -0
- package/dist/InternationalizationProvider/index.js +2 -0
- package/dist/InternationalizationProvider-DJay_w3B.js +170 -0
- package/dist/{Item-DrYJL1TG.js → Item-KhFKX9St.js} +15 -6
- package/dist/LayerProvider/index.d.ts +2 -0
- package/dist/LayerProvider/index.js +3 -0
- package/dist/LayerProvider-D9NsQFzL.js +73 -0
- package/dist/Layout/index.d.ts +1 -1
- package/dist/Layout/index.js +2 -2
- package/dist/{Layout-Bed3kP0M.js → Layout-C6RHllr-.js} +2 -2
- package/dist/{LayoutPanel-C34uOq3e.js → LayoutPanel-DXOsaeQb.js} +4 -1
- package/dist/Lightbox/index.js +1 -1
- package/dist/{Lightbox-Br3o0SyQ.js → Lightbox-DTF9EdTG.js} +2 -2
- package/dist/Link/index.d.ts +2 -2
- package/dist/Link/index.js +1 -1
- package/dist/{Link-DCZ6922-.js → Link-BqHCtiyt.js} +26 -7
- package/dist/LinkProvider/index.d.ts +2 -0
- package/dist/LinkProvider/index.js +3 -0
- package/dist/LinkProvider-Qsps9_mL.js +17 -0
- package/dist/List/index.d.ts +1 -1
- package/dist/List/index.js +2 -2
- package/dist/{ListItem-CcRHWuEm.js → ListItem-8RWT8XAG.js} +1 -1
- package/dist/Markdown/index.d.ts +1 -1
- package/dist/Markdown/index.js +1 -1
- package/dist/{Markdown-Bz0R3kNj.js → Markdown-CvtN7HnF.js} +4 -4
- package/dist/MetadataList/index.js +1 -1
- package/dist/{MetadataList-CFaocx6j.js → MetadataList-B-OelQlt.js} +1 -1
- package/dist/MobileNav/index.js +1 -1
- package/dist/{MobileNavToggle-Dh3uLivq.js → MobileNavToggle-DxGz0xKA.js} +11 -5
- package/dist/MoreMenu/index.d.ts +1 -1
- package/dist/MoreMenu/index.js +1 -1
- package/dist/{MoreMenu-B95nRSe8.js → MoreMenu-Dlb7MLlW.js} +33 -20
- package/dist/MultiSelector/index.d.ts +1 -1
- package/dist/MultiSelector/index.js +1 -1
- package/dist/{MultiSelector-DuF5TECE.js → MultiSelector-BtAUfQ3t.js} +122 -54
- package/dist/{NavDisclosure-C6sPZ89n.js → NavDisclosure-C_fugrQ3.js} +1 -2
- package/dist/{NavHeadingSurface-Cb3x9iDx.js → NavHeadingSurface-B3yJspSN.js} +18 -11
- package/dist/NavItem/index.d.ts +1 -1
- package/dist/NavItem/index.js +2 -2
- package/dist/{NavItem-FFOisITc.js → NavItem-BBIGSvDj.js} +7 -3
- package/dist/NavMenu/index.d.ts +1 -1
- package/dist/NavMenu/index.js +3 -3
- package/dist/{NavMenu-ClIgMaxE.js → NavMenu-ThXguZAz.js} +7 -3
- package/dist/{NavMenuItem-E7S8gBh-.js → NavMenuItem-BvJNsDFC.js} +8 -4
- package/dist/NumberInput/index.d.ts +1 -1
- package/dist/NumberInput/index.js +1 -1
- package/dist/NumberInput-AZ9x3oja.js +473 -0
- package/dist/Outline/index.js +1 -1
- package/dist/{Outline-DBUuchi9.js → Outline-755h-lMP.js} +1 -1
- package/dist/OverflowList/index.d.ts +1 -1
- package/dist/OverflowList/index.js +1 -1
- package/dist/{OverflowList-aDd_oem0.js → OverflowList-NmrSMbxb.js} +10 -6
- package/dist/Pagination/index.d.ts +1 -1
- package/dist/Pagination/index.js +1 -1
- package/dist/{Pagination-CNe9F6Fl.js → Pagination-DqwNQFRp.js} +29 -14
- package/dist/Popover/index.d.ts +3 -3
- package/dist/Popover/index.js +2 -2
- package/dist/Popover-DJf8POzL.js +308 -0
- package/dist/PowerSearch/index.d.ts +1 -1
- package/dist/PowerSearch/index.js +1 -1
- package/dist/{PowerSearch-C6U8Sq1Y.js → PowerSearch-DvjiPqMZ.js} +44 -31
- package/dist/ProgressBar/index.d.ts +1 -1
- package/dist/ProgressBar/index.js +1 -1
- package/dist/{ProgressBar-DF6WZNCI.js → ProgressBar-CVLzdoBK.js} +9 -3
- package/dist/Radio/index.d.ts +1 -1
- package/dist/Radio/index.js +1 -1
- package/dist/{RadioGroup-CBqUPq_L.js → RadioGroup-Bfu6JSNV.js} +60 -24
- package/dist/RadioList/index.d.ts +1 -1
- package/dist/RadioList/index.js +1 -1
- package/dist/{RadioList-CPOJn9Th.js → RadioList-xY1cwLdZ.js} +4 -1
- package/dist/Resizable/index.d.ts +1 -1
- package/dist/Resizable/index.js +1 -1
- package/dist/{ResizeHandle-DYy0e3v9.js → ResizeHandle-q4nD_586.js} +1 -1
- package/dist/ScrollableArea/index.d.ts +1 -1
- package/dist/ScrollableArea/index.js +1 -1
- package/dist/{ScrollableArea-DQDYjnxO.js → ScrollableArea-D4dCJv9I.js} +14 -3
- package/dist/Scrollbars/index.d.ts +2 -0
- package/dist/Scrollbars/index.js +3 -0
- package/dist/Scrollbars-D_93hJYK.js +75 -0
- package/dist/Section/index.d.ts +2 -1
- package/dist/Section/index.js +1 -1
- package/dist/{Section-C48Wqfc7.js → Section-v2QuWBBJ.js} +1 -1
- package/dist/SegmentedControl/index.d.ts +1 -1
- package/dist/SelectableCard/index.d.ts +1 -1
- package/dist/SelectableCard/index.js +1 -1
- package/dist/{SelectableCard-Bj5s_tIN.js → SelectableCard-Cku4dRzc.js} +1 -1
- package/dist/Selector/index.d.ts +1 -1
- package/dist/Selector/index.js +1 -1
- package/dist/{Selector-5N-hq2nF.js → Selector-DJ2BhUTV.js} +90 -31
- package/dist/SideNav/index.d.ts +2 -2
- package/dist/SideNav/index.js +1 -1
- package/dist/{SideNav-CT9lfspi.js → SideNav-BF8mYDxl.js} +76 -44
- package/dist/Slider/index.d.ts +1 -1
- package/dist/Slider/index.js +1 -1
- package/dist/{Slider-D8h_RKcF.js → Slider-DWobsPgm.js} +2 -2
- package/dist/Stack/index.d.ts +2 -2
- package/dist/Stack/index.js +2 -2
- package/dist/{Stack-iv52y_Jv.js → Stack-CTsTFfar.js} +18 -3
- package/dist/{Stack-gGcYdOAh.js → Stack-kQlYbbL4.js} +22 -7
- package/dist/StatusDot/index.d.ts +1 -1
- package/dist/StatusDot/index.js +1 -1
- package/dist/StatusDot-BPUhMOff.js +45 -0
- package/dist/Stepper/index.d.ts +1 -1
- package/dist/Stepper/index.js +1 -1
- package/dist/{Stepper-BqhVCgC-.js → Stepper-CE8dHysu.js} +1 -1
- package/dist/Switch/index.d.ts +1 -1
- package/dist/Switch/index.js +1 -1
- package/dist/{Switch-SesQzPGZ.js → Switch-DaVPRxvN.js} +2 -2
- package/dist/TabList/index.d.ts +2 -2
- package/dist/TabList/index.js +1 -1
- package/dist/{TabList-BlzkrObv.js → TabList-DIkK9sgK.js} +100 -23
- package/dist/Table/index.d.ts +3 -3
- package/dist/Table/index.js +2 -2
- package/dist/{Table-CsdH8fCB.js → Table-fecqnm7P.js} +870 -241
- package/dist/Text/index.d.ts +2 -2
- package/dist/Text/index.js +1 -1
- package/dist/{Text-DIzZw6FA.js → Text-CV3LmscH.js} +7 -2
- package/dist/TextArea/index.d.ts +1 -1
- package/dist/TextArea/index.js +1 -1
- package/dist/{TextArea-CPwSytdO.js → TextArea-Ab5Sw60T.js} +24 -14
- package/dist/TextInput/index.d.ts +1 -1
- package/dist/TextInput/index.js +1 -1
- package/dist/{TextInput-BasnjVvy.js → TextInput-zFT1_qgI.js} +21 -24
- package/dist/Thumbnail/index.js +1 -1
- package/dist/{Thumbnail-BnQwX1cQ.js → Thumbnail-C3NnJUFG.js} +5 -5
- package/dist/TimeField-CoHDGmsP.js +435 -0
- package/dist/TimeInput/index.d.ts +1 -1
- package/dist/TimeInput/index.js +1 -1
- package/dist/{TimeInput-C9gptCOK.js → TimeInput-D2k3Ux3p.js} +14 -2
- package/dist/Timer/index.d.ts +1 -1
- package/dist/Timer/index.js +1 -1
- package/dist/{Timer-kxzQx3tp.js → Timer-avMQk5DN.js} +1 -1
- package/dist/Timestamp/index.d.ts +1 -1
- package/dist/Timestamp/index.js +1 -1
- package/dist/{Timestamp-D7bd_nF3.js → Timestamp-xpQKCk0d.js} +7 -7
- package/dist/Toast/index.d.ts +3 -2
- package/dist/Toast/index.js +1 -1
- package/dist/{Toast-C2ML-bmi.js → Toast-BuqIZV5z.js} +136 -38
- package/dist/ToggleButton/index.d.ts +1 -1
- package/dist/ToggleButton/index.js +1 -1
- package/dist/{ToggleButton-BB_I8EdM.js → ToggleButton-B-C-Q7XP.js} +1 -1
- package/dist/Token/index.d.ts +1 -1
- package/dist/Token/index.js +1 -1
- package/dist/{Token-D2GsI_Ei.js → Token-DsntTYhQ.js} +33 -17
- package/dist/Tokenizer/index.d.ts +1 -1
- package/dist/Tokenizer/index.js +1 -1
- package/dist/Tokenizer-B5C_qY7t.js +585 -0
- package/dist/Toolbar/index.d.ts +2 -1
- package/dist/Tooltip/index.d.ts +2 -2
- package/dist/Tooltip/index.js +2 -2
- package/dist/Tooltip-C4Vaqd3G.js +320 -0
- package/dist/TopNav/index.d.ts +1 -1
- package/dist/TopNav/index.js +1 -1
- package/dist/{TopNav-arWFLTBM.js → TopNav-Ciq0l1w7.js} +122 -84
- package/dist/TreeList/index.d.ts +1 -1
- package/dist/TreeList/index.js +1 -1
- package/dist/{TreeList-C9xvMpJZ.js → TreeList-BUz-KZJd.js} +90 -40
- package/dist/Typeahead/index.d.ts +1 -1
- package/dist/Typeahead/index.js +2 -2
- package/dist/Typeahead-JP9RT87x.js +656 -0
- package/dist/{TypeaheadMenu-BEObzonz.js → TypeaheadMenu-DBW6rHeO.js} +133 -44
- package/dist/composables/index.d.ts +3 -3
- package/dist/composables/index.js +12 -7
- package/dist/{composables-CWw6t-RJ.js → composables-CbKx9C1Y.js} +424 -4
- package/dist/context-C_peZbXf.js +16 -0
- package/dist/context-M-er0-Rk.js +99 -0
- package/dist/{context-CPh7kE-a.js → context-iABt_ueM.js} +30 -4
- package/dist/{index-CLmKfnqf.d.ts → index-0QGtSf3r.d.ts} +2 -0
- package/dist/{index-z3uLM1O6.d.ts → index-B1WJxt-n.d.ts} +1 -1
- package/dist/{index-BPwD6aBv.d.ts → index-B3Fomy15.d.ts} +2 -2
- package/dist/{index-CPwzSbQQ.d.ts → index-B42oE_F-.d.ts} +17 -1
- package/dist/{index-EFqQF2Bx.d.ts → index-B4OOtNP8.d.ts} +2 -2
- package/dist/index-B7yhzGUT.d.ts +171 -0
- package/dist/{index-DFbvnBlf.d.ts → index-B9e52paP.d.ts} +15 -2
- package/dist/{index-CEB7Ywvw.d.ts → index-BKnyTWPM.d.ts} +1 -1
- package/dist/{index-CsVS37na.d.ts → index-BNbAJV9C.d.ts} +1 -1
- package/dist/index-BTK7aStw.d.ts +88 -0
- package/dist/{index-BBtJt5_A.d.ts → index-BULhhnGf.d.ts} +1 -1
- package/dist/{index-D7-WTV6I.d.ts → index-BVKivP59.d.ts} +2 -2
- package/dist/{index-BpH4wvsg.d.ts → index-BgT6mH3U.d.ts} +2 -2
- package/dist/{index-Be1czg3M.d.ts → index-BhpAUzUr.d.ts} +47 -7
- package/dist/{index-BcJBLWJ0.d.ts → index-BkjSF265.d.ts} +67 -4
- package/dist/{index-DxR1FChm.d.ts → index-Bu8NA2SD.d.ts} +49 -6
- package/dist/{index-HV6W3xCx.d.ts → index-Byar3h1e.d.ts} +1 -1
- package/dist/{index-C-QpeUlQ.d.ts → index-C2nbK2AA.d.ts} +52 -7
- package/dist/{index-iBLzInje.d.ts → index-C5e-7Obr.d.ts} +1 -1
- package/dist/index-CEv_AvOg.d.ts +17 -0
- package/dist/{index-Dgg0bHVM.d.ts → index-CICeEoZV.d.ts} +2 -1
- package/dist/{index-CB9Srua5.d.ts → index-CL1T2j4y.d.ts} +7 -4
- package/dist/{index-DjMwF8ET.d.ts → index-COgrQZIL.d.ts} +7 -1
- package/dist/{index-Ca8VIE4l.d.ts → index-CVn0GBdB.d.ts} +1 -1
- package/dist/{index-ChWlKHjc.d.ts → index-Cde5JvtX.d.ts} +15 -3
- package/dist/index-CitZGSn0.d.ts +39 -0
- package/dist/index-CkKPMIeX.d.ts +55 -0
- package/dist/{index-FEy8qFSD.d.ts → index-ClNU2Th8.d.ts} +30 -3
- package/dist/{index-kaKBOZSU.d.ts → index-Cq31D3fJ.d.ts} +99 -7
- package/dist/{index-xfkEuGLY.d.ts → index-CqE4Bf3Q.d.ts} +8 -2
- package/dist/{index-DtePJ_w_.d.ts → index-Crp3NFLW.d.ts} +2 -2
- package/dist/{index-BlOIC_AM.d.ts → index-CsNi1I8j.d.ts} +6 -0
- package/dist/index-Cyb9Du5Z.d.ts +76 -0
- package/dist/{index-4TRnFGxv.d.ts → index-D41_xqjs.d.ts} +50 -10
- package/dist/{index-eshFLli0.d.ts → index-D97pQbua.d.ts} +7 -0
- package/dist/{index-c67ca7eJ.d.ts → index-DEQ5cnUV.d.ts} +1 -1
- package/dist/{index-BmAxqw1G.d.ts → index-DG52Bg0W.d.ts} +15 -1
- package/dist/{index-Da7Jm8Ht.d.ts → index-DIXAzTKL.d.ts} +1 -1
- package/dist/{index-BmmdzwT9.d.ts → index-DNA2l1RN.d.ts} +35 -11
- package/dist/{index-B9rqmYxh.d.ts → index-DUaLJO7l.d.ts} +978 -313
- package/dist/index-DVmgNb78.d.ts +143 -0
- package/dist/{index-CDdRQQF3.d.ts → index-DWh2WC8W.d.ts} +18 -6
- package/dist/index-DXpSFlPG.d.ts +78 -0
- package/dist/{index-C_2Z65Rp.d.ts → index-DeQwYJbg.d.ts} +39 -2
- package/dist/{index-JL4auphT.d.ts → index-GI9xIV9l.d.ts} +2 -2
- package/dist/{index-Ctu32CLv.d.ts → index-IBAInumL.d.ts} +93 -56
- package/dist/{index-vizlhXVs.d.ts → index-T2FOcOuI.d.ts} +492 -16
- package/dist/{index-CA6RbRWx.d.ts → index-TXcNH86P.d.ts} +2 -2
- package/dist/{index-BIPc1v82.d.ts → index-TntQsADQ.d.ts} +1 -1
- package/dist/index-fAZaRruV.d.ts +125 -0
- package/dist/{index-COxy6LEW.d.ts → index-gW0HW02U.d.ts} +1 -1
- package/dist/{index-D5N9ikrS.d.ts → index-hCpxKePE.d.ts} +1 -1
- package/dist/{index-CpiWVbRZ.d.ts → index-i0tNFWfz.d.ts} +3 -1
- package/dist/{index-YmSe1ujk.d.ts → index-lgvUFSCO.d.ts} +1 -1
- package/dist/{index-bvr3WHvs.d.ts → index-xrzJC4wm.d.ts} +1 -1
- package/dist/{index-BK9T1TPZ.d.ts → index-yT1yiiww.d.ts} +28 -9
- package/dist/index.d.ts +80 -76
- package/dist/index.js +127 -113
- package/dist/link-C4_WogdF.js +18 -0
- package/dist/{index-C3GaPqvJ.d.ts → loadCatalog-BGHKG_9N.d.ts} +16 -37
- package/dist/{locale-sLw5Caia.js → loadCatalog-CXKqEB9s.js} +25 -65
- package/dist/locale/index.d.ts +3 -2
- package/dist/locale/index.js +4 -3
- package/dist/locale-DgkZEMTn.js +105 -0
- package/dist/{searchResultMessage-CCnq-_ce.js → searchResultMessage-hXXNOFJP.js} +2 -2
- package/dist/{size-xcIqExkS.js → size-Cpn_wzXi.js} +1 -1
- package/dist/{types-3eXh_5os.d.ts → types-0Q_SJv_F.d.ts} +3 -1
- package/dist/types-BRfVvZTH.d.ts +108 -0
- package/dist/{types-D7QNSqoN.d.ts → types-BTk0WZ0b.d.ts} +8 -0
- package/dist/{types-D_J66aPN.d.ts → types-BnNTzEnd.d.ts} +5 -1
- package/dist/{types-D9nP_X-c.d.ts → types-Ckih2YJi.d.ts} +9 -2
- package/dist/{types-Db3Owy8Q.d.ts → types-OGMYGejX.d.ts} +5 -0
- package/dist/{index-nKlTsNfV.d.ts → types-uFMH9NaM.d.ts} +14 -17
- package/dist/{useAnchoredListbox-BN9LQnon.js → useAnchoredListbox-DwztMNjP.js} +9 -4
- package/dist/useDevWarning-DznOpOHT.js +36 -0
- package/dist/useInputContainer-CpgDe2-4.js +51 -0
- package/dist/useInputStatusIcon-DBOwxV4x.js +41 -0
- package/dist/useInteractiveRole-Cn0Nd5GX.js +25 -0
- package/dist/{useMenuDrillIn-BgjJcY3K.js → useMenuDrillIn-DzKGkTho.js} +1 -1
- package/dist/{useMenuPress-DUmEy4TB.js → useMenuPress-D-FRNrBW.js} +162 -14
- package/dist/useMergedRefs-CfHHlCsn.js +109 -0
- package/dist/useNumberField-4-dIGVed.js +128 -0
- package/dist/{usePositionedLayer-C1NBOsVT.js → usePositionedLayer-Cru9_00b.js} +70 -7
- package/dist/useResizable-DDwPpPe6.d.ts +409 -0
- package/dist/useRestoreFocus-Djw9RUIf.js +153 -0
- package/dist/useScrollbars-C2NJ6Qwq.js +43 -0
- package/dist/{useTimeValue-DWk6oTAZ.js → useTimeValue-6ufHM15W.js} +1 -1
- package/dist/utils-D33VQDnk.js +58 -0
- package/locales/SOURCE.json +1 -1
- package/locales/en.json +445 -1
- package/package.json +19 -2
- package/styles/avatar-group.css +19 -1
- package/styles/avatar.css +34 -13
- package/styles/chat.css +17 -1
- package/styles/dialog-header.css +5 -1
- package/styles/field.css +11 -0
- package/styles/heading.css +9 -0
- package/styles/indicator-focus-ring.css +18 -0
- package/styles/number-input.css +33 -0
- package/styles/pressable.css +44 -0
- package/styles/progress-bar.css +18 -0
- package/styles/scrollbars.css +28 -0
- package/styles/side-nav.css +20 -6
- package/styles/stack.css +4 -2
- package/styles/status-dot.css +18 -0
- package/styles/tab-list.css +38 -2
- package/styles/table.css +66 -6
- package/styles/text.css +9 -0
- package/styles/time-input.css +41 -0
- package/styles/top-nav.css +46 -19
- package/styles/typeahead.css +31 -0
- package/styles.css +2 -0
- package/dist/AvatarGroup-QyzSrpYA.js +0 -60
- package/dist/DateInput-D4XFAEMp.js +0 -743
- package/dist/FieldLabel-DmmJyX7w.js +0 -184
- package/dist/FileInput-DuNwdbAo.js +0 -238
- package/dist/HoverCard-EhbWaGOW.js +0 -443
- package/dist/NumberInput-B4IL3s_8.js +0 -210
- package/dist/Popover-D7zqpFwU.js +0 -215
- package/dist/StatusDot-CaoIapp4.js +0 -27
- package/dist/TimeField-Biiuv0hB.js +0 -214
- package/dist/Tokenizer-rwzamZg4.js +0 -473
- package/dist/Tooltip-C2fh9anJ.js +0 -271
- package/dist/Typeahead-_V11btpv.js +0 -499
- package/dist/index-Blm197N_.d.ts +0 -82
- package/dist/index-Bt7ewoz2.d.ts +0 -119
- package/dist/index-C1HIqW_H.d.ts +0 -38
- package/dist/index-CngORuiq.d.ts +0 -387
- package/dist/index-D4I_obqR.d.ts +0 -58
- package/dist/link-CdcUSxAj.js +0 -12
- package/dist/size-BuTzpgnR.d.ts +0 -14
- package/dist/types-Cp4liug-.d.ts +0 -170
- package/dist/useDismiss-Cj8x_51F.js +0 -62
- package/dist/useNumberField-DL-Radsp.js +0 -49
- package/dist/useResizable-CUoNPmUw.d.ts +0 -72
- package/dist/useRestoreFocus-BvMdXVX9.js +0 -96
- package/dist/utils-C9r3UD_y.js +0 -16
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import { n as SpacingStep } from "./types-BTk0WZ0b.js";
|
|
2
|
+
import { i as SectionVariant } from "./types-uFMH9NaM.js";
|
|
3
|
+
import { CSSProperties, MaybeRefOrGetter, Ref, VNode, VNodeChild } from "vue";
|
|
4
|
+
//#region src/Toolbar/types.d.ts
|
|
5
|
+
type ToolbarSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
type ToolbarOrientation = 'horizontal' | 'vertical';
|
|
7
|
+
type ToolbarVariant = 'transparent' | 'muted';
|
|
8
|
+
type ToolbarDivider = 'top' | 'bottom' | 'start' | 'end';
|
|
9
|
+
interface ToolbarProps {
|
|
10
|
+
/** 工具栏的无障碍名称。 */
|
|
11
|
+
label: string;
|
|
12
|
+
/** 高度档,也决定默认的块方向内边距。 @default 'md' */
|
|
13
|
+
size?: ToolbarSize;
|
|
14
|
+
/** 每一组里各项的间距。 @default 1 */
|
|
15
|
+
gap?: SpacingStep;
|
|
16
|
+
/** 方向键沿哪一根轴移动焦点。 @default 'horizontal' */
|
|
17
|
+
orientation?: ToolbarOrientation;
|
|
18
|
+
/** 底色。muted 用来标出批量操作条。 @default 'transparent' */
|
|
19
|
+
variant?: ToolbarVariant;
|
|
20
|
+
/** 在指定边上画分隔线。 */
|
|
21
|
+
dividers?: ToolbarDivider[];
|
|
22
|
+
}
|
|
23
|
+
interface ToolbarSlots {
|
|
24
|
+
start?: () => unknown;
|
|
25
|
+
center?: () => unknown;
|
|
26
|
+
end?: () => unknown;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/Table/plugins/selection.d.ts
|
|
30
|
+
/**
|
|
31
|
+
* 选中集合的写入方式。钩子总是算好新的 `Set` 再交出去,所以接到值直接赋值就行;
|
|
32
|
+
* 原版那种同时支持 updater 的派发器(参数更宽)也能直接传进来。
|
|
33
|
+
*/
|
|
34
|
+
type TableSelectedKeysSetter = (keys: Set<string>) => void;
|
|
35
|
+
interface UseTableSelectionStateConfig<T extends Record<string, unknown>> {
|
|
36
|
+
data: MaybeRefOrGetter<readonly T[]>;
|
|
37
|
+
/** 行的唯一键:属性名,或者从行里取出键的函数。 */
|
|
38
|
+
idKey: (keyof T & string) | ((item: T) => string);
|
|
39
|
+
selectedKeys: MaybeRefOrGetter<ReadonlySet<string>>;
|
|
40
|
+
setSelectedKeys: TableSelectedKeysSetter;
|
|
41
|
+
/** 这一行显示复选框吗。为 false 的行连复选框都没有,也不算进全选。 */
|
|
42
|
+
getIsItemSelectable?: (item: T) => boolean;
|
|
43
|
+
/** 这一行的复选框能点吗。为 false 的行复选框是禁用的,全选时保留它原来的状态。 */
|
|
44
|
+
getIsItemEnabled?: (item: T) => boolean;
|
|
45
|
+
getRowLabel?: (item: T) => string;
|
|
46
|
+
hasRowHighlight?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 选择状态的只读快照。`useTableSelectionState` 返回它,选择相关的界面直接读这几个字段,
|
|
50
|
+
* 不用自己再数 `selectedKeys`。
|
|
51
|
+
*/
|
|
52
|
+
interface TableSelectionState {
|
|
53
|
+
/** 选中的全部键,含不在当前页里的行。 */
|
|
54
|
+
readonly selectedKeys: ReadonlySet<string>;
|
|
55
|
+
/** 选中的键的总数。 */
|
|
56
|
+
readonly selectedCount: number;
|
|
57
|
+
/** 是否至少选中了一个键。 */
|
|
58
|
+
readonly hasSelection: boolean;
|
|
59
|
+
/** 清空全部选中的键。 */
|
|
60
|
+
readonly clearSelection: () => void;
|
|
61
|
+
}
|
|
62
|
+
declare function useTableSelectionState<T extends Record<string, unknown>>(config: UseTableSelectionStateConfig<T>): {
|
|
63
|
+
selectionConfig: UseTableSelectionConfig<T> & {
|
|
64
|
+
readonly rows: readonly T[];
|
|
65
|
+
};
|
|
66
|
+
selectionState: TableSelectionState;
|
|
67
|
+
};
|
|
68
|
+
interface UseTableSelectionConfig<T extends Record<string, unknown>> {
|
|
69
|
+
getIsItemSelected: (item: T) => boolean;
|
|
70
|
+
onSelectItem: (event: {
|
|
71
|
+
item: T;
|
|
72
|
+
isSelected: boolean;
|
|
73
|
+
}) => void;
|
|
74
|
+
onSelectAll: (event: {
|
|
75
|
+
isAllSelected: boolean;
|
|
76
|
+
}) => void;
|
|
77
|
+
getIsAllSelected: () => boolean;
|
|
78
|
+
getIsIndeterminate?: () => boolean;
|
|
79
|
+
getIsItemSelectable?: (item: T) => boolean;
|
|
80
|
+
getIsItemEnabled?: (item: T) => boolean;
|
|
81
|
+
getRowLabel?: (item: T) => string;
|
|
82
|
+
hasRowHighlight?: boolean;
|
|
83
|
+
}
|
|
84
|
+
declare function useTableSelection<T extends Record<string, unknown>>(config: MaybeRefOrGetter<UseTableSelectionConfig<T>>): TablePlugin<T>;
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region src/Table/types.d.ts
|
|
87
|
+
type TableDensity = 'compact' | 'balanced' | 'spacious';
|
|
88
|
+
type TableDividers = 'rows' | 'columns' | 'grid' | 'none';
|
|
89
|
+
type TableTextOverflow = 'wrap' | 'truncate';
|
|
90
|
+
type TableVerticalAlign = 'top' | 'middle' | 'bottom';
|
|
91
|
+
type TableColumnAlign = 'start' | 'center' | 'end';
|
|
92
|
+
type TableSortDirection = 'ascending' | 'descending';
|
|
93
|
+
interface ProportionalWidth {
|
|
94
|
+
type: 'proportional';
|
|
95
|
+
value: number;
|
|
96
|
+
minWidth?: number;
|
|
97
|
+
}
|
|
98
|
+
interface PixelWidth {
|
|
99
|
+
type: 'pixel';
|
|
100
|
+
value: number;
|
|
101
|
+
}
|
|
102
|
+
type ColumnWidth = ProportionalWidth | PixelWidth;
|
|
103
|
+
interface TableSortEntry<TSortKey extends string = string> {
|
|
104
|
+
sortKey: TSortKey;
|
|
105
|
+
direction: TableSortDirection;
|
|
106
|
+
}
|
|
107
|
+
type TableSortState<TSortKey extends string = string> = TableSortEntry<TSortKey>[];
|
|
108
|
+
interface TableColumn<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
109
|
+
key: string;
|
|
110
|
+
header?: string;
|
|
111
|
+
width?: ColumnWidth;
|
|
112
|
+
align?: TableColumnAlign;
|
|
113
|
+
verticalAlign?: TableVerticalAlign;
|
|
114
|
+
sortable?: boolean | {
|
|
115
|
+
sortKey?: string;
|
|
116
|
+
compare?: (a: T, b: T) => number;
|
|
117
|
+
};
|
|
118
|
+
/** Field key used by the filtering plugin. */
|
|
119
|
+
filter?: string;
|
|
120
|
+
/** 表头只留给读屏,视觉上留空。 */
|
|
121
|
+
headerHidden?: boolean;
|
|
122
|
+
/** 为 false 时,列宽拖动不给这一列画把手。 */
|
|
123
|
+
resizable?: boolean;
|
|
124
|
+
renderCell?: (item: T, index: number) => VNodeChild;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 过滤控件的输入类型。
|
|
128
|
+
* - `string`:文本,匹配子串。
|
|
129
|
+
* - `enum`:单选,命中其中一个选项。
|
|
130
|
+
* - `multi-select`:多选,命中其中任意一个选项。
|
|
131
|
+
* - `number`:数字,数值相等才算命中。
|
|
132
|
+
* - `date`:日期,单元格日期晚于选中日期才算命中。
|
|
133
|
+
*/
|
|
134
|
+
type TableFilterFieldType = 'string' | 'enum' | 'multi-select' | 'number' | 'date';
|
|
135
|
+
interface TableFilterField {
|
|
136
|
+
key: string;
|
|
137
|
+
label: string;
|
|
138
|
+
type: TableFilterFieldType;
|
|
139
|
+
/** `enum` 和 `multi-select` 的选项。 */
|
|
140
|
+
options?: readonly {
|
|
141
|
+
value: string;
|
|
142
|
+
label: string;
|
|
143
|
+
}[];
|
|
144
|
+
/** `number` 字段允许的最小值。 */
|
|
145
|
+
min?: number;
|
|
146
|
+
/** `number` 字段允许的最大值。 */
|
|
147
|
+
max?: number;
|
|
148
|
+
/** `number` 字段的步进。`isIntegerOnly` 为真时默认 1。 */
|
|
149
|
+
step?: number;
|
|
150
|
+
/** `number` 字段只接受整数。 */
|
|
151
|
+
isIntegerOnly?: boolean;
|
|
152
|
+
}
|
|
153
|
+
/** 过滤值。`number` 字段存数字,`multi-select` 存字符串数组,其余存字符串。 */
|
|
154
|
+
type TableFilterValue = string | number | string[];
|
|
155
|
+
type TableFilterState = Record<string, TableFilterValue>;
|
|
156
|
+
interface TableSortContribution {
|
|
157
|
+
direction: TableSortDirection | null;
|
|
158
|
+
rank: number | null;
|
|
159
|
+
label: string;
|
|
160
|
+
onClick: (event: MouseEvent) => void;
|
|
161
|
+
}
|
|
162
|
+
/** 过滤控件的摆放方式。`inline-compact` 和 `inline` 同位置,但控件更紧凑。 */
|
|
163
|
+
type TableFilterVariant = 'inline' | 'inline-compact' | 'popover';
|
|
164
|
+
interface TableFilterContribution {
|
|
165
|
+
variant: TableFilterVariant;
|
|
166
|
+
field: TableFilterField;
|
|
167
|
+
value: TableFilterValue | null;
|
|
168
|
+
onChange: (value: TableFilterValue | null) => void;
|
|
169
|
+
}
|
|
170
|
+
interface TableSelectionContribution<T> {
|
|
171
|
+
isAllSelected: () => boolean;
|
|
172
|
+
isIndeterminate: () => boolean;
|
|
173
|
+
isSelected: (row: T) => boolean;
|
|
174
|
+
isSelectable?: (row: T) => boolean;
|
|
175
|
+
/** 为 false 时这一行的复选框渲染成禁用状态。 */
|
|
176
|
+
isEnabled?: (row: T) => boolean;
|
|
177
|
+
selectAll: (selected: boolean) => void;
|
|
178
|
+
selectRow: (row: T, selected: boolean) => void;
|
|
179
|
+
rowLabel?: (row: T) => string;
|
|
180
|
+
hasRowHighlight?: boolean;
|
|
181
|
+
}
|
|
182
|
+
interface TableRowMenuItem {
|
|
183
|
+
id: string;
|
|
184
|
+
label: string;
|
|
185
|
+
icon?: string;
|
|
186
|
+
onSelect: () => void;
|
|
187
|
+
}
|
|
188
|
+
interface TableGroupPatch {
|
|
189
|
+
groupKey: string;
|
|
190
|
+
count: number;
|
|
191
|
+
collapsed: boolean;
|
|
192
|
+
onToggle: () => void;
|
|
193
|
+
render?: () => VNodeChild;
|
|
194
|
+
}
|
|
195
|
+
interface TablePanelPatch {
|
|
196
|
+
variant: 'muted' | 'transparent';
|
|
197
|
+
render: () => VNodeChild;
|
|
198
|
+
}
|
|
199
|
+
interface TableRowPatch {
|
|
200
|
+
attrs?: Record<string, string | undefined>;
|
|
201
|
+
class?: string;
|
|
202
|
+
onClick?: (event: MouseEvent) => void;
|
|
203
|
+
suppressSelection?: boolean;
|
|
204
|
+
skipRowIndex?: boolean;
|
|
205
|
+
group?: TableGroupPatch;
|
|
206
|
+
panel?: TablePanelPatch;
|
|
207
|
+
menu?: readonly TableRowMenuItem[];
|
|
208
|
+
}
|
|
209
|
+
interface TableCellPatch {
|
|
210
|
+
class?: string;
|
|
211
|
+
style?: CSSProperties;
|
|
212
|
+
attrs?: Record<string, string | undefined>;
|
|
213
|
+
}
|
|
214
|
+
interface TableCellPatchInput<T extends Record<string, unknown>> {
|
|
215
|
+
column: TableColumn<T>;
|
|
216
|
+
columns: readonly TableColumn<T>[];
|
|
217
|
+
row: T | null;
|
|
218
|
+
kind: 'header' | 'body';
|
|
219
|
+
}
|
|
220
|
+
interface TableHeaderPatch {
|
|
221
|
+
before?: () => VNodeChild;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* 一列参与拖动改宽的方式。`Table` 用它画把手的无障碍属性,并在拖动时算出每一列的新宽度。
|
|
225
|
+
*/
|
|
226
|
+
interface TableColumnResizeContribution {
|
|
227
|
+
/** 当前生效的像素宽度。没被拖过时是 `undefined`,按 DOM 实际宽度算。 */
|
|
228
|
+
currentWidth?: number;
|
|
229
|
+
/** 这一列能拖到的最窄像素。 */
|
|
230
|
+
minWidth: number;
|
|
231
|
+
/** 这一列能拖到的最宽像素。 */
|
|
232
|
+
maxWidth: number;
|
|
233
|
+
/** 拖动时把宽度让给这一列的相邻列 key;`null` 表示这一列自己伸缩。 */
|
|
234
|
+
neighborKey: string | null;
|
|
235
|
+
/** 是否画把手。最后一列按比例伸缩时不画。 */
|
|
236
|
+
hasHandle: boolean;
|
|
237
|
+
}
|
|
238
|
+
interface TablePlugin<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
239
|
+
transformColumns?: (columns: TableColumn<T>[]) => TableColumn<T>[];
|
|
240
|
+
sortFor?: (column: TableColumn<T>) => TableSortContribution | null;
|
|
241
|
+
filterFor?: (column: TableColumn<T>) => TableFilterContribution | null;
|
|
242
|
+
selection?: TableSelectionContribution<T>;
|
|
243
|
+
widthFor?: (column: TableColumn<T>) => number | undefined;
|
|
244
|
+
/**
|
|
245
|
+
* 一列怎么参与拖动改宽。`columns` 是当前表格里的全部列,用来找相邻列和最后一列。
|
|
246
|
+
* 返回 `null` 的列不参与。
|
|
247
|
+
*/
|
|
248
|
+
resizeFor?: (column: TableColumn<T>, columns: readonly TableColumn<T>[]) => TableColumnResizeContribution | null;
|
|
249
|
+
/** 一次调整结束时调用(松开指针,或按方向键 / Home / End),带上所有宽度变了的列。 */
|
|
250
|
+
onColumnResizeEnd?: (updates: Record<string, number>) => void;
|
|
251
|
+
/** 渲染在表格上方的内容,分页这类插件用。 */
|
|
252
|
+
above?: () => VNodeChild;
|
|
253
|
+
below?: () => VNodeChild;
|
|
254
|
+
/** 改一行的属性、点击、分组头或展开面板。多个插件的结果会合并。 */
|
|
255
|
+
rowPatch?: (row: T, index: number, columnCount: number) => TableRowPatch | null;
|
|
256
|
+
/** 改表头或单元格的定位与类名。选择列的 key 是 `__select`。 */
|
|
257
|
+
cellPatch?: (input: TableCellPatchInput<T>) => TableCellPatch | null;
|
|
258
|
+
/** 在列表头文字前面加控件,例如树的全部展开。 */
|
|
259
|
+
headerPatch?: (column: TableColumn<T>) => TableHeaderPatch | null;
|
|
260
|
+
/** 表格滚动容器挂上或卸下时调用,用来画固定列的滚动阴影。 */
|
|
261
|
+
bindScrollRoot?: (element: HTMLElement | null) => void;
|
|
262
|
+
}
|
|
263
|
+
interface TableProps<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
264
|
+
data?: readonly T[];
|
|
265
|
+
columns?: readonly TableColumn<T>[];
|
|
266
|
+
idKey?: string | ((item: T) => string);
|
|
267
|
+
/**
|
|
268
|
+
* 窗口里第一行数据的行号,从 1 计。
|
|
269
|
+
* 和 `rowCount` 任一设置后,数据行带 `aria-rowindex`。分组头和展开面板不计。
|
|
270
|
+
*/
|
|
271
|
+
rowIndexStart?: number;
|
|
272
|
+
/**
|
|
273
|
+
* 完整结果集的行数,含当前窗口以外的行。
|
|
274
|
+
* 设置后表格带 `aria-rowcount`。只设置了 `rowIndexStart` 时,行数为未知(-1)。
|
|
275
|
+
*/
|
|
276
|
+
rowCount?: number;
|
|
277
|
+
density?: TableDensity;
|
|
278
|
+
dividers?: TableDividers;
|
|
279
|
+
isStriped?: boolean;
|
|
280
|
+
hasHover?: boolean;
|
|
281
|
+
verticalAlign?: TableVerticalAlign;
|
|
282
|
+
textOverflow?: TableTextOverflow;
|
|
283
|
+
plugins?: Record<string, TablePlugin<T> | undefined>;
|
|
284
|
+
label?: string;
|
|
285
|
+
}
|
|
286
|
+
interface TableSlots {
|
|
287
|
+
default?: () => VNode[];
|
|
288
|
+
empty?: () => VNode[];
|
|
289
|
+
}
|
|
290
|
+
interface TableRowProps {
|
|
291
|
+
isHeaderRow?: boolean;
|
|
292
|
+
}
|
|
293
|
+
interface TableCellProps {
|
|
294
|
+
align?: TableColumnAlign;
|
|
295
|
+
colSpan?: number;
|
|
296
|
+
rowSpan?: number;
|
|
297
|
+
headers?: string;
|
|
298
|
+
}
|
|
299
|
+
interface TableSelectionToolbarProps {
|
|
300
|
+
/**
|
|
301
|
+
* 选中的行数。`selection` 没给时用它。
|
|
302
|
+
* @default 0
|
|
303
|
+
*/
|
|
304
|
+
count?: number;
|
|
305
|
+
/**
|
|
306
|
+
* `useTableSelectionState` 返回的 `selectionState`。给了就代替 `count`,
|
|
307
|
+
* 并且一个都没选中时整条不渲染。
|
|
308
|
+
*/
|
|
309
|
+
selection?: TableSelectionState;
|
|
310
|
+
/**
|
|
311
|
+
* 工具栏的无障碍名称。不传用内置文案。
|
|
312
|
+
*/
|
|
313
|
+
label?: string;
|
|
314
|
+
/**
|
|
315
|
+
* 清空按钮的文字。不传用内置文案。
|
|
316
|
+
*/
|
|
317
|
+
clearLabel?: string;
|
|
318
|
+
/**
|
|
319
|
+
* 高度档,同时决定清空按钮的高度。
|
|
320
|
+
* @default 'sm'
|
|
321
|
+
*/
|
|
322
|
+
size?: ToolbarSize;
|
|
323
|
+
/**
|
|
324
|
+
* 底色。`section` 用表面色,`muted` 用弱化底,`transparent` 不铺底。
|
|
325
|
+
* @default 'muted'
|
|
326
|
+
*/
|
|
327
|
+
variant?: SectionVariant;
|
|
328
|
+
}
|
|
329
|
+
interface TableSelectionToolbarSlots {
|
|
330
|
+
/** 产品自己的操作按钮,排在逻辑起点。 */
|
|
331
|
+
start?: () => VNodeChild;
|
|
332
|
+
/** 计数文字的替代渲染,参数里带 `count`。 */
|
|
333
|
+
label?: (props: {
|
|
334
|
+
count: number;
|
|
335
|
+
}) => VNodeChild;
|
|
336
|
+
/** `start` 的旧写法,两者都没给时不用。 */
|
|
337
|
+
default?: () => VNodeChild;
|
|
338
|
+
}
|
|
339
|
+
//#endregion
|
|
340
|
+
//#region src/composables/useResizable.d.ts
|
|
341
|
+
type ResizableDirection = 'horizontal' | 'vertical';
|
|
342
|
+
interface ResizablePercentSize {
|
|
343
|
+
type: 'percent';
|
|
344
|
+
value: number;
|
|
345
|
+
min?: PixelWidth;
|
|
346
|
+
max?: PixelWidth;
|
|
347
|
+
}
|
|
348
|
+
type ResizableSize = number | `${number}px` | `${number}%` | PixelWidth | ResizablePercentSize;
|
|
349
|
+
interface ResizableRegionConfig {
|
|
350
|
+
defaultSize?: ResizableSize | string;
|
|
351
|
+
minSize?: ResizableSize | string;
|
|
352
|
+
maxSize?: ResizableSize | string;
|
|
353
|
+
collapsible?: boolean;
|
|
354
|
+
collapsedSize?: number;
|
|
355
|
+
snaps?: number[];
|
|
356
|
+
/** Cascade priority. A lower number gives up space first when the shared container is narrower than the regions. */
|
|
357
|
+
shrinkOrder?: number;
|
|
358
|
+
}
|
|
359
|
+
interface UseResizableSingleOptions extends ResizableRegionConfig {
|
|
360
|
+
containerRef?: Ref<HTMLElement | null>;
|
|
361
|
+
direction?: ResizableDirection;
|
|
362
|
+
autoSaveId?: string;
|
|
363
|
+
defaultIsCollapsed?: boolean;
|
|
364
|
+
isCollapsed?: boolean;
|
|
365
|
+
onSizeChange?: (size: number) => void;
|
|
366
|
+
onCollapseChange?: (isCollapsed: boolean) => void;
|
|
367
|
+
}
|
|
368
|
+
interface UseResizableMultiConfig {
|
|
369
|
+
direction?: ResizableDirection;
|
|
370
|
+
containerRef?: Ref<HTMLElement | null>;
|
|
371
|
+
regions: Record<string, ResizableRegionConfig>;
|
|
372
|
+
autoSaveId?: string;
|
|
373
|
+
}
|
|
374
|
+
interface ResizableProps {
|
|
375
|
+
_size: number;
|
|
376
|
+
_isCollapsed: boolean;
|
|
377
|
+
_onResizeStart: () => void;
|
|
378
|
+
_onResizeMove: (delta: number) => void;
|
|
379
|
+
_onResizeEnd: () => void;
|
|
380
|
+
_onResizeCancel?: () => void;
|
|
381
|
+
_minSizePx: number;
|
|
382
|
+
_maxSizePx: number;
|
|
383
|
+
_snaps: number[];
|
|
384
|
+
_collapsedSize: number;
|
|
385
|
+
_collapsible: boolean;
|
|
386
|
+
_direction?: ResizableDirection;
|
|
387
|
+
_isResizableProps: true;
|
|
388
|
+
}
|
|
389
|
+
interface ResizableRegion {
|
|
390
|
+
size: number;
|
|
391
|
+
isCollapsed: boolean;
|
|
392
|
+
collapse: () => void;
|
|
393
|
+
expand: () => void;
|
|
394
|
+
resize: (size: number) => void;
|
|
395
|
+
props: ResizableProps;
|
|
396
|
+
}
|
|
397
|
+
declare function percent(value: number, options: {
|
|
398
|
+
min: PixelWidth;
|
|
399
|
+
max?: never;
|
|
400
|
+
} | {
|
|
401
|
+
min?: never;
|
|
402
|
+
max: PixelWidth;
|
|
403
|
+
}): ResizablePercentSize;
|
|
404
|
+
declare function useResizable(options: UseResizableMultiConfig): Record<string, ResizableRegion>;
|
|
405
|
+
declare function useResizable(options: UseResizableSingleOptions): ResizableRegion;
|
|
406
|
+
type UseResizableOptions = UseResizableSingleOptions | UseResizableMultiConfig;
|
|
407
|
+
type ResizableState = ResizableRegion;
|
|
408
|
+
//#endregion
|
|
409
|
+
export { ToolbarSlots as $, TablePanelPatch as A, TableSortEntry as B, TableFilterField as C, TableFilterVariant as D, TableFilterValue as E, TableRowProps as F, TableSelectionState as G, TableTextOverflow as H, TableSelectionToolbarProps as I, useTableSelection as J, UseTableSelectionConfig as K, TableSelectionToolbarSlots as L, TableProps as M, TableRowMenuItem as N, TableGroupPatch as O, TableRowPatch as P, ToolbarSize as Q, TableSlots as R, TableDividers as S, TableFilterState as T, TableVerticalAlign as U, TableSortState as V, TableSelectedKeysSetter as W, ToolbarOrientation as X, useTableSelectionState as Y, ToolbarProps as Z, TableCellProps as _, ResizableRegionConfig as a, TableColumnResizeContribution as b, UseResizableMultiConfig as c, percent as d, ToolbarVariant as et, useResizable as f, TableCellPatch as g, ProportionalWidth as h, ResizableRegion as i, TablePlugin as j, TableHeaderPatch as k, UseResizableOptions as l, PixelWidth as m, ResizablePercentSize as n, ResizableSize as o, ColumnWidth as p, UseTableSelectionStateConfig as q, ResizableProps as r, ResizableState as s, ResizableDirection as t, UseResizableSingleOptions as u, TableColumn as v, TableFilterFieldType as w, TableDensity as x, TableColumnAlign as y, TableSortDirection as z };
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { n as getFocusables } from "./focus-CpficIgf.js";
|
|
2
|
+
import { onScopeDispose, ref, toValue, watch } from "vue";
|
|
3
|
+
//#region src/composables/useFocusTrap.ts
|
|
4
|
+
/**
|
|
5
|
+
* 在容器内陷阱键盘焦点,按 Tab 时循环聚焦容器内的可聚焦元素。
|
|
6
|
+
* 用于模态对话框、抽屉等需要限制焦点范围的浮层组件。
|
|
7
|
+
*
|
|
8
|
+
* 打开时把焦点送进容器,关闭或卸载时把焦点还给打开前聚焦的元素;
|
|
9
|
+
* 焦点从没进过容器、或者已经被别处拿走时不还。
|
|
10
|
+
*/
|
|
11
|
+
function useFocusTrap(options = {}) {
|
|
12
|
+
const containerRef = options.container ?? ref(null);
|
|
13
|
+
/** 打开陷阱前聚焦的元素,关闭时还给它。 */
|
|
14
|
+
let previouslyFocused = null;
|
|
15
|
+
/** 焦点是否进过陷阱。没进过就不还焦点,免得抢走浮层触发器的焦点。 */
|
|
16
|
+
let hasFocusEntered = false;
|
|
17
|
+
function isActive() {
|
|
18
|
+
return toValue(options.isActive) ?? toValue(options.isEnabled) ?? false;
|
|
19
|
+
}
|
|
20
|
+
function isFocusInside() {
|
|
21
|
+
const el = containerRef.value;
|
|
22
|
+
if (el == null || typeof document === "undefined") return false;
|
|
23
|
+
const active = document.activeElement;
|
|
24
|
+
return active != null && el.contains(active);
|
|
25
|
+
}
|
|
26
|
+
function isTargetInside(event) {
|
|
27
|
+
const el = containerRef.value;
|
|
28
|
+
return el != null && event.target instanceof Node && el.contains(event.target);
|
|
29
|
+
}
|
|
30
|
+
function onKeyDown(event) {
|
|
31
|
+
if (!isActive()) return;
|
|
32
|
+
if (event.key === "Escape") {
|
|
33
|
+
if (options.onEscape != null && (isTargetInside(event) || isFocusInside())) options.onEscape();
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (event.key !== "Tab") return;
|
|
37
|
+
const el = containerRef.value;
|
|
38
|
+
if (!el || !el.contains(event.target)) return;
|
|
39
|
+
const focusables = getFocusables(el);
|
|
40
|
+
if (focusables.length === 0) {
|
|
41
|
+
event.preventDefault();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const first = focusables[0];
|
|
45
|
+
const last = focusables[focusables.length - 1];
|
|
46
|
+
const active = typeof document !== "undefined" ? document.activeElement : null;
|
|
47
|
+
if (event.shiftKey && active === first) {
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
last.focus();
|
|
50
|
+
} else if (!event.shiftKey && active === last) {
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
first.focus();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function onFocusIn() {
|
|
56
|
+
if (isFocusInside()) hasFocusEntered = true;
|
|
57
|
+
}
|
|
58
|
+
function update() {}
|
|
59
|
+
function focusFirst() {
|
|
60
|
+
const el = containerRef.value;
|
|
61
|
+
if (!el) return;
|
|
62
|
+
const focusables = getFocusables(el);
|
|
63
|
+
if (focusables.length > 0) focusables[0].focus();
|
|
64
|
+
}
|
|
65
|
+
function focusLast() {
|
|
66
|
+
const el = containerRef.value;
|
|
67
|
+
if (!el) return;
|
|
68
|
+
const focusables = getFocusables(el);
|
|
69
|
+
if (focusables.length > 0) focusables[focusables.length - 1].focus();
|
|
70
|
+
}
|
|
71
|
+
function activate() {
|
|
72
|
+
if (typeof document !== "undefined") {
|
|
73
|
+
const active = document.activeElement;
|
|
74
|
+
previouslyFocused = active instanceof HTMLElement && active !== document.body ? active : null;
|
|
75
|
+
}
|
|
76
|
+
hasFocusEntered = false;
|
|
77
|
+
setup();
|
|
78
|
+
const target = options.initialFocus?.();
|
|
79
|
+
if (target) target.focus();
|
|
80
|
+
else focusFirst();
|
|
81
|
+
if (isFocusInside()) hasFocusEntered = true;
|
|
82
|
+
}
|
|
83
|
+
function restoreFocus() {
|
|
84
|
+
const target = previouslyFocused;
|
|
85
|
+
const hasEntered = hasFocusEntered;
|
|
86
|
+
previouslyFocused = null;
|
|
87
|
+
hasFocusEntered = false;
|
|
88
|
+
if (target == null || !hasEntered || !target.isConnected) return;
|
|
89
|
+
const active = typeof document === "undefined" ? null : document.activeElement;
|
|
90
|
+
if (active != null && active !== document.body && !isFocusInside()) return;
|
|
91
|
+
target.focus();
|
|
92
|
+
}
|
|
93
|
+
function deactivate() {
|
|
94
|
+
teardown();
|
|
95
|
+
restoreFocus();
|
|
96
|
+
}
|
|
97
|
+
function setup() {
|
|
98
|
+
if (typeof document !== "undefined") {
|
|
99
|
+
document.addEventListener("keydown", onKeyDown, true);
|
|
100
|
+
document.addEventListener("focusin", onFocusIn, true);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function teardown() {
|
|
104
|
+
if (typeof document !== "undefined") {
|
|
105
|
+
document.removeEventListener("keydown", onKeyDown, true);
|
|
106
|
+
document.removeEventListener("focusin", onFocusIn, true);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
watch(isActive, (enabled) => {
|
|
110
|
+
if (enabled) activate();
|
|
111
|
+
else deactivate();
|
|
112
|
+
}, { immediate: true });
|
|
113
|
+
onScopeDispose(deactivate);
|
|
114
|
+
return {
|
|
115
|
+
containerRef,
|
|
116
|
+
focusFirst,
|
|
117
|
+
focusLast,
|
|
118
|
+
update
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/composables/useRestoreFocus.ts
|
|
123
|
+
/**
|
|
124
|
+
* 在浮层组件打开时保存当前焦点元素,关闭时恢复焦点。
|
|
125
|
+
* 用于对话框、抽屉、弹出菜单等浮层组件。
|
|
126
|
+
*/
|
|
127
|
+
function useRestoreFocus(options) {
|
|
128
|
+
const { isEnabled, shouldRestore } = options;
|
|
129
|
+
let savedElement = null;
|
|
130
|
+
function save() {
|
|
131
|
+
if (!isEnabled.value || typeof document === "undefined") return;
|
|
132
|
+
const active = document.activeElement;
|
|
133
|
+
if (active instanceof HTMLElement) savedElement = active;
|
|
134
|
+
}
|
|
135
|
+
function restore() {
|
|
136
|
+
if (!isEnabled.value || !savedElement) return;
|
|
137
|
+
if (savedElement.isConnected && !savedElement.hasAttribute("disabled")) savedElement.focus();
|
|
138
|
+
savedElement = null;
|
|
139
|
+
}
|
|
140
|
+
watch(shouldRestore, (should) => {
|
|
141
|
+
if (should) save();
|
|
142
|
+
else if (isEnabled.value && savedElement) restore();
|
|
143
|
+
});
|
|
144
|
+
onScopeDispose(() => {
|
|
145
|
+
savedElement = null;
|
|
146
|
+
});
|
|
147
|
+
return {
|
|
148
|
+
save,
|
|
149
|
+
restore
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//#endregion
|
|
153
|
+
export { useFocusTrap as n, useRestoreFocus as t };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { inject, onScopeDispose, readonly, shallowRef, toValue, watch } from "vue";
|
|
2
|
+
//#region src/Scrollbars/context.ts
|
|
3
|
+
/**
|
|
4
|
+
* 最近的 `ScrollbarsProvider` 提供的内容。
|
|
5
|
+
*
|
|
6
|
+
* 这个文件只能用 `import type` 引 overlayscrollbars。
|
|
7
|
+
* 所有滚动组件都会引它,没有套 provider 的用户不应该因此把 overlayscrollbars 打进包。
|
|
8
|
+
*/
|
|
9
|
+
const scrollbarsKey = Symbol("astryx-scrollbars");
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/Scrollbars/useScrollbars.ts
|
|
12
|
+
/**
|
|
13
|
+
* 给一个滚动容器挂上自绘滚动条。
|
|
14
|
+
*
|
|
15
|
+
* 外层没有 `ScrollbarsProvider` 时,或者在服务端渲染时,什么都不做,也不建任何 watcher。
|
|
16
|
+
* 容器本身就是视口,所以容器的 overflow 怎么变,滚动条就怎么跟。
|
|
17
|
+
*/
|
|
18
|
+
function useScrollbars(target, options = {}) {
|
|
19
|
+
const ctx = inject(scrollbarsKey, null);
|
|
20
|
+
const active = shallowRef(false);
|
|
21
|
+
if (!ctx || typeof HTMLElement === "undefined") return { active: readonly(active) };
|
|
22
|
+
let handle = null;
|
|
23
|
+
function release() {
|
|
24
|
+
handle?.destroy();
|
|
25
|
+
handle = null;
|
|
26
|
+
active.value = false;
|
|
27
|
+
}
|
|
28
|
+
watch([() => toValue(target), () => ctx.enabled.value && (toValue(options.enabled) ?? true)], ([element, enabled]) => {
|
|
29
|
+
release();
|
|
30
|
+
if (enabled && element instanceof HTMLElement) {
|
|
31
|
+
handle = ctx.mount(element, ctx.options.value);
|
|
32
|
+
active.value = true;
|
|
33
|
+
}
|
|
34
|
+
}, {
|
|
35
|
+
immediate: true,
|
|
36
|
+
flush: "post"
|
|
37
|
+
});
|
|
38
|
+
watch(ctx.options, (next) => handle?.update(next), { deep: true });
|
|
39
|
+
onScopeDispose(release);
|
|
40
|
+
return { active: readonly(active) };
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { scrollbarsKey as n, useScrollbars as t };
|
|
@@ -103,7 +103,7 @@ function isTimeInRange(value, min, max) {
|
|
|
103
103
|
}
|
|
104
104
|
function resolveTimeSurface(options) {
|
|
105
105
|
const presentation = options.presentation ?? (options.nativePicker === "always" ? "native" : options.nativePicker === "never" ? "text-input" : "adaptive-native");
|
|
106
|
-
const needsTypedField = options.hasSeconds || options.increment !== 1;
|
|
106
|
+
const needsTypedField = options.hasSeconds || options.increment !== 1 || options.needsTypedField === true;
|
|
107
107
|
if (presentation === "text-input" || presentation === "popover" || presentation === "bottom-sheet") return "text";
|
|
108
108
|
if (needsTypedField) return "text";
|
|
109
109
|
if (presentation === "native") return "native";
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
//#region src/AvatarGroup/context.ts
|
|
2
|
+
const AvatarGroupContext = Symbol("AvatarGroupContext");
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/Avatar/utils.ts
|
|
5
|
+
function resolveSize(size) {
|
|
6
|
+
if (typeof size === "number") return size;
|
|
7
|
+
switch (size) {
|
|
8
|
+
case "xsm": return 20;
|
|
9
|
+
case "sm": return 24;
|
|
10
|
+
case "md": return 36;
|
|
11
|
+
case "lg": return 48;
|
|
12
|
+
case "xl": return 128;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 按头像尺寸给出圆点尺寸。
|
|
17
|
+
*
|
|
18
|
+
* 用固定档位而不是等比缩放,是为了让每一档都落在整数像素上、看起来是刻意画的:
|
|
19
|
+
*
|
|
20
|
+
* | 头像尺寸 | 圆点 | 边框 | 图标 | 线条 |
|
|
21
|
+
* |----------|------|------|------|------|
|
|
22
|
+
* | ≤ 36px | 10px | 1px | — | 1px |
|
|
23
|
+
* | 37–72px | 20px | 2px | 12px | 1.5px|
|
|
24
|
+
* | ≥ 73px | 32px | 4px | 18px | 2px |
|
|
25
|
+
*
|
|
26
|
+
* 最小一档不画图标:10px 里塞图标看不清。自带的形状照画,所以任何尺寸下状态
|
|
27
|
+
* 都能不靠颜色分辨。
|
|
28
|
+
*/
|
|
29
|
+
function resolveStatusDotMetrics(avatarSize) {
|
|
30
|
+
const metrics = (size, borderWidth, iconSize, stroke) => ({
|
|
31
|
+
size,
|
|
32
|
+
borderWidth,
|
|
33
|
+
iconSize,
|
|
34
|
+
field: size - borderWidth * 2,
|
|
35
|
+
stroke
|
|
36
|
+
});
|
|
37
|
+
if (avatarSize <= 36) return metrics(10, 1, 0, 1);
|
|
38
|
+
if (avatarSize <= 72) return metrics(20, 2, 12, 1.5);
|
|
39
|
+
return metrics(32, 4, 18, 2);
|
|
40
|
+
}
|
|
41
|
+
/** 把 `info` / `warning` 这类旧名字换成现在的语义变体。 */
|
|
42
|
+
function resolveStatusDotVariant(variant) {
|
|
43
|
+
switch (variant) {
|
|
44
|
+
case "info": return "success";
|
|
45
|
+
case "warning": return "error";
|
|
46
|
+
default: return variant;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 拼出头像的无障碍名称:名字和状态都有时按语言包的拼接文案拼
|
|
51
|
+
* (英文「Jane Doe, Online」,中文「Jane Doe,在线」),否则取有的那一个。
|
|
52
|
+
*/
|
|
53
|
+
function composeAccessibleName(name, status, join) {
|
|
54
|
+
if (name && status) return join(name, status);
|
|
55
|
+
return name ?? status;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { AvatarGroupContext as a, resolveStatusDotVariant as i, resolveSize as n, resolveStatusDotMetrics as r, composeAccessibleName as t };
|
package/locales/SOURCE.json
CHANGED