@astryx-vue/core 0.3.0 → 0.4.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/dist/AlertDialog/index.js +1 -1
- package/dist/{AlertDialog-RAVA_cT1.js → AlertDialog-C2inDZWG.js} +5 -5
- package/dist/AppShell/index.js +1 -1
- package/dist/{AppShell-0wTvOo3H.js → AppShell-CumzH-8z.js} +3 -3
- package/dist/Avatar/index.js +1 -1
- package/dist/{Avatar-pPZ4dI_s.js → Avatar-BW0TE8t9.js} +47 -34
- package/dist/AvatarGroup/index.d.ts +1 -1
- package/dist/AvatarGroup/index.js +1 -1
- package/dist/{AvatarGroup-B--NQSB3.js → AvatarGroup-DLC_FFR5.js} +57 -13
- package/dist/Banner/index.d.ts +1 -1
- package/dist/Banner/index.js +1 -1
- package/dist/{Banner-GbGxrqQO.js → Banner-C5VAwo4D.js} +68 -34
- package/dist/Blockquote/index.js +1 -1
- package/dist/Blockquote-DRoKdcxZ.js +27 -0
- package/dist/BottomSheet/index.d.ts +1 -1
- package/dist/BottomSheet/index.js +2 -2
- package/dist/{BottomSheet-pt7m4CvC.js → BottomSheet-B4sc3F1S.js} +286 -140
- package/dist/{BottomSheet-JYMB_Ofl.js → BottomSheet-m54uCMJN.js} +20 -4
- package/dist/Breadcrumbs/index.d.ts +2 -2
- package/dist/Breadcrumbs/index.js +2 -2
- package/dist/Breadcrumbs-CTaz7Kh4.js +223 -0
- package/dist/Button/index.d.ts +1 -1
- package/dist/Button/index.js +1 -1
- package/dist/{Button-B6Hj_O_s.js → Button-ONOoHdkg.js} +25 -15
- package/dist/ButtonGroup/index.d.ts +1 -1
- package/dist/ButtonGroup/index.js +1 -1
- package/dist/ButtonGroup-DnkSZ9a5.js +87 -0
- package/dist/{ButtonTooltip-nWWrth8j.js → ButtonTooltip-CNKOQHYR.js} +7 -4
- package/dist/Calendar/index.d.ts +1 -1
- package/dist/Calendar/index.js +1 -1
- package/dist/{Calendar-B7vIowKq.js → Calendar-BAqzzQm2.js} +5 -5
- package/dist/Card/index.d.ts +2 -2
- package/dist/Carousel/index.js +1 -1
- package/dist/{Carousel-CA8zpD9v.js → Carousel-DXC22UWq.js} +4 -4
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.js +1 -1
- package/dist/{Chat-Bmna9EOA.js → Chat-BdJW6IX5.js} +147 -83
- package/dist/CheckboxIndicator/index.js +1 -1
- package/dist/{CheckboxIndicator-D37cm2Rh.js → CheckboxIndicator-fH4d-JE1.js} +9 -3
- package/dist/CheckboxInput/index.d.ts +1 -1
- package/dist/CheckboxInput/index.js +1 -1
- package/dist/{CheckboxInput-BS9J6edf.js → CheckboxInput-DJHCbwgC.js} +19 -11
- package/dist/CheckboxList/index.d.ts +1 -1
- package/dist/CheckboxList/index.js +1 -1
- package/dist/{CheckboxList-CX1i_jVP.js → CheckboxList-BdZIP4_J.js} +155 -38
- package/dist/Citation/index.js +1 -1
- package/dist/{Citation-Djgwa0ko.js → Citation-DbZn2vms.js} +8 -3
- package/dist/ClickableCard/index.d.ts +1 -1
- package/dist/ClickableCard/index.js +1 -1
- package/dist/{ClickableCard-DUsC-j03.js → ClickableCard-ChAfiw9T.js} +9 -6
- package/dist/Code/index.js +3 -3
- package/dist/{Code-XnPuGxey.js → Code-Bg7GBdxy.js} +2 -1
- package/dist/{CodeBlock-D0BFubut.js → CodeBlock-Caaflp7C.js} +3 -3
- package/dist/Collapsible/index.d.ts +1 -1
- package/dist/Collapsible/index.js +1 -1
- package/dist/{Collapsible-Cov3Pyq5.js → Collapsible-Bdj0WYpb.js} +13 -11
- package/dist/CommandPalette/index.d.ts +1 -1
- package/dist/CommandPalette/index.js +1 -1
- package/dist/{CommandPalette-YHsUNg3V.js → CommandPalette-C_MClfAg.js} +143 -63
- package/dist/ComplexSelector/index.d.ts +1 -1
- package/dist/ComplexSelector/index.js +1 -1
- package/dist/{ComplexSelector-DWLdKPGI.js → ComplexSelector-BeVQaqRf.js} +85 -20
- package/dist/ContextMenu/index.d.ts +2 -2
- package/dist/ContextMenu/index.js +2 -2
- package/dist/{ContextMenu-Bq9b3Ti5.js → ContextMenu-C6hPYvYz.js} +297 -179
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.js +1 -1
- package/dist/{DateInput-DT518j5E.js → DateInput-BjLdmYor.js} +567 -76
- package/dist/DateRangeInput/index.d.ts +1 -1
- package/dist/DateRangeInput/index.js +1 -1
- package/dist/{DateRangeInput-Bqi5tlIA.js → DateRangeInput-Br3wVEfD.js} +85 -20
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.js +1 -1
- package/dist/DateTimeInput-CAZBwoRe.js +562 -0
- package/dist/Dialog/index.d.ts +1 -1
- package/dist/Dialog/index.js +2 -2
- package/dist/{Dialog-BiOSKQso.js → Dialog-Dce4Y97V.js} +28 -11
- package/dist/{Dialog-FGHfDu5M.js → Dialog-fhyxB00e.js} +32 -5
- package/dist/Divider/index.d.ts +1 -1
- package/dist/Divider/index.js +1 -1
- package/dist/{Divider-BtwnL18I.js → Divider-mOZ6vIQw.js} +5 -1
- package/dist/DropdownMenu/index.d.ts +2 -2
- package/dist/DropdownMenu/index.js +3 -3
- package/dist/{DropdownMenu-CoOQVlRp.js → DropdownMenu-BdGmQVb1.js} +85 -57
- package/dist/{DropdownMenu-DEb2dSSP.js → DropdownMenu-BzQrNV9C.js} +479 -264
- package/dist/{DropdownMenuRadioItem.vue-CXEURBcq.d.ts → DropdownMenuRadioItem.vue-Qd-8Rg4Q.d.ts} +236 -230
- package/dist/EmptyState/index.js +1 -1
- package/dist/{EmptyState-C_GH7IV5.js → EmptyState-CmOQf2SH.js} +2 -2
- package/dist/Field/index.d.ts +4 -3
- package/dist/Field/index.js +4 -3
- package/dist/{Field-D5gUEGw4.js → Field--OEsLBfE.js} +4 -3
- package/dist/{FieldInfoTip-Ds-sW_jY.js → FieldInfoTip-gxsnfkZw.js} +3 -3
- package/dist/{FieldLabel-BNeXRuGH.js → FieldLabel-jxIiWgLw.js} +12 -7
- 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 → FileInput-B_pUxB0Y.js} +106 -29
- package/dist/FormLayout/index.d.ts +1 -1
- package/dist/FormLayout/index.js +1 -1
- package/dist/{FormLayout-D47FjiOq.js → FormLayout-B9dUB6Ps.js} +1 -1
- package/dist/Heading/index.d.ts +1 -1
- package/dist/Heading/index.js +1 -1
- package/dist/{Heading-BnwWEWkp.js → Heading-BzBunfN7.js} +1 -1
- package/dist/HoverCard/index.js +1 -1
- package/dist/{HoverCard-ycY50pRN.js → HoverCard-BpJhT0sn.js} +35 -22
- package/dist/Icon/index.d.ts +4 -4
- package/dist/Icon/index.js +1 -1
- package/dist/{Icon-bteSId7T.js → Icon-KDnUyY7f.js} +12 -20
- package/dist/IconButton/index.js +1 -1
- package/dist/{IconButton-DDNgNl7B.js → IconButton-DI-XBbtV.js} +1 -1
- package/dist/Indicator/index.d.ts +2 -2
- package/dist/Indicator/index.js +2 -1
- package/dist/InputClearButton-CwXPan8c.js +40 -0
- package/dist/InputGroup/index.d.ts +1 -1
- package/dist/InputGroup/index.js +2 -2
- package/dist/{InputGroup-CA03Smrs.js → InputGroup-DiiocoIW.js} +2 -2
- package/dist/InternationalizationProvider/index.d.ts +1 -1
- package/dist/InternationalizationProvider/index.js +1 -1
- package/dist/{InternationalizationProvider-DJay_w3B.js → InternationalizationProvider-kBapgKAQ.js} +5 -9
- package/dist/{Item-KhFKX9St.js → Item-DWMIjN8n.js} +34 -9
- package/dist/Kbd/index.js +1 -1
- package/dist/{Kbd-BB-Dw6zE.js → Kbd-CV3LO2Ge.js} +18 -2
- package/dist/LayerContentBoundary-CvsKxwwm.js +27 -0
- package/dist/LayerProvider/index.js +1 -1
- package/dist/{LayerProvider-D9NsQFzL.js → LayerProvider-B6zpMBWC.js} +15 -3
- package/dist/Layout/index.d.ts +1 -1
- package/dist/Layout/index.js +2 -2
- package/dist/{Layout-C6RHllr-.js → Layout-JJRCG7Mf.js} +1 -1
- package/dist/{LayoutPanel-DXOsaeQb.js → LayoutPanel-zM5vjrKS.js} +12 -8
- package/dist/Lightbox/index.js +1 -1
- package/dist/{Lightbox-DTF9EdTG.js → Lightbox-D8wyPgMK.js} +8 -6
- package/dist/Link/index.js +1 -1
- package/dist/{Link-BqHCtiyt.js → Link-DweIpOtN.js} +29 -12
- package/dist/List/index.d.ts +1 -1
- package/dist/List/index.js +2 -2
- package/dist/{ListItem-8RWT8XAG.js → ListItem-BQXMu1Tb.js} +1 -1
- package/dist/Markdown/index.d.ts +5 -2
- package/dist/Markdown/index.js +5 -2
- package/dist/Markdown/parser/index.d.ts +4 -0
- package/dist/Markdown/parser/index.js +3 -0
- package/dist/Markdown/plugin-protocol/index.d.ts +35 -0
- package/dist/Markdown/plugin-protocol/index.js +107 -0
- package/dist/Markdown/plugin-renderer/index.d.ts +31 -0
- package/dist/Markdown/plugin-renderer/index.js +42 -0
- package/dist/{Markdown-CvtN7HnF.js → Markdown-DhVfOvXk.js} +195 -484
- package/dist/MediaTheme-DlLqYhDy.js +433 -0
- package/dist/MetadataList/index.js +1 -1
- package/dist/{MetadataList-B-OelQlt.js → MetadataList-CEYceIlN.js} +15 -7
- package/dist/MobileNav/index.js +1 -1
- package/dist/{MobileNavToggle-DxGz0xKA.js → MobileNavToggle-pdoJFZHx.js} +52 -17
- package/dist/MoreMenu/index.d.ts +1 -1
- package/dist/MoreMenu/index.js +1 -1
- package/dist/{MoreMenu-Dlb7MLlW.js → MoreMenu-CFNqSRev.js} +72 -59
- package/dist/MultiSelector/index.d.ts +1 -1
- package/dist/MultiSelector/index.js +1 -1
- package/dist/MultiSelector-DuVatmq5.js +1456 -0
- package/dist/{NavDisclosure-C_fugrQ3.js → NavDisclosure-Bq9DTZLO.js} +29 -7
- package/dist/{NavHeadingSurface-B3yJspSN.js → NavHeadingSurface-C4v_MtkX.js} +29 -26
- package/dist/NavItem/index.d.ts +1 -1
- package/dist/NavItem/index.js +2 -2
- package/dist/{NavItem-BBIGSvDj.js → NavItem-BPb3yfgz.js} +17 -4
- package/dist/NavMenu/index.d.ts +1 -1
- package/dist/NavMenu/index.js +3 -3
- package/dist/{NavMenu-ThXguZAz.js → NavMenu-BYIDzjix.js} +42 -15
- package/dist/{NavMenuItem-BvJNsDFC.js → NavMenuItem-D3FO90GR.js} +14 -12
- package/dist/NumberInput/index.d.ts +1 -1
- package/dist/NumberInput/index.js +1 -1
- package/dist/NumberInput-B0vzOg3N.js +727 -0
- package/dist/Outline/index.d.ts +2 -2
- package/dist/Outline/index.js +2 -2
- package/dist/{Outline-755h-lMP.js → Outline-CfGv2F1o.js} +91 -6
- package/dist/OverflowList/index.d.ts +2 -2
- package/dist/OverflowList/index.js +1 -1
- package/dist/{OverflowList-NmrSMbxb.js → OverflowList-BgRLZ3dh.js} +23 -6
- package/dist/Pagination/index.d.ts +1 -1
- package/dist/Pagination/index.js +1 -1
- package/dist/{Pagination-DqwNQFRp.js → Pagination-Bfe12018.js} +2 -2
- package/dist/PickerWheel-CSwUYfes.js +69 -0
- package/dist/Popover/index.d.ts +1 -1
- package/dist/Popover/index.js +1 -1
- package/dist/{Popover-DJf8POzL.js → Popover-78dFjTb9.js} +20 -15
- package/dist/PowerSearch/index.d.ts +1 -1
- package/dist/PowerSearch/index.js +1 -1
- package/dist/{PowerSearch-DvjiPqMZ.js → PowerSearch-BoAMdFaT.js} +774 -586
- package/dist/ProgressBar/index.d.ts +1 -1
- package/dist/ProgressBar/index.js +1 -1
- package/dist/{ProgressBar-CVLzdoBK.js → ProgressBar-VP4JS7vm.js} +10 -7
- package/dist/Radio/index.d.ts +1 -1
- package/dist/Radio/index.js +1 -1
- package/dist/{RadioGroup-Bfu6JSNV.js → RadioGroup-BIipql-L.js} +94 -26
- package/dist/RadioList/index.d.ts +1 -1
- package/dist/RadioList/index.js +1 -1
- package/dist/{RadioList-xY1cwLdZ.js → RadioList-GyhgBg4j.js} +57 -8
- package/dist/Resizable/index.d.ts +1 -1
- package/dist/Resizable/index.js +1 -1
- package/dist/{ResizeHandle-q4nD_586.js → ResizeHandle-TPlUCAHD.js} +103 -50
- package/dist/ScrollableArea/index.d.ts +1 -1
- package/dist/ScrollableArea/index.js +1 -1
- package/dist/{ScrollableArea-D4dCJv9I.js → ScrollableArea-0u6RWtGG.js} +1 -1
- package/dist/SegmentedControl/index.d.ts +1 -1
- package/dist/SegmentedControl/index.js +1 -1
- package/dist/{SegmentedControl-ChHmFrrC.js → SegmentedControl-D1wWGBZo.js} +11 -5
- package/dist/SelectableCard/index.d.ts +1 -1
- package/dist/SelectableCard/index.js +1 -1
- package/dist/{SelectableCard-Cku4dRzc.js → SelectableCard-BEqnhPaX.js} +16 -11
- package/dist/Selector/index.d.ts +1 -1
- package/dist/Selector/index.js +1 -1
- package/dist/Selector-CPISLzp7.js +1049 -0
- package/dist/SideNav/index.d.ts +1 -1
- package/dist/SideNav/index.js +1 -1
- package/dist/{SideNav-BF8mYDxl.js → SideNav-CN2QeAtY.js} +51 -37
- package/dist/Slider/index.d.ts +1 -1
- package/dist/Slider/index.js +1 -1
- package/dist/{Slider-DWobsPgm.js → Slider-pdC0jpHu.js} +172 -46
- package/dist/Spinner/index.js +1 -1
- package/dist/Spinner-DdVUadii.js +200 -0
- package/dist/Stack/index.d.ts +1 -1
- package/dist/Stack/index.js +2 -2
- package/dist/{Stack-CTsTFfar.js → Stack-Bb_h60t3.js} +1 -1
- package/dist/{Stack-kQlYbbL4.js → Stack-Bp-XN9J4.js} +12 -7
- package/dist/StatusDot/index.d.ts +1 -1
- package/dist/StatusDot/index.js +1 -1
- package/dist/{StatusDot-BPUhMOff.js → StatusDot-BS_ohXhd.js} +8 -4
- package/dist/Stepper/index.js +1 -1
- package/dist/{Stepper-CE8dHysu.js → Stepper-CyaSRSdu.js} +101 -79
- package/dist/Switch/index.d.ts +1 -1
- package/dist/Switch/index.js +1 -1
- package/dist/{Switch-DaVPRxvN.js → Switch-Z2Vfiiic.js} +38 -22
- package/dist/TabList/index.d.ts +2 -2
- package/dist/TabList/index.js +1 -1
- package/dist/{TabList-DIkK9sgK.js → TabList-DRqP0Hrv.js} +205 -63
- package/dist/Table/index.d.ts +3 -3
- package/dist/Table/index.js +1 -1
- package/dist/{Table-fecqnm7P.js → Table-BcrrylMX.js} +726 -452
- package/dist/Text/index.d.ts +1 -1
- package/dist/Text/index.js +1 -1
- package/dist/{Text-CV3LmscH.js → Text-CmTOgYXf.js} +1 -1
- package/dist/TextArea/index.d.ts +1 -1
- package/dist/TextArea/index.js +1 -1
- package/dist/{TextArea-Ab5Sw60T.js → TextArea-DA9CCG_J.js} +104 -50
- package/dist/TextInput/index.d.ts +1 -1
- package/dist/TextInput/index.js +1 -1
- package/dist/{TextInput-zFT1_qgI.js → TextInput-CI96einV.js} +71 -38
- package/dist/Theme/index.d.ts +3 -3
- package/dist/Theme/index.js +3 -2
- package/dist/Theme-BbDT8B_C.js +2125 -0
- package/dist/Thumbnail/index.js +1 -1
- package/dist/{Thumbnail-C3NnJUFG.js → Thumbnail-B2ZAY59J.js} +13 -10
- package/dist/{TimeField-CoHDGmsP.js → TimeField-CpAgja9D.js} +297 -40
- package/dist/TimeInput/index.d.ts +1 -1
- package/dist/TimeInput/index.js +1 -1
- package/dist/{TimeInput-D2k3Ux3p.js → TimeInput-Bw_lHS4M.js} +78 -9
- package/dist/Timer/index.d.ts +1 -1
- package/dist/Timer/index.js +1 -1
- package/dist/{Timer-avMQk5DN.js → Timer-CH7GsEVu.js} +1 -1
- package/dist/Timestamp/index.d.ts +1 -1
- package/dist/Timestamp/index.js +1 -1
- package/dist/{Timestamp-xpQKCk0d.js → Timestamp-BFNuoTZ0.js} +5 -5
- package/dist/Toast/index.d.ts +1 -1
- package/dist/Toast/index.js +1 -1
- package/dist/Toast-DwnPjx6j.js +685 -0
- package/dist/ToggleButton/index.d.ts +1 -1
- package/dist/ToggleButton/index.js +1 -1
- package/dist/{ToggleButton-B-C-Q7XP.js → ToggleButton-cLjh9W-x.js} +5 -4
- package/dist/Token/index.d.ts +1 -1
- package/dist/Token/index.js +1 -1
- package/dist/{Token-DsntTYhQ.js → Token-BfS4vi__.js} +32 -17
- package/dist/Tokenizer/index.d.ts +1 -1
- package/dist/Tokenizer/index.js +1 -1
- package/dist/{Tokenizer-B5C_qY7t.js → Tokenizer-Ci3E5bvP.js} +107 -23
- package/dist/Toolbar/index.d.ts +2 -2
- package/dist/Toolbar/index.js +1 -1
- package/dist/{Toolbar-BrgvvTCk.js → Toolbar-C0pMWL4S.js} +1 -1
- package/dist/Tooltip/index.d.ts +1 -1
- package/dist/Tooltip/index.js +1 -1
- package/dist/{Tooltip-C4Vaqd3G.js → Tooltip-sAM8i1eO.js} +23 -19
- package/dist/TopNav/index.d.ts +1 -1
- package/dist/TopNav/index.js +1 -1
- package/dist/{TopNav-Ciq0l1w7.js → TopNav-gW59zp1o.js} +16 -15
- package/dist/TreeList/index.d.ts +1 -1
- package/dist/TreeList/index.js +1 -1
- package/dist/{TreeList-BUz-KZJd.js → TreeList-DaoI7zaH.js} +124 -41
- package/dist/Typeahead/index.d.ts +1 -1
- package/dist/Typeahead/index.js +2 -2
- package/dist/{Typeahead-JP9RT87x.js → Typeahead-D4JjvjK4.js} +123 -26
- package/dist/{TypeaheadMenu-DBW6rHeO.js → TypeaheadMenu-BQlMrfqX.js} +141 -51
- package/dist/{announce-Cnio10Wk.js → announce-B210eJVf.js} +17 -2
- package/dist/characterReferences-BJ-jLhsR.js +65 -0
- package/dist/characters-rcDbGt71.d.ts +29 -0
- package/dist/characters-wTnzjkkR.js +58 -0
- package/dist/{colorMode-CBgdgDSn.js → colorMode-BxqfDP4P.js} +1 -4
- package/dist/composables/index.d.ts +5 -4
- package/dist/composables/index.js +23 -18
- package/dist/{composables-CbKx9C1Y.js → composables-Bc02zKAO.js} +167 -197
- package/dist/context-B6UElI5X.js +5 -0
- package/dist/{context-Cfjh8te1.js → context-Cfml4jaK.js} +5 -3
- package/dist/{context-iABt_ueM.js → context-DWfi56sq.js} +451 -122
- package/dist/context-IvbU9c3T.js +8 -0
- package/dist/context-pjBxaMSh.js +28 -0
- package/dist/fieldParts--SyRZVQG.js +44 -0
- package/dist/fieldParts-LXpQMKE8.d.ts +27 -0
- package/dist/{focus-CpficIgf.js → focus-l8jVTcqd.js} +1 -1
- package/dist/hoverIntent-DMHGb85c.js +115 -0
- package/dist/{index-Cde5JvtX.d.ts → index-B-nESNam.d.ts} +8 -7
- package/dist/{index-CsNi1I8j.d.ts → index-B08-Uxhv.d.ts} +4 -2
- package/dist/{index-Cn-sSds-.d.ts → index-B56j4eI2.d.ts} +24 -1
- package/dist/{index-BkjSF265.d.ts → index-BEZ4ezJk.d.ts} +3 -3
- package/dist/{index-DeQwYJbg.d.ts → index-BNaRK-s5.d.ts} +10 -1
- package/dist/{index-0QGtSf3r.d.ts → index-BO9TY87G.d.ts} +3 -2
- package/dist/{index-IBAInumL.d.ts → index-BQEJj72c.d.ts} +23 -10
- package/dist/{index-D97pQbua.d.ts → index-BV2D2x_u.d.ts} +1 -1
- package/dist/{index-Crp3NFLW.d.ts → index-BZKgbyN9.d.ts} +1 -1
- package/dist/index-BkUkm6Al.d.ts +11 -0
- package/dist/{index-ClNU2Th8.d.ts → index-Bn-v89Vt.d.ts} +10 -6
- package/dist/{index-Bu8NA2SD.d.ts → index-BnEhvmdR.d.ts} +16 -7
- package/dist/index-Bo-ofFyg.d.ts +166 -0
- package/dist/{index-i0tNFWfz.d.ts → index-BqhgeAT4.d.ts} +2 -0
- package/dist/{index-DWh2WC8W.d.ts → index-C4Cjz6OK.d.ts} +2 -2
- package/dist/{index-B7yhzGUT.d.ts → index-C7sam-SB.d.ts} +2 -2
- package/dist/{index-BrJzFA5X.d.ts → index-C90l2rH1.d.ts} +1 -1
- package/dist/{index-vP0EtrJJ.d.ts → index-C9gAlDt_.d.ts} +6 -3
- package/dist/{index-xrzJC4wm.d.ts → index-CJ6ajsUC.d.ts} +1 -1
- package/dist/{index-B9e52paP.d.ts → index-CK-Dbh0f.d.ts} +1 -1
- package/dist/index-CKUfpmFL.d.ts +375 -0
- package/dist/{index-DXpSFlPG.d.ts → index-CKgBTAzC.d.ts} +4 -4
- package/dist/{index-gW0HW02U.d.ts → index-COxy6LEW.d.ts} +1 -1
- package/dist/{index-B4OOtNP8.d.ts → index-CPtDjmcX.d.ts} +3 -3
- package/dist/{index-12QYAbiz.d.ts → index-CRrSHbok.d.ts} +3 -2
- package/dist/{index-DG52Bg0W.d.ts → index-CTf3SK0b.d.ts} +6 -0
- package/dist/{index-BVKivP59.d.ts → index-CTjkJP4x.d.ts} +32 -3
- package/dist/{index-COgrQZIL.d.ts → index-CdvmnNMH.d.ts} +1 -1
- package/dist/{index-GI9xIV9l.d.ts → index-CikMzeab.d.ts} +2 -2
- package/dist/{index-DUaLJO7l.d.ts → index-CpNlPLBF.d.ts} +172 -126
- package/dist/{index-yT1yiiww.d.ts → index-Cs1xsHKi.d.ts} +24 -12
- package/dist/{index-Cyb9Du5Z.d.ts → index-CtTGt6Dv.d.ts} +1 -1
- package/dist/{index-Byar3h1e.d.ts → index-D05JGsT3.d.ts} +6 -3
- package/dist/{index-B3Fomy15.d.ts → index-D0_HsuC3.d.ts} +3 -3
- package/dist/{index-BgT6mH3U.d.ts → index-D7ShT2c-.d.ts} +1 -1
- package/dist/{index-CkKPMIeX.d.ts → index-D7XRtUTY.d.ts} +9 -0
- package/dist/{index-TntQsADQ.d.ts → index-DEm3kRBO.d.ts} +4 -3
- package/dist/{index-C2nbK2AA.d.ts → index-DLAG3m9W.d.ts} +13 -3
- package/dist/{index-DVmgNb78.d.ts → index-DRJZ-v1E.d.ts} +4 -4
- package/dist/{index-CL1T2j4y.d.ts → index-DY8Wph-A.d.ts} +3 -3
- package/dist/{index-B1WJxt-n.d.ts → index-DfC05uKG.d.ts} +17 -7
- package/dist/{index-C5e-7Obr.d.ts → index-Dj1_1t3j.d.ts} +19 -6
- package/dist/{index-D41_xqjs.d.ts → index-Dr4b_oji.d.ts} +20 -13
- package/dist/{index-CqE4Bf3Q.d.ts → index-Ds201-d2.d.ts} +16 -2
- package/dist/{index-DIXAzTKL.d.ts → index-DxxudRgB.d.ts} +1 -1
- package/dist/{index-B42oE_F-.d.ts → index-IfsSCj8J.d.ts} +18 -5
- package/dist/{index-XuAAcYiP.d.ts → index-f3d9cVtj.d.ts} +1 -1
- package/dist/{index-T2FOcOuI.d.ts → index-jOwU3YoR.d.ts} +400 -90
- package/dist/{index-CICeEoZV.d.ts → index-pNtfr-RW.d.ts} +1 -1
- package/dist/{index-BhpAUzUr.d.ts → index-unAZVFGz.d.ts} +2 -2
- package/dist/index.d.ts +80 -74
- package/dist/index.js +149 -134
- package/dist/inlineSize-BNe8wggI.js +66 -0
- package/dist/inputPresentation-BOyHkCDr.js +62 -0
- package/dist/interactionModality-ACpTMhak.js +44 -0
- package/dist/isApplePlatform-B1ju6F5B.js +27 -0
- package/dist/isRenderable-BnKHIqfd.js +21 -0
- package/dist/layerDepth-CNDh-IHb.js +181 -0
- package/dist/link-DuuA2eCL.js +30 -0
- package/dist/{loadCatalog-BGHKG_9N.d.ts → loadCatalog-DlLFZreI.d.ts} +281 -7
- package/dist/loadCatalog-eopw74qb.js +424 -0
- package/dist/locale/index.d.ts +2 -2
- package/dist/locale/index.js +4 -3
- package/dist/locale-CabGJlGp.js +343 -0
- package/dist/modalOutlet-CUOcrhIu.js +56 -0
- package/dist/optionAction-Cg7xQLUA.d.ts +6 -0
- package/dist/{power-search-DrDfcoL1.d.ts → power-search-gHLIYXs5.d.ts} +2 -0
- package/dist/protocol-DHxY0NI8.js +113 -0
- package/dist/protocol-RSeMzAN1.d.ts +238 -0
- package/dist/publicParser-B0MRoikr.d.ts +141 -0
- package/dist/publicParser-uHC_T0Fo.js +895 -0
- package/dist/resizableChannel-3vivrEcT.js +20 -0
- package/dist/safeUrl-CsvfcZ9m.js +54 -0
- package/dist/scopedProvide-C-Df7c15.js +30 -0
- package/dist/scrollKeyboardDelegation-D7cumnOl.js +238 -0
- package/dist/scrollLock-C3aT4-0z.js +102 -0
- package/dist/{searchResultMessage-hXXNOFJP.js → searchResultMessage-mCpJBvra.js} +5 -14
- package/dist/{semantic-CKH9XVqa.d.ts → semantic-BF_AjLvk.d.ts} +6 -3
- package/dist/slug-C65CUsf9.js +32 -0
- package/dist/syntaxContext-DmIfNNtb.js +4 -0
- package/dist/triggerVariant-BsL8jMHs.js +16 -0
- package/dist/{types-0Q_SJv_F.d.ts → types-Bb7OGivY.d.ts} +6 -1
- package/dist/{types-CwyibrRB.d.ts → types-C5GQ2KCK.d.ts} +23 -3
- package/dist/{types-gKsEkk2g.d.ts → types-CsqwQkf1.d.ts} +143 -10
- package/dist/upstreamMap-xr3gvREu.js +731 -0
- package/dist/{useAnchoredListbox-DwztMNjP.js → useAnchoredListbox-DGxxKHZb.js} +2 -2
- package/dist/{useAsyncSource-xpQovjV_.d.ts → useAsyncSource-aGzrvRkI.d.ts} +3 -0
- package/dist/{useClickableContainer-DyNpnSEa.js → useClickableContainer-CdGp_Cev.js} +1 -1
- package/dist/{useClipboard-BDfbEsWd.js → useClipboard-Dk8cS810.js} +1 -1
- package/dist/useHoverLayerDismiss-kYJ_NqL4.js +27 -0
- package/dist/{useIndicator-i1NORM7W.js → useIndicator-MZmfBWid.js} +5 -23
- package/dist/{useInputContainer-CpgDe2-4.js → useInputContainer-CLcYrby4.js} +1 -1
- package/dist/{useInputStatusIcon-DBOwxV4x.js → useInputStatusIcon-DAE7PExr.js} +1 -1
- package/dist/useLayerMountTarget-BmZyeKWE.js +156 -0
- package/dist/{useListFocus-D0iOJl39.js → useListFocus-ChxLg0b4.js} +3 -2
- package/dist/{useMenuDrillIn-DzKGkTho.js → useMenuDrillIn-DhUnPvKs.js} +6 -5
- package/dist/useMenuHover-Djreu23i.js +170 -0
- package/dist/useMenuPress-8foxY8z4.js +764 -0
- package/dist/{useMergedRefs-CfHHlCsn.js → useMergedRefs-Cb6_w93m.js} +24 -4
- package/dist/{useNumberField-4-dIGVed.js → useNumberField-Dk1BE3-K.js} +3 -3
- package/dist/useOptionActionGrid-CkJcuvaU.js +97 -0
- package/dist/{usePositionedLayer-Cru9_00b.js → usePositionedLayer-B7cvG-_v.js} +43 -49
- package/dist/usePressFeedback-BJCpjEpv.js +319 -0
- package/dist/{useResizable-DDwPpPe6.d.ts → useResizable-1MHPNaRD.d.ts} +19 -1
- package/dist/{useResizable-B3ahKLoZ.js → useResizable-I3BCiLSL.js} +72 -40
- package/dist/useResolvedLabelHidden-B2rlWiaI.js +30 -0
- package/dist/{useRestoreFocus-Djw9RUIf.js → useRestoreFocus-XEKs5-gp.js} +49 -7
- package/dist/useScrollOverflow-DuMoGXmm.js +67 -0
- package/dist/useScrollableArea-BE8b3qm7.js +222 -0
- package/dist/{useTimeValue-6ufHM15W.js → useTimeValue-BJd0xBhG.js} +4 -22
- package/dist/useTranslator-BmWt2BBt.js +35 -0
- package/dist/{useTypeahead-PAK8lMYz.js → useTypeahead-BvtflkRk.js} +4 -5
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +5 -0
- package/dist/{utils-D33VQDnk.js → utils-ClVseK2w.js} +29 -2
- package/dist/utils-z3Q6BGIJ.js +819 -0
- package/locales/SOURCE.json +1 -1
- package/package.json +18 -2
- package/reset.css +364 -1
- package/styles/avatar-group.css +9 -1
- package/styles/badge.css +8 -5
- package/styles/banner.css +124 -26
- package/styles/blockquote.css +1 -0
- package/styles/bordered-control.css +1 -1
- package/styles/bottom-sheet.css +74 -6
- package/styles/breadcrumbs.css +16 -2
- package/styles/button-group.css +3 -1
- package/styles/button.css +53 -11
- package/styles/card.css +1 -1
- package/styles/chat.css +16 -6
- package/styles/checkbox-input.css +10 -0
- package/styles/clickable-card.css +10 -3
- package/styles/collapsible.css +12 -5
- package/styles/command-palette.css +29 -14
- package/styles/complex-selector.css +22 -5
- package/styles/context-menu.css +3 -3
- package/styles/date-input.css +111 -1
- package/styles/dialog-header.css +4 -1
- package/styles/dialog.css +7 -0
- package/styles/dropdown-menu.css +12 -3
- package/styles/field.css +5 -0
- package/styles/form-layout.css +1 -0
- package/styles/heading.css +18 -8
- package/styles/icon.css +4 -0
- package/styles/kbd.css +1 -1
- package/styles/layer.css +72 -0
- package/styles/list.css +9 -2
- package/styles/metadata-list.css +1 -0
- package/styles/mobile-nav.css +4 -1
- package/styles/multi-selector.css +48 -1
- package/styles/nav-item.css +9 -2
- package/styles/nav-menu.css +12 -2
- package/styles/number-input.css +9 -1
- package/styles/overflow-list.css +1 -1
- package/styles/popover.css +2 -1
- package/styles/power-search.css +5 -3
- package/styles/pressable.css +63 -22
- package/styles/progress-bar.css +15 -3
- package/styles/radio.css +16 -0
- package/styles/resize-handle.css +42 -0
- package/styles/segmented-control.css +12 -4
- package/styles/selector.css +53 -1
- package/styles/side-nav.css +19 -0
- package/styles/slider.css +4 -3
- package/styles/spinner.css +48 -42
- package/styles/stepper.css +58 -4
- package/styles/switch.css +26 -0
- package/styles/tab-list.css +132 -3
- package/styles/table.css +88 -10
- package/styles/text-area.css +1 -1
- package/styles/text-input.css +1 -1
- package/styles/text.css +6 -6
- package/styles/thumbnail.css +11 -3
- package/styles/time-input.css +8 -0
- package/styles/toast.css +37 -3
- package/styles/token.css +2 -2
- package/styles/tokenizer.css +1 -1
- package/styles/toolbar.css +4 -1
- package/styles/tree-list.css +1 -1
- package/styles/typeahead.css +34 -1
- package/styles.css +1 -0
- package/dist/Blockquote-DFqBv_oJ.js +0 -18
- package/dist/Breadcrumbs-DIm4figq.js +0 -141
- package/dist/ButtonGroup-ySQWanDP.js +0 -125
- package/dist/DateTimeInput-A7m2O3bg.js +0 -268
- package/dist/MultiSelector-BtAUfQ3t.js +0 -990
- package/dist/NumberInput-AZ9x3oja.js +0 -473
- package/dist/Selector-DJ2BhUTV.js +0 -677
- package/dist/Spinner-9cYUCnDy.js +0 -84
- package/dist/Theme-CtaUWo4g.js +0 -1246
- package/dist/Toast-BuqIZV5z.js +0 -322
- package/dist/context-4PuqD1Ic.js +0 -4
- package/dist/context-D5-MwxnN.js +0 -4
- package/dist/index-BH9PzQ1F.d.ts +0 -87
- package/dist/link-C4_WogdF.js +0 -18
- package/dist/loadCatalog-CXKqEB9s.js +0 -877
- package/dist/locale-DgkZEMTn.js +0 -105
- package/dist/platform-B_9W_aHW.js +0 -33
- package/dist/scrollLock-BzIvIimL.js +0 -42
- package/dist/useMenuPress-D-FRNrBW.js +0 -573
- package/dist/useScrollableArea-DDk_CluT.js +0 -172
- /package/dist/{index-lgvUFSCO.d.ts → index-CryFtTT6.d.ts} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/composables/internal/resizableChannel.ts
|
|
2
|
+
/**
|
|
3
|
+
* Enter 和双击要恢复折叠前的尺寸。这个能力不放进导出的 `ResizableProps`,
|
|
4
|
+
* 手写的 props 没有登记,手柄就退回「收到最小值」。
|
|
5
|
+
*/
|
|
6
|
+
const collapseControls = /* @__PURE__ */ new WeakMap();
|
|
7
|
+
/** 没有配置上限时,分隔条要报的那个最大值。手写 props 不在这张表里。 */
|
|
8
|
+
const effectiveMaxima = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
function registerResizableChannel(props, controls, effectiveMax) {
|
|
10
|
+
collapseControls.set(props, controls);
|
|
11
|
+
if (effectiveMax != null && Number.isFinite(effectiveMax)) effectiveMaxima.set(props, effectiveMax);
|
|
12
|
+
}
|
|
13
|
+
function getCollapseControls(props) {
|
|
14
|
+
return collapseControls.get(props);
|
|
15
|
+
}
|
|
16
|
+
function getEffectiveMaxPx(props) {
|
|
17
|
+
return effectiveMaxima.get(props);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { getEffectiveMaxPx as n, registerResizableChannel as r, getCollapseControls as t };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
//#region src/utils/safeUrl.ts
|
|
2
|
+
/**
|
|
3
|
+
* 导航地址的协议检查。
|
|
4
|
+
*
|
|
5
|
+
* 拦下 `javascript:`、`vbscript:` 和会当成页面打开的 `data:text/html`。
|
|
6
|
+
* 通过的字符串原样返回,不去掉调用方自己写的空白以外的内容。
|
|
7
|
+
* 图片、样式这类嵌入资源不走这里。
|
|
8
|
+
*/
|
|
9
|
+
function normalizeUrl(url) {
|
|
10
|
+
return url.replace(/[\u0000-\u001F\u007F]/g, "").trim();
|
|
11
|
+
}
|
|
12
|
+
/** 协议比较用的形式:小写,并去掉协议冒号后面的空格。`data: text/html` 仍是 HTML。 */
|
|
13
|
+
function comparableUrl(normalized) {
|
|
14
|
+
return normalized.toLowerCase().replace(/^([a-z][a-z\d+.-]*:) +/, "$1");
|
|
15
|
+
}
|
|
16
|
+
/** 规范化后的导航地址。危险协议返回 null。 */
|
|
17
|
+
function sanitizeUrl(url) {
|
|
18
|
+
const normalized = normalizeUrl(url);
|
|
19
|
+
const lower = comparableUrl(normalized);
|
|
20
|
+
if (lower.startsWith("javascript:") || lower.startsWith("vbscript:") || lower.startsWith("data:text/html")) return null;
|
|
21
|
+
return normalized;
|
|
22
|
+
}
|
|
23
|
+
/** 只判断,不改写调用方要交给浏览器的那个字符串。 */
|
|
24
|
+
function isSafeUrl(url) {
|
|
25
|
+
return sanitizeUrl(url) !== null;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 检查字符串,以及带 pathname / href / protocol 的路由对象。
|
|
29
|
+
* 空地址算安全(调用方本来就没有目的地)。不是字符串也不是对象的值算不安全。
|
|
30
|
+
*/
|
|
31
|
+
function isSafeDestination(destination) {
|
|
32
|
+
if (destination == null) return true;
|
|
33
|
+
if (typeof destination === "string") return isSafeUrl(destination);
|
|
34
|
+
if (typeof destination !== "object") return false;
|
|
35
|
+
const { pathname, href, protocol, host, hostname } = destination;
|
|
36
|
+
for (const field of [
|
|
37
|
+
pathname,
|
|
38
|
+
href,
|
|
39
|
+
protocol,
|
|
40
|
+
host,
|
|
41
|
+
hostname
|
|
42
|
+
]) if (field != null && typeof field !== "string") return false;
|
|
43
|
+
if (typeof pathname === "string" && !isSafeUrl(pathname)) return false;
|
|
44
|
+
if (typeof href === "string" && !isSafeUrl(href)) return false;
|
|
45
|
+
if (typeof protocol === "string" && protocol !== "") {
|
|
46
|
+
const normalizedProtocol = normalizeUrl(protocol);
|
|
47
|
+
const prefix = normalizedProtocol.endsWith(":") ? normalizedProtocol : `${normalizedProtocol}:`;
|
|
48
|
+
if (!isSafeUrl(prefix)) return false;
|
|
49
|
+
if (!isSafeUrl(`${prefix}${host || hostname || ""}${typeof pathname === "string" ? pathname : ""}`)) return false;
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { isSafeUrl as n, sanitizeUrl as r, isSafeDestination as t };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
import "../styles/layer.css";
|
|
3
|
+
//#region src/layer/scopedProvide.ts
|
|
4
|
+
const registrations = [];
|
|
5
|
+
const defaults = /* @__PURE__ */ new Map();
|
|
6
|
+
/**
|
|
7
|
+
* 定义一个「进了浮层就重置」的 context key。
|
|
8
|
+
* 默认值同时是读者在没有任何提供者时拿到的值。
|
|
9
|
+
*/
|
|
10
|
+
function defineLayerScopedKey(name, defaultValue) {
|
|
11
|
+
const key = Symbol(name);
|
|
12
|
+
const stored = key;
|
|
13
|
+
registrations.push({
|
|
14
|
+
key: stored,
|
|
15
|
+
resetValue: defaultValue
|
|
16
|
+
});
|
|
17
|
+
defaults.set(stored, defaultValue);
|
|
18
|
+
return key;
|
|
19
|
+
}
|
|
20
|
+
/** 读取登记过的 context。必须在 setup 里调用。 */
|
|
21
|
+
function readLayerScoped(key) {
|
|
22
|
+
const fallback = defaults.get(key);
|
|
23
|
+
return inject(key, fallback);
|
|
24
|
+
}
|
|
25
|
+
/** 把登记表里的 key 在当前组件里重新提供成默认值。可以重复调用。 */
|
|
26
|
+
function resetLayerScopedContext() {
|
|
27
|
+
for (const { key, resetValue } of registrations) provide(key, resetValue);
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { readLayerScoped as n, resetLayerScopedContext as r, defineLayerScopedKey as t };
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { t as FOCUSABLE_SELECTOR } from "./focus-l8jVTcqd.js";
|
|
2
|
+
const INACTIVE_AXIS_STATE = Object.freeze({
|
|
3
|
+
isScrollable: false,
|
|
4
|
+
atStart: true,
|
|
5
|
+
atEnd: true
|
|
6
|
+
});
|
|
7
|
+
const DEFAULT_AXIS_MAPPING = Object.freeze({
|
|
8
|
+
inline: "x",
|
|
9
|
+
block: "y",
|
|
10
|
+
inlineReversed: false,
|
|
11
|
+
blockReversed: false
|
|
12
|
+
});
|
|
13
|
+
function getLogicalAxisMapping(writingMode, direction) {
|
|
14
|
+
const mode = writingMode.toLowerCase();
|
|
15
|
+
const isVertical = mode.startsWith("vertical") || mode.startsWith("sideways");
|
|
16
|
+
const isRtl = direction === "rtl";
|
|
17
|
+
if (!isVertical) return {
|
|
18
|
+
inline: "x",
|
|
19
|
+
block: "y",
|
|
20
|
+
inlineReversed: isRtl,
|
|
21
|
+
blockReversed: false
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
inline: "y",
|
|
25
|
+
block: "x",
|
|
26
|
+
inlineReversed: mode === "sideways-lr" ? !isRtl : isRtl,
|
|
27
|
+
blockReversed: mode.endsWith("-rl")
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function mappingsEqual(a, b) {
|
|
31
|
+
return a.inline === b.inline && a.block === b.block && a.inlineReversed === b.inlineReversed && a.blockReversed === b.blockReversed;
|
|
32
|
+
}
|
|
33
|
+
function axisStatesEqual(a, b) {
|
|
34
|
+
return a.isScrollable === b.isScrollable && a.atStart === b.atStart && a.atEnd === b.atEnd;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 能不能量。没连在文档上、`display: none`、或者宽高为 0 的视口答「不知道」,
|
|
38
|
+
* 不是「放得下」:调用方要保留上一次的结果,等下一次有效的信号再量。
|
|
39
|
+
*/
|
|
40
|
+
function isMeasurable(element, style) {
|
|
41
|
+
return element.isConnected && style.display !== "none" && element.clientWidth > 0 && element.clientHeight > 0;
|
|
42
|
+
}
|
|
43
|
+
/** 这个 overflow 值能不能滚。`hidden`、`clip`、`visible` 都不能。 */
|
|
44
|
+
function isScrollCapableOverflow(value) {
|
|
45
|
+
return value === "auto" || value === "scroll" || value === "overlay";
|
|
46
|
+
}
|
|
47
|
+
function extent(element, axis) {
|
|
48
|
+
if (axis === "x") return {
|
|
49
|
+
client: element.clientWidth,
|
|
50
|
+
content: element.scrollWidth,
|
|
51
|
+
offset: element.scrollLeft
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
client: element.clientHeight,
|
|
55
|
+
content: element.scrollHeight,
|
|
56
|
+
offset: element.scrollTop
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** 这条逻辑轴上内容是不是比盒子大。 */
|
|
60
|
+
function measureOverflow(element, axis, mapping) {
|
|
61
|
+
const box = extent(element, mapping[axis]);
|
|
62
|
+
return box.content > box.client + 1;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 这条逻辑轴的滚动状态。没被请求、计算出来的 overflow 不能滚、或者多出来的不到 1px,都算不可滚动。
|
|
66
|
+
*/
|
|
67
|
+
function measureScrollAxis(element, axis, mapping, isRequested, style) {
|
|
68
|
+
const physical = mapping[axis];
|
|
69
|
+
const box = extent(element, physical);
|
|
70
|
+
const max = Math.max(0, box.content - box.client);
|
|
71
|
+
const overflow = physical === "x" ? style.overflowX : style.overflowY;
|
|
72
|
+
if (!isRequested || !isScrollCapableOverflow(overflow) || max <= 1) return INACTIVE_AXIS_STATE;
|
|
73
|
+
const reversed = axis === "inline" ? mapping.inlineReversed : mapping.blockReversed;
|
|
74
|
+
const raw = Math.abs(box.offset);
|
|
75
|
+
const offset = Math.min(max, Math.max(0, reversed ? max - raw : raw));
|
|
76
|
+
return {
|
|
77
|
+
isScrollable: true,
|
|
78
|
+
atStart: offset <= 1,
|
|
79
|
+
atEnd: offset >= max - 1
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/composables/internal/scrollOwnerRegistry.ts
|
|
84
|
+
const owners = /* @__PURE__ */ new WeakMap();
|
|
85
|
+
function registerScrollOwner(element, state) {
|
|
86
|
+
owners.set(element, state);
|
|
87
|
+
}
|
|
88
|
+
function unregisterScrollOwner(element) {
|
|
89
|
+
owners.delete(element);
|
|
90
|
+
}
|
|
91
|
+
function getRegisteredScrollOwnerState(element) {
|
|
92
|
+
return owners.get(element);
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/composables/internal/scrollKeyboardDelegation.ts
|
|
96
|
+
/**
|
|
97
|
+
* 焦点进入时的滚动键盘委托。
|
|
98
|
+
*
|
|
99
|
+
* 一块能滚动、自己又是 Tab 停靠点的视口,里面第一个就是普通的按钮或链接时,
|
|
100
|
+
* 用 Tab 进来会先停在视口上,再按一次才到那个按钮。这里在视口被 Tab 选中的那一刻,
|
|
101
|
+
* 直接把焦点交给里面第一个按钮或链接;方向键、翻页键的滚动仍然完全交给浏览器。
|
|
102
|
+
* Shift+Tab 从那个按钮往回走时,临时把视口移出 Tab 顺序,免得又停回视口上。
|
|
103
|
+
*
|
|
104
|
+
* 只有很保守的情况才委托:第一个可聚焦的必须是 tabindex 为 0 的 `a[href]` 或 `button`,
|
|
105
|
+
* 没有弹出菜单、没被禁用、没藏起来;从它到视口之间不能有交互角色、活动后代、
|
|
106
|
+
* 可编辑区域,也不能夹着另一个滚动容器。不满足就什么都不做,焦点照常停在视口上。
|
|
107
|
+
*/
|
|
108
|
+
const PASSIVE_ROLES = /* @__PURE__ */ new Set([
|
|
109
|
+
"article",
|
|
110
|
+
"banner",
|
|
111
|
+
"complementary",
|
|
112
|
+
"contentinfo",
|
|
113
|
+
"definition",
|
|
114
|
+
"directory",
|
|
115
|
+
"document",
|
|
116
|
+
"figure",
|
|
117
|
+
"form",
|
|
118
|
+
"generic",
|
|
119
|
+
"group",
|
|
120
|
+
"heading",
|
|
121
|
+
"list",
|
|
122
|
+
"listitem",
|
|
123
|
+
"main",
|
|
124
|
+
"navigation",
|
|
125
|
+
"none",
|
|
126
|
+
"note",
|
|
127
|
+
"paragraph",
|
|
128
|
+
"presentation",
|
|
129
|
+
"region",
|
|
130
|
+
"section",
|
|
131
|
+
"status",
|
|
132
|
+
"table",
|
|
133
|
+
"term"
|
|
134
|
+
]);
|
|
135
|
+
function isSequential(element) {
|
|
136
|
+
if (element.tabIndex < 0 || element.matches(":disabled") || element.closest("[inert], [hidden]") != null) return false;
|
|
137
|
+
if (element.getClientRects().length === 0) return false;
|
|
138
|
+
const visibility = getComputedStyle(element).visibility;
|
|
139
|
+
return visibility !== "hidden" && visibility !== "collapse";
|
|
140
|
+
}
|
|
141
|
+
function firstSequential(content) {
|
|
142
|
+
let first = content.matches(FOCUSABLE_SELECTOR) && isSequential(content) ? content : null;
|
|
143
|
+
for (const candidate of content.querySelectorAll(FOCUSABLE_SELECTOR)) {
|
|
144
|
+
if (first != null && candidate.tabIndex <= 0) continue;
|
|
145
|
+
if (!isSequential(candidate)) continue;
|
|
146
|
+
if (candidate.tabIndex > 0) return null;
|
|
147
|
+
first ??= candidate;
|
|
148
|
+
}
|
|
149
|
+
return first;
|
|
150
|
+
}
|
|
151
|
+
function isPlainAction(element) {
|
|
152
|
+
return element.tabIndex === 0 && element.matches("a[href], button") && element.closest("[aria-hidden=\"true\"]") == null && !element.matches("[aria-disabled=\"true\"], [aria-haspopup]:not([aria-haspopup=\"false\"])");
|
|
153
|
+
}
|
|
154
|
+
function blocksDelegation(ancestor, first) {
|
|
155
|
+
const role = ancestor.getAttribute("role")?.trim().toLowerCase();
|
|
156
|
+
const isOwnNativeRole = ancestor === first && (role === "button" && first.localName === "button" || role === "link" && first.localName === "a");
|
|
157
|
+
if (role != null && role !== "" && !isOwnNativeRole && (ancestor === first || !PASSIVE_ROLES.has(role))) return true;
|
|
158
|
+
if (ancestor.hasAttribute("aria-activedescendant") || ancestor.isContentEditable) return true;
|
|
159
|
+
if (ancestor.matches("[contenteditable]:not([contenteditable=\"false\"])")) return true;
|
|
160
|
+
if (getRegisteredScrollOwnerState(ancestor) != null) return true;
|
|
161
|
+
const style = getComputedStyle(ancestor);
|
|
162
|
+
return isScrollCapableOverflow(style.overflowX) && ancestor.scrollWidth > ancestor.clientWidth + 1 || isScrollCapableOverflow(style.overflowY) && ancestor.scrollHeight > ancestor.clientHeight + 1;
|
|
163
|
+
}
|
|
164
|
+
function delegationTarget(viewport, content) {
|
|
165
|
+
const first = firstSequential(content);
|
|
166
|
+
if (first == null || !isPlainAction(first)) return null;
|
|
167
|
+
let ancestor = first;
|
|
168
|
+
while (ancestor != null && ancestor !== viewport) {
|
|
169
|
+
if (blocksDelegation(ancestor, first)) return null;
|
|
170
|
+
ancestor = ancestor.parentElement;
|
|
171
|
+
}
|
|
172
|
+
return ancestor === viewport ? first : null;
|
|
173
|
+
}
|
|
174
|
+
/** 只在视口真有一条能滚的轴时挂上。返回拆掉的函数。 */
|
|
175
|
+
function attachScrollKeyboardDelegation(viewport, content) {
|
|
176
|
+
const doc = viewport.ownerDocument;
|
|
177
|
+
const view = doc.defaultView;
|
|
178
|
+
if (view == null) return () => {};
|
|
179
|
+
let entry = null;
|
|
180
|
+
let origin = null;
|
|
181
|
+
let delegated = null;
|
|
182
|
+
let timer;
|
|
183
|
+
let restoreTabStop;
|
|
184
|
+
const reset = () => {
|
|
185
|
+
entry = null;
|
|
186
|
+
origin = null;
|
|
187
|
+
clearTimeout(timer);
|
|
188
|
+
restoreTabStop?.();
|
|
189
|
+
restoreTabStop = void 0;
|
|
190
|
+
};
|
|
191
|
+
const onKeyDown = (event) => {
|
|
192
|
+
reset();
|
|
193
|
+
if (event.key !== "Tab" || event.ctrlKey || event.metaKey) return;
|
|
194
|
+
entry = event;
|
|
195
|
+
origin = event.target;
|
|
196
|
+
if (event.shiftKey && delegated != null && doc.activeElement === delegated && viewport.contains(delegated)) {
|
|
197
|
+
const tabIndex = viewport.getAttribute("tabindex");
|
|
198
|
+
viewport.tabIndex = -1;
|
|
199
|
+
restoreTabStop = () => {
|
|
200
|
+
if (viewport.getAttribute("tabindex") !== "-1") return;
|
|
201
|
+
if (tabIndex == null) viewport.removeAttribute("tabindex");
|
|
202
|
+
else viewport.setAttribute("tabindex", tabIndex);
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
timer = setTimeout(reset, 0);
|
|
206
|
+
};
|
|
207
|
+
const onFocusIn = (event) => {
|
|
208
|
+
const keyboardEntry = entry;
|
|
209
|
+
const previous = origin;
|
|
210
|
+
reset();
|
|
211
|
+
if (event.target !== viewport) {
|
|
212
|
+
if (!viewport.contains(event.target)) delegated = null;
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
delegated = null;
|
|
216
|
+
if (keyboardEntry == null || keyboardEntry.shiftKey || keyboardEntry.defaultPrevented || keyboardEntry.eventPhase !== 0 || event.relatedTarget != null && event.relatedTarget !== previous) return;
|
|
217
|
+
const target = delegationTarget(viewport, content);
|
|
218
|
+
if (target == null) return;
|
|
219
|
+
delegated = target;
|
|
220
|
+
target.focus();
|
|
221
|
+
if (doc.activeElement !== target) delegated = null;
|
|
222
|
+
};
|
|
223
|
+
doc.addEventListener("keydown", onKeyDown, true);
|
|
224
|
+
doc.addEventListener("keyup", reset, true);
|
|
225
|
+
doc.addEventListener("pointerdown", reset, true);
|
|
226
|
+
doc.addEventListener("focusin", onFocusIn, true);
|
|
227
|
+
view.addEventListener("blur", reset);
|
|
228
|
+
return () => {
|
|
229
|
+
reset();
|
|
230
|
+
doc.removeEventListener("keydown", onKeyDown, true);
|
|
231
|
+
doc.removeEventListener("keyup", reset, true);
|
|
232
|
+
doc.removeEventListener("pointerdown", reset, true);
|
|
233
|
+
doc.removeEventListener("focusin", onFocusIn, true);
|
|
234
|
+
view.removeEventListener("blur", reset);
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
//#endregion
|
|
238
|
+
export { INACTIVE_AXIS_STATE as a, isMeasurable as c, measureScrollAxis as d, DEFAULT_AXIS_MAPPING as i, mappingsEqual as l, registerScrollOwner as n, axisStatesEqual as o, unregisterScrollOwner as r, getLogicalAxisMapping as s, attachScrollKeyboardDelegation as t, measureOverflow as u };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { onScopeDispose, watch } from "vue";
|
|
2
|
+
//#region src/composables/internal/scrollbarGutter.ts
|
|
3
|
+
const NOOP = {
|
|
4
|
+
settle() {},
|
|
5
|
+
release() {}
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* 让 `element` 的内容宽度在接下来的锁滚动期间保持现在的样子。
|
|
9
|
+
*
|
|
10
|
+
* 在加锁样式**之前**调,加完之后马上 `settle()`,解锁时 `release()`。
|
|
11
|
+
* 悬浮滚动条(手机、macOS 默认)不占地方,什么都不用留,也什么都不碰。
|
|
12
|
+
*/
|
|
13
|
+
function holdScrollbarGutter(element) {
|
|
14
|
+
if (typeof window === "undefined" || typeof document === "undefined") return NOOP;
|
|
15
|
+
const root = document.documentElement;
|
|
16
|
+
const viewportWidth = root.clientWidth;
|
|
17
|
+
if (viewportWidth === 0) return NOOP;
|
|
18
|
+
const previousGutter = root.style.scrollbarGutter;
|
|
19
|
+
const previousPadding = element.style.paddingRight;
|
|
20
|
+
const widthBefore = element.getBoundingClientRect().width;
|
|
21
|
+
let heldGutter = false;
|
|
22
|
+
let padded = false;
|
|
23
|
+
let settled = false;
|
|
24
|
+
if (window.innerWidth > viewportWidth) {
|
|
25
|
+
root.style.scrollbarGutter = "stable";
|
|
26
|
+
heldGutter = true;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
settle() {
|
|
30
|
+
if (settled) return;
|
|
31
|
+
settled = true;
|
|
32
|
+
const grew = element.getBoundingClientRect().width - widthBefore;
|
|
33
|
+
if (grew <= 0) return;
|
|
34
|
+
const existing = Number.parseFloat(window.getComputedStyle(element).paddingRight) || 0;
|
|
35
|
+
element.style.paddingRight = `${existing + grew}px`;
|
|
36
|
+
padded = true;
|
|
37
|
+
},
|
|
38
|
+
release() {
|
|
39
|
+
if (padded) {
|
|
40
|
+
element.style.paddingRight = previousPadding;
|
|
41
|
+
padded = false;
|
|
42
|
+
}
|
|
43
|
+
if (heldGutter) {
|
|
44
|
+
root.style.scrollbarGutter = previousGutter;
|
|
45
|
+
heldGutter = false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/composables/internal/scrollLock.ts
|
|
52
|
+
/**
|
|
53
|
+
* 对应原版 Astryx 的 `hooks/useScrollLock`。
|
|
54
|
+
*
|
|
55
|
+
* 按引用计数锁住 body 滚动:里层关掉时,外层还开着就不会把页面放开。
|
|
56
|
+
* 锁的时候藏掉 body 的滚动,同时给滚动条留住位置,页面不会左右跳一下。
|
|
57
|
+
*
|
|
58
|
+
* 原版用 `position: fixed` 把页面钉住,再在放开时 `scrollTo` 回去,因为 iOS Safari
|
|
59
|
+
* 不认 `overscroll-behavior`。这边不这么做:打开浮层时滚动位置留在原地,body 的
|
|
60
|
+
* `position` 也不改。钉住 body 会让页面里的 `position: fixed` 改参照,放开时的
|
|
61
|
+
* `scrollTo` 也会在画完一帧之后才把页面拽回去。iOS 上背景仍可能被带着滚,这是这套锁的边界。
|
|
62
|
+
*/
|
|
63
|
+
let depth = 0;
|
|
64
|
+
let saved = null;
|
|
65
|
+
function useScrollLock(isLocked) {
|
|
66
|
+
let held = false;
|
|
67
|
+
function acquire() {
|
|
68
|
+
if (held || typeof document === "undefined") return;
|
|
69
|
+
if (depth === 0) {
|
|
70
|
+
const body = document.body;
|
|
71
|
+
const gutter = holdScrollbarGutter(body);
|
|
72
|
+
saved = {
|
|
73
|
+
overflow: body.style.overflow,
|
|
74
|
+
gutter
|
|
75
|
+
};
|
|
76
|
+
body.style.overflow = "hidden";
|
|
77
|
+
gutter.settle();
|
|
78
|
+
}
|
|
79
|
+
depth += 1;
|
|
80
|
+
held = true;
|
|
81
|
+
}
|
|
82
|
+
function release() {
|
|
83
|
+
if (!held) return;
|
|
84
|
+
held = false;
|
|
85
|
+
depth -= 1;
|
|
86
|
+
if (depth === 0 && saved != null) {
|
|
87
|
+
if (typeof document !== "undefined") document.body.style.overflow = saved.overflow;
|
|
88
|
+
saved.gutter.release();
|
|
89
|
+
saved = null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
watch(isLocked, (locked) => {
|
|
93
|
+
if (locked) acquire();
|
|
94
|
+
else release();
|
|
95
|
+
}, {
|
|
96
|
+
flush: "sync",
|
|
97
|
+
immediate: true
|
|
98
|
+
});
|
|
99
|
+
onScopeDispose(release);
|
|
100
|
+
}
|
|
101
|
+
//#endregion
|
|
102
|
+
export { useScrollLock as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as useButtonTooltip } from "./Button-
|
|
2
|
-
import { t as _sfc_main$1 } from "./ButtonTooltip-
|
|
3
|
-
import {
|
|
4
|
-
import { t as _sfc_main$2 } from "./Icon-
|
|
1
|
+
import { n as useButtonTooltip } from "./Button-ONOoHdkg.js";
|
|
2
|
+
import { t as _sfc_main$1 } from "./ButtonTooltip-CNKOQHYR.js";
|
|
3
|
+
import { s as useAstryxMessages } from "./context-DWfi56sq.js";
|
|
4
|
+
import { t as _sfc_main$2 } from "./Icon-KDnUyY7f.js";
|
|
5
5
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, unref, useId, useTemplateRef, withModifiers } from "vue";
|
|
6
6
|
//#region src/Field/StatusGlyph.vue
|
|
7
7
|
const _hoisted_1 = ["data-status", "aria-label"];
|
|
@@ -68,15 +68,6 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
//#endregion
|
|
71
|
-
//#region src/Field/statusPlacement.ts
|
|
72
|
-
/**
|
|
73
|
-
* Ghost selectors detach an attached status message so the toolbar stays one line.
|
|
74
|
-
* Tooltip and an explicit detached placement stay as given.
|
|
75
|
-
*/
|
|
76
|
-
function fieldStatusPlacement(variant, statusVariant) {
|
|
77
|
-
return variant === "ghost" && statusVariant === "attached" ? "detached" : statusVariant;
|
|
78
|
-
}
|
|
79
|
-
//#endregion
|
|
80
71
|
//#region src/Selector/searchResultMessage.ts
|
|
81
72
|
/**
|
|
82
73
|
* 面板打开时要说的那句话。
|
|
@@ -91,4 +82,4 @@ function searchResultMessage(input) {
|
|
|
91
82
|
return input.resultCount(input.matchCount + (input.hasCreateRow ? 1 : 0));
|
|
92
83
|
}
|
|
93
84
|
//#endregion
|
|
94
|
-
export {
|
|
85
|
+
export { _sfc_main as n, searchResultMessage as t };
|
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
*
|
|
9
9
|
* The drawing is used only after that collection is registered. Until then
|
|
10
10
|
* the built-in glyph stays, so a missing collection does not blank the icon.
|
|
11
|
+
*
|
|
12
|
+
* `upload` is its own name, not `arrowUp`: a theme can redraw the upload
|
|
13
|
+
* affordance without changing sort arrows or the send button.
|
|
11
14
|
*/
|
|
12
15
|
declare const defaultSemanticIcons: {
|
|
13
16
|
readonly close: "lucide:x";
|
|
@@ -45,9 +48,9 @@ type SemanticIconMap = Readonly<Record<string, string>>;
|
|
|
45
48
|
/**
|
|
46
49
|
* The Iconify id for a semantic name.
|
|
47
50
|
*
|
|
48
|
-
* Theme entries win, including keys the package does not ship
|
|
49
|
-
* name with no theme entry
|
|
50
|
-
* through `icon`.
|
|
51
|
+
* Theme entries win, including keys the package does not ship, such as a
|
|
52
|
+
* namespaced `numberInput:stepperDown`. An unknown name with no theme entry
|
|
53
|
+
* returns undefined, so a CSS class can still pass through `icon`.
|
|
51
54
|
*/
|
|
52
55
|
declare function resolveSemanticIcon(name: string | undefined, icons?: SemanticIconMap): string | undefined;
|
|
53
56
|
//#endregion
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/Markdown/ast.ts
|
|
2
|
+
function isMarkdownExtensionNode(node, plugin, name) {
|
|
3
|
+
if (node.type !== "extension" || node.plugin == null || node.name == null) return false;
|
|
4
|
+
if (plugin != null && node.plugin !== plugin) return false;
|
|
5
|
+
if (name != null && node.name !== name) return false;
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
function plainText(node) {
|
|
9
|
+
if (node.type === "text" || node.type === "inlineCode" || node.type === "code" || node.type === "html") return node.value ?? "";
|
|
10
|
+
if (node.type === "image" || node.type === "imageReference") return node.alt ?? node.label ?? "";
|
|
11
|
+
if (node.type === "footnoteReference") return node.label ?? node.identifier ?? "";
|
|
12
|
+
if (node.type === "break") return "\n";
|
|
13
|
+
return (node.children ?? []).map((child) => plainText(child)).join("");
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/Markdown/slug.ts
|
|
17
|
+
/** URL slug for a heading. Letters and numbers from any language are kept. */
|
|
18
|
+
function slugify(value) {
|
|
19
|
+
return value.trim().toLowerCase().replace(/['"]/g, "").replace(/[^\p{Letter}\p{Number}]+/gu, "-").replace(/^-+|-+$/g, "");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* `setup`, then `setup-1`, then `setup-2`. An empty slug becomes `section`.
|
|
23
|
+
* One map covers a whole document.
|
|
24
|
+
*/
|
|
25
|
+
function uniqueSlug(baseSlug, counts) {
|
|
26
|
+
const slug = baseSlug === "" ? "section" : baseSlug;
|
|
27
|
+
const seen = counts.get(slug) ?? 0;
|
|
28
|
+
counts.set(slug, seen + 1);
|
|
29
|
+
return seen === 0 ? slug : `${slug}-${seen}`;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { plainText as i, uniqueSlug as n, isMarkdownExtensionNode as r, slugify as t };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/Field/statusPlacement.ts
|
|
2
|
+
/**
|
|
3
|
+
* 次要和幽灵触发器把贴在控件下的状态说明挪开,避免把工具栏撑高。
|
|
4
|
+
* tooltip 和已经写明的 detached 保持原样。
|
|
5
|
+
*/
|
|
6
|
+
function fieldStatusPlacement(variant, statusVariant) {
|
|
7
|
+
return (variant === "ghost" || variant === "secondary") && statusVariant === "attached" ? "detached" : statusVariant;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/selectors/triggerVariant.ts
|
|
11
|
+
function normalizeTriggerVariant(value) {
|
|
12
|
+
if (value === "secondary" || value === "ghost") return value;
|
|
13
|
+
return "input";
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { fieldStatusPlacement as n, normalizeTriggerVariant as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as IconName } from "./types-
|
|
1
|
+
import { r as IconName } from "./types-C5GQ2KCK.js";
|
|
2
2
|
import { Component, VNode } from "vue";
|
|
3
3
|
//#region src/Field/types.d.ts
|
|
4
4
|
type FieldStatusType = 'error' | 'warning' | 'success';
|
|
@@ -24,6 +24,11 @@ interface FieldLabelProps {
|
|
|
24
24
|
labelTooltip?: string;
|
|
25
25
|
optionalLabel?: string;
|
|
26
26
|
requiredLabel?: string;
|
|
27
|
+
/**
|
|
28
|
+
* 额外的主题目标 class,加在字段标签上,和 `astryx-field-label` 同时存在。
|
|
29
|
+
* 复选框用 `astryx-checkbox-label`,开关用 `astryx-switch-label`。
|
|
30
|
+
*/
|
|
31
|
+
targetClass?: string;
|
|
27
32
|
}
|
|
28
33
|
interface FieldProps extends FieldLabelProps {
|
|
29
34
|
status?: FieldStatusInput;
|
|
@@ -37,12 +37,32 @@ type IconColor = Extract<keyof IconColorMap, string>;
|
|
|
37
37
|
*/
|
|
38
38
|
type IconName = 'close' | 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'chevronsLeft' | 'chevronsRight' | 'check' | 'success' | 'error' | 'warning' | 'info' | 'calendar' | 'clock' | 'externalLink' | 'menu' | 'moreHorizontal' | 'search' | 'upload' | 'arrowUp' | 'arrowDown' | 'arrowsUpDown' | 'funnel' | 'eyeSlash' | 'viewColumns' | 'copy' | 'checkDouble' | 'wrench' | 'stop' | 'microphone' | 'image';
|
|
39
39
|
/**
|
|
40
|
-
* A
|
|
40
|
+
* A key owned by one component or library, written `<owner>:<role>`, such as
|
|
41
|
+
* `numberInput:stepperDown` or `richtext:bold`.
|
|
42
|
+
*
|
|
43
|
+
* A glyph that only one component draws gets one of these instead of a new
|
|
44
|
+
* shared {@link IconName}, so adding it never makes a complete
|
|
45
|
+
* {@link IconRegistry} grow a required entry. A theme points the key at an
|
|
46
|
+
* Iconify id through `defineTheme({ icons })`, the same way it maps a shared
|
|
47
|
+
* name. A component can also ship built-in artwork for its key by listing it in
|
|
48
|
+
* `ICON_GLYPHS`.
|
|
49
|
+
*/
|
|
50
|
+
type NamespacedIconName = `${string}:${string}`;
|
|
51
|
+
/**
|
|
52
|
+
* A complete semantic icon map: an Iconify id for every shared name.
|
|
53
|
+
*
|
|
54
|
+
* `defaultSemanticIcons` is one. A theme's `icons` only lists the names it
|
|
55
|
+
* changes, so it is a partial map; a registry that claims to be complete must
|
|
56
|
+
* draw every shared name, including `upload`.
|
|
57
|
+
*/
|
|
58
|
+
type IconRegistry = Readonly<Record<IconName, string>>;
|
|
59
|
+
/**
|
|
60
|
+
* A built-in name, a namespaced component key, or any other string.
|
|
41
61
|
*
|
|
42
62
|
* The `(string & {})` intersection keeps the built-in names available for
|
|
43
63
|
* autocomplete while allowing keys contributed by a component or application.
|
|
44
64
|
*/
|
|
45
|
-
type ExtendedIconName = IconName | (string & {});
|
|
65
|
+
type ExtendedIconName = IconName | NamespacedIconName | (string & {});
|
|
46
66
|
interface IconProps {
|
|
47
67
|
/**
|
|
48
68
|
* Iconify icon to draw, as `collection:icon`.
|
|
@@ -112,4 +132,4 @@ interface IconSlots {
|
|
|
112
132
|
default?: () => VNodeChild;
|
|
113
133
|
}
|
|
114
134
|
//#endregion
|
|
115
|
-
export {
|
|
135
|
+
export { IconRegistry as a, NamespacedIconName as c, IconProps as i, IconColor as n, IconSize as o, IconName as r, IconSlots as s, ExtendedIconName as t };
|