code-monkey-ui 1.2.0-alpha.2 → 10.0.0-alpha.1
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/es/components/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +36 -96
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +96 -36
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/badge/index.mjs +2 -2
- package/es/components/badge/src/badge.mjs +32 -71
- package/es/components/badge/src/badge.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs +71 -32
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +4 -4
- package/es/components/breadcrumb/src/breadcrumb-item.mjs +9 -57
- package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +57 -9
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.mjs +38 -11
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb2.mjs +11 -38
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +57 -77
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +77 -57
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/card/index.mjs +2 -2
- package/es/components/card/src/card.mjs +43 -21
- package/es/components/card/src/card.mjs.map +1 -1
- package/es/components/card/src/card2.mjs +21 -43
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/carousel/index.mjs +2 -2
- package/es/components/carousel/src/carousel.mjs +62 -205
- package/es/components/carousel/src/carousel.mjs.map +1 -1
- package/es/components/carousel/src/carousel2.mjs +205 -62
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/cascader/index.mjs +2 -2
- package/es/components/cascader/src/cascader.mjs +83 -628
- package/es/components/cascader/src/cascader.mjs.map +1 -1
- package/es/components/cascader/src/cascader2.mjs +628 -83
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/menu.mjs +1 -1
- package/es/components/cascader-panel/src/node.mjs +207 -116
- package/es/components/cascader-panel/src/node.mjs.map +1 -1
- package/es/components/cascader-panel/src/node2.mjs +116 -207
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +1 -1
- package/es/components/collapse/index.mjs +4 -4
- package/es/components/collapse/src/collapse-item.mjs +19 -90
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item2.mjs +90 -19
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/collapse/src/collapse.mjs +28 -18
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse/src/collapse2.mjs +18 -28
- package/es/components/collapse/src/collapse2.mjs.map +1 -1
- package/es/components/collection/index.mjs +1 -1
- package/es/components/collection/src/collection.mjs +62 -10
- package/es/components/collection/src/collection.mjs.map +1 -1
- package/es/components/collection/src/collection2.mjs +10 -62
- package/es/components/collection/src/collection2.mjs.map +1 -1
- package/es/components/divider/index.mjs +2 -2
- package/es/components/divider/src/divider.mjs +35 -17
- package/es/components/divider/src/divider.mjs.map +1 -1
- package/es/components/divider/src/divider2.mjs +17 -35
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/dropdown/index.mjs +2 -2
- package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
- package/es/components/dropdown/src/dropdown-item.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown.mjs +304 -94
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +94 -304
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/dsh-cascader/index.mjs +2 -2
- package/es/components/dsh-cascader/src/dsh-cascader.mjs +87 -723
- package/es/components/dsh-cascader/src/dsh-cascader.mjs.map +1 -1
- package/es/components/dsh-cascader/src/dsh-cascader2.mjs +723 -87
- package/es/components/dsh-cascader/src/dsh-cascader2.mjs.map +1 -1
- package/es/components/dsh-cascader-panel/src/index.mjs +1 -1
- package/es/components/dsh-cascader-panel/src/menu.mjs +1 -1
- package/es/components/dsh-cascader-panel/src/node.mjs +227 -115
- package/es/components/dsh-cascader-panel/src/node.mjs.map +1 -1
- package/es/components/dsh-cascader-panel/src/node2.mjs +115 -227
- package/es/components/dsh-cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/dsh-cascader-panel/src/store.mjs +1 -1
- package/es/components/dshIndex.mjs +1 -1
- package/es/components/form/index.mjs +4 -4
- package/es/components/form/src/form-item.mjs +321 -48
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form-item2.mjs +48 -321
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/form/src/form.mjs +153 -54
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form2.mjs +54 -153
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/src/icon.mjs +8 -36
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs +36 -8
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/index.mjs +41 -41
- package/es/components/link/index.mjs +2 -2
- package/es/components/link/src/link.mjs +50 -25
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link2.mjs +25 -50
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/mention/index.mjs +2 -2
- package/es/components/mention/src/mention-dropdown.mjs +15 -167
- package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown2.mjs +167 -15
- package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
- package/es/components/mention/src/mention.mjs +64 -277
- package/es/components/mention/src/mention.mjs.map +1 -1
- package/es/components/mention/src/mention2.mjs +277 -64
- package/es/components/mention/src/mention2.mjs.map +1 -1
- package/es/components/menu/index.mjs +2 -2
- package/es/components/menu/src/menu-item-group.mjs +35 -4
- package/es/components/menu/src/menu-item-group.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group2.mjs +4 -35
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.mjs +36 -18
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/prev2.mjs +18 -36
- package/es/components/pagination/src/components/prev2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/popover/src/popover.mjs +2 -2
- package/es/components/popper/index.mjs +4 -4
- package/es/components/popper/src/popper.mjs +25 -32
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs +32 -25
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +31 -129
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs +129 -31
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/progress/index.mjs +2 -2
- package/es/components/progress/src/progress.mjs +208 -53
- package/es/components/progress/src/progress.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +53 -208
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/radio/index.mjs +4 -4
- package/es/components/radio/src/radio-button.mjs +6 -66
- package/es/components/radio/src/radio-button.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs +66 -6
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/radio/src/radio-group.mjs +68 -35
- package/es/components/radio/src/radio-group.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs +35 -68
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group.mjs +1 -1
- package/es/components/scrollbar/index.mjs +3 -3
- package/es/components/scrollbar/src/bar.mjs +64 -11
- package/es/components/scrollbar/src/bar.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs +11 -64
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.mjs +169 -55
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +55 -169
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb.mjs +130 -11
- package/es/components/scrollbar/src/thumb.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs +11 -130
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/segmented/index.mjs +2 -2
- package/es/components/segmented/src/segmented.mjs +30 -158
- package/es/components/segmented/src/segmented.mjs.map +1 -1
- package/es/components/segmented/src/segmented2.mjs +158 -30
- package/es/components/segmented/src/segmented2.mjs.map +1 -1
- package/es/components/select/index.mjs +1 -1
- package/es/components/select/src/select.mjs +411 -103
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select2.mjs +103 -411
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/skeleton/index.mjs +4 -4
- package/es/components/skeleton/src/skeleton-item.mjs +23 -18
- package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs +18 -23
- package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton.mjs +49 -22
- package/es/components/skeleton/src/skeleton.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs +22 -49
- package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
- package/es/components/slider/index.mjs +2 -2
- package/es/components/slider/src/slider.mjs +90 -240
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs +240 -90
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/steps/index.mjs +4 -4
- package/es/components/steps/src/item.mjs +19 -191
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/steps/src/item2.mjs +191 -19
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/steps/src/steps.mjs +36 -39
- package/es/components/steps/src/steps.mjs.map +1 -1
- package/es/components/steps/src/steps2.mjs +39 -36
- package/es/components/steps/src/steps2.mjs.map +1 -1
- package/es/components/switch/index.mjs +2 -2
- package/es/components/switch/src/switch.mjs +229 -72
- package/es/components/switch/src/switch.mjs.map +1 -1
- package/es/components/switch/src/switch2.mjs +72 -229
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/teleport/index.mjs +2 -2
- package/es/components/teleport/src/teleport.mjs +18 -9
- package/es/components/teleport/src/teleport.mjs.map +1 -1
- package/es/components/teleport/src/teleport2.mjs +9 -18
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/text/index.mjs +2 -2
- package/es/components/text/src/text.mjs +38 -22
- package/es/components/text/src/text.mjs.map +1 -1
- package/es/components/text/src/text2.mjs +22 -38
- package/es/components/text/src/text2.mjs.map +1 -1
- package/es/components/timeline/index.mjs +2 -2
- package/es/components/timeline/src/timeline-item.mjs +34 -73
- package/es/components/timeline/src/timeline-item.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs +73 -34
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/index.mjs +3 -3
- package/es/components/tooltip/src/tooltip.mjs +31 -168
- package/es/components/tooltip/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +168 -31
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.mjs +16 -73
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/tooltip/src/trigger2.mjs +73 -16
- package/es/components/tooltip/src/trigger2.mjs.map +1 -1
- package/es/components/tooltip-v2/index.mjs +4 -4
- package/es/components/tooltip-v2/src/content.mjs +49 -111
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +111 -49
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +78 -21
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +21 -78
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger.mjs +12 -89
- package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
- package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
- package/es/components/tour/index.mjs +1 -1
- package/es/components/tour/src/content.mjs +44 -68
- package/es/components/tour/src/content.mjs.map +1 -1
- package/es/components/tour/src/content2.mjs +68 -44
- package/es/components/tour/src/content2.mjs.map +1 -1
- package/es/components/tour/src/step.mjs +1 -1
- package/es/components/tour/src/tour.mjs +1 -1
- package/es/components/tour/src/tour2.mjs +1 -1
- package/es/components/transfer/index.mjs +2 -2
- package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
- package/es/components/transfer/src/transfer-panel2.mjs +1 -1
- package/es/components/transfer/src/transfer.mjs +69 -158
- package/es/components/transfer/src/transfer.mjs.map +1 -1
- package/es/components/transfer/src/transfer2.mjs +158 -69
- package/es/components/transfer/src/transfer2.mjs.map +1 -1
- package/es/components/upload/index.mjs +3 -3
- package/es/components/upload/src/upload-content.mjs +33 -198
- package/es/components/upload/src/upload-content.mjs.map +1 -1
- package/es/components/upload/src/upload-content2.mjs +198 -33
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/upload/src/upload-list.mjs +1 -1
- package/es/components/upload/src/upload.mjs +126 -98
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs +98 -126
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/components/upload/src/use-handlers.mjs +1 -1
- package/es/components/visual-hidden/index.mjs +3 -3
- package/es/components/visual-hidden/src/visual-hidden.mjs +35 -7
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden2.mjs +7 -35
- package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
- package/es/index.mjs +42 -42
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +37 -95
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +95 -37
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/badge/index.js +2 -2
- package/lib/components/badge/src/badge.js +32 -71
- package/lib/components/badge/src/badge.js.map +1 -1
- package/lib/components/badge/src/badge2.js +71 -32
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +4 -4
- package/lib/components/breadcrumb/src/breadcrumb-item.js +9 -57
- package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +57 -9
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.js +38 -11
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb2.js +11 -38
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +60 -77
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +77 -60
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/card/index.js +2 -2
- package/lib/components/card/src/card.js +43 -21
- package/lib/components/card/src/card.js.map +1 -1
- package/lib/components/card/src/card2.js +21 -43
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/carousel/index.js +2 -2
- package/lib/components/carousel/src/carousel.js +63 -205
- package/lib/components/carousel/src/carousel.js.map +1 -1
- package/lib/components/carousel/src/carousel2.js +205 -63
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/cascader/index.js +2 -2
- package/lib/components/cascader/src/cascader.js +84 -628
- package/lib/components/cascader/src/cascader.js.map +1 -1
- package/lib/components/cascader/src/cascader2.js +628 -84
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/menu.js +1 -1
- package/lib/components/cascader-panel/src/node.js +207 -116
- package/lib/components/cascader-panel/src/node.js.map +1 -1
- package/lib/components/cascader-panel/src/node2.js +116 -207
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +1 -1
- package/lib/components/collapse/index.js +4 -4
- package/lib/components/collapse/src/collapse-item.js +19 -90
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/collapse/src/collapse-item2.js +90 -19
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/collapse/src/collapse.js +28 -20
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse/src/collapse2.js +20 -28
- package/lib/components/collapse/src/collapse2.js.map +1 -1
- package/lib/components/collection/index.js +1 -1
- package/lib/components/collection/src/collection.js +62 -9
- package/lib/components/collection/src/collection.js.map +1 -1
- package/lib/components/collection/src/collection2.js +9 -62
- package/lib/components/collection/src/collection2.js.map +1 -1
- package/lib/components/divider/index.js +2 -2
- package/lib/components/divider/src/divider.js +35 -17
- package/lib/components/divider/src/divider.js.map +1 -1
- package/lib/components/divider/src/divider2.js +17 -35
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/dropdown/index.js +2 -2
- package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
- package/lib/components/dropdown/src/dropdown-item.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown.js +304 -103
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js +103 -304
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/dsh-cascader/index.js +2 -2
- package/lib/components/dsh-cascader/src/dsh-cascader.js +88 -723
- package/lib/components/dsh-cascader/src/dsh-cascader.js.map +1 -1
- package/lib/components/dsh-cascader/src/dsh-cascader2.js +723 -88
- package/lib/components/dsh-cascader/src/dsh-cascader2.js.map +1 -1
- package/lib/components/dsh-cascader-panel/src/index.js +1 -1
- package/lib/components/dsh-cascader-panel/src/menu.js +1 -1
- package/lib/components/dsh-cascader-panel/src/node.js +227 -115
- package/lib/components/dsh-cascader-panel/src/node.js.map +1 -1
- package/lib/components/dsh-cascader-panel/src/node2.js +115 -227
- package/lib/components/dsh-cascader-panel/src/node2.js.map +1 -1
- package/lib/components/dsh-cascader-panel/src/store.js +1 -1
- package/lib/components/dshIndex.js +1 -1
- package/lib/components/form/index.js +4 -4
- package/lib/components/form/src/form-item.js +325 -49
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form-item2.js +49 -325
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/form/src/form.js +152 -55
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form2.js +55 -152
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/src/icon.js +8 -36
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon2.js +36 -8
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/index.js +41 -41
- package/lib/components/link/index.js +2 -2
- package/lib/components/link/src/link.js +50 -26
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link2.js +26 -50
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/mention/index.js +2 -2
- package/lib/components/mention/src/mention-dropdown.js +16 -167
- package/lib/components/mention/src/mention-dropdown.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown2.js +167 -16
- package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
- package/lib/components/mention/src/mention.js +63 -275
- package/lib/components/mention/src/mention.js.map +1 -1
- package/lib/components/mention/src/mention2.js +275 -63
- package/lib/components/mention/src/mention2.js.map +1 -1
- package/lib/components/menu/index.js +2 -2
- package/lib/components/menu/src/menu-item-group.js +35 -4
- package/lib/components/menu/src/menu-item-group.js.map +1 -1
- package/lib/components/menu/src/menu-item-group2.js +4 -35
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/pagination/src/components/prev.js +36 -19
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/prev2.js +19 -36
- package/lib/components/pagination/src/components/prev2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/popover/src/popover.js +2 -2
- package/lib/components/popper/index.js +4 -4
- package/lib/components/popper/src/popper.js +28 -32
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/popper/src/popper2.js +32 -28
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/popper/src/trigger.js +32 -129
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/popper/src/trigger2.js +129 -32
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/progress/index.js +2 -2
- package/lib/components/progress/src/progress.js +208 -53
- package/lib/components/progress/src/progress.js.map +1 -1
- package/lib/components/progress/src/progress2.js +53 -208
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/radio/index.js +4 -4
- package/lib/components/radio/src/radio-button.js +6 -66
- package/lib/components/radio/src/radio-button.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js +66 -6
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/radio/src/radio-group.js +68 -36
- package/lib/components/radio/src/radio-group.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js +36 -68
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group.js +1 -1
- package/lib/components/scrollbar/index.js +3 -3
- package/lib/components/scrollbar/src/bar.js +64 -11
- package/lib/components/scrollbar/src/bar.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js +11 -64
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.js +169 -56
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +56 -169
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/scrollbar/src/thumb.js +130 -11
- package/lib/components/scrollbar/src/thumb.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js +11 -130
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/segmented/index.js +2 -2
- package/lib/components/segmented/src/segmented.js +30 -157
- package/lib/components/segmented/src/segmented.js.map +1 -1
- package/lib/components/segmented/src/segmented2.js +157 -30
- package/lib/components/segmented/src/segmented2.js.map +1 -1
- package/lib/components/select/index.js +1 -1
- package/lib/components/select/src/select.js +411 -103
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select2.js +103 -411
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/skeleton/index.js +4 -4
- package/lib/components/skeleton/src/skeleton-item.js +23 -18
- package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js +18 -23
- package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton.js +49 -22
- package/lib/components/skeleton/src/skeleton.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js +22 -49
- package/lib/components/skeleton/src/skeleton2.js.map +1 -1
- package/lib/components/slider/index.js +2 -2
- package/lib/components/slider/src/slider.js +91 -240
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider2.js +240 -91
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/steps/index.js +4 -4
- package/lib/components/steps/src/item.js +19 -191
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/steps/src/item2.js +191 -19
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/steps/src/steps.js +37 -39
- package/lib/components/steps/src/steps.js.map +1 -1
- package/lib/components/steps/src/steps2.js +39 -37
- package/lib/components/steps/src/steps2.js.map +1 -1
- package/lib/components/switch/index.js +2 -2
- package/lib/components/switch/src/switch.js +228 -72
- package/lib/components/switch/src/switch.js.map +1 -1
- package/lib/components/switch/src/switch2.js +72 -228
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/teleport/index.js +2 -2
- package/lib/components/teleport/src/teleport.js +18 -9
- package/lib/components/teleport/src/teleport.js.map +1 -1
- package/lib/components/teleport/src/teleport2.js +9 -18
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/text/index.js +2 -2
- package/lib/components/text/src/text.js +38 -22
- package/lib/components/text/src/text.js.map +1 -1
- package/lib/components/text/src/text2.js +22 -38
- package/lib/components/text/src/text2.js.map +1 -1
- package/lib/components/timeline/index.js +2 -2
- package/lib/components/timeline/src/timeline-item.js +34 -73
- package/lib/components/timeline/src/timeline-item.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js +73 -34
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/index.js +3 -3
- package/lib/components/tooltip/src/tooltip.js +34 -167
- package/lib/components/tooltip/src/tooltip.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +167 -34
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.js +16 -73
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/tooltip/src/trigger2.js +73 -16
- package/lib/components/tooltip/src/trigger2.js.map +1 -1
- package/lib/components/tooltip-v2/index.js +4 -4
- package/lib/components/tooltip-v2/src/content.js +49 -111
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +111 -49
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +78 -21
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +21 -78
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger.js +12 -89
- package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger2.js +89 -12
- package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
- package/lib/components/tour/index.js +1 -1
- package/lib/components/tour/src/content.js +47 -68
- package/lib/components/tour/src/content.js.map +1 -1
- package/lib/components/tour/src/content2.js +68 -47
- package/lib/components/tour/src/content2.js.map +1 -1
- package/lib/components/tour/src/step.js +1 -1
- package/lib/components/tour/src/tour.js +1 -1
- package/lib/components/tour/src/tour2.js +1 -1
- package/lib/components/transfer/index.js +2 -2
- package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
- package/lib/components/transfer/src/transfer-panel2.js +1 -1
- package/lib/components/transfer/src/transfer.js +73 -158
- package/lib/components/transfer/src/transfer.js.map +1 -1
- package/lib/components/transfer/src/transfer2.js +158 -73
- package/lib/components/transfer/src/transfer2.js.map +1 -1
- package/lib/components/upload/index.js +3 -3
- package/lib/components/upload/src/upload-content.js +32 -197
- package/lib/components/upload/src/upload-content.js.map +1 -1
- package/lib/components/upload/src/upload-content2.js +197 -32
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/upload/src/upload-list.js +1 -1
- package/lib/components/upload/src/upload.js +126 -101
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload2.js +101 -126
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/components/upload/src/use-handlers.js +1 -1
- package/lib/components/visual-hidden/index.js +2 -2
- package/lib/components/visual-hidden/src/visual-hidden.js +35 -7
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden2.js +7 -35
- package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
- package/lib/index.js +42 -42
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention.js","sources":["../../../../../../packages/components/mention/src/mention.vue"],"sourcesContent":["<template>\n <div ref=\"wrapperRef\" :class=\"ns.b()\">\n <el-input\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n ref=\"elInputRef\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n :role=\"dropdownVisible ? 'combobox' : undefined\"\n :aria-activedescendant=\"dropdownVisible ? hoveringId || '' : undefined\"\n :aria-controls=\"dropdownVisible ? contentId : undefined\"\n :aria-expanded=\"dropdownVisible || undefined\"\n :aria-label=\"ariaLabel\"\n :aria-autocomplete=\"dropdownVisible ? 'none' : undefined\"\n :aria-haspopup=\"dropdownVisible ? 'listbox' : undefined\"\n @input=\"handleInputChange\"\n @keydown=\"handleInputKeyDown\"\n @mousedown=\"handleInputMouseDown\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </el-input>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownVisible\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :popper-options=\"popperOptions\"\n :placement=\"computedPlacement\"\n :fallback-placements=\"computedFallbackPlacements\"\n effect=\"light\"\n pure\n :offset=\"offset\"\n :show-arrow=\"showArrow\"\n >\n <template #default>\n <div :style=\"cursorStyle\" />\n </template>\n <template #content>\n <el-mention-dropdown\n ref=\"dropdownRef\"\n :options=\"filteredOptions\"\n :disabled=\"disabled\"\n :loading=\"loading\"\n :content-id=\"contentId\"\n :aria-label=\"ariaLabel\"\n @select=\"handleSelect\"\n @click.stop=\"elInputRef?.focus\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </el-mention-dropdown>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, mergeProps, nextTick, ref } from 'vue'\nimport { pick } from 'lodash-unified'\nimport { useFocusController, useId, useNamespace } from '@code-monkey-ui/hooks'\nimport ElInput, { inputProps } from '@code-monkey-ui/components/input'\nimport ElTooltip from '@code-monkey-ui/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@code-monkey-ui/constants'\nimport { useFormDisabled } from '@code-monkey-ui/components/form'\nimport { isFunction } from '@code-monkey-ui/utils'\nimport { mentionEmits, mentionProps } from './mention'\nimport { getCursorPosition, getMentionCtx } from './helper'\nimport ElMentionDropdown from './mention-dropdown.vue'\n\nimport type { Placement } from '@popperjs/core'\nimport type { CSSProperties } from 'vue'\nimport type { InputInstance } from '@code-monkey-ui/components/input'\nimport type { TooltipInstance } from '@code-monkey-ui/components/tooltip'\nimport type { MentionCtx, MentionOption } from './types'\n\ndefineOptions({\n name: 'ElMention',\n})\n\nconst props = defineProps(mentionProps)\nconst emit = defineEmits(mentionEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst ns = useNamespace('mention')\nconst disabled = useFormDisabled()\nconst contentId = useId()\n\nconst elInputRef = ref<InputInstance>()\nconst tooltipRef = ref<TooltipInstance>()\nconst dropdownRef = ref<InstanceType<typeof ElMentionDropdown>>()\n\nconst visible = ref(false)\nconst cursorStyle = ref<CSSProperties>()\nconst mentionCtx = ref<MentionCtx>()\n\nconst computedPlacement = computed<Placement>(() =>\n props.showArrow ? props.placement : `${props.placement}-start`\n)\n\nconst computedFallbackPlacements = computed<Placement[]>(() =>\n props.showArrow ? ['bottom', 'top'] : ['bottom-start', 'top-start']\n)\n\nconst filteredOptions = computed(() => {\n const { filterOption, options } = props\n if (!mentionCtx.value || !filterOption) return options\n return options.filter((option) =>\n filterOption(mentionCtx.value!.pattern, option)\n )\n})\n\nconst dropdownVisible = computed(() => {\n return visible.value && (!!filteredOptions.value.length || props.loading)\n})\n\nconst hoveringId = computed(() => {\n return `${contentId.value}-${dropdownRef.value?.hoveringIndex}`\n})\n\nconst handleInputChange = (value: string) => {\n emit('update:modelValue', value)\n syncAfterCursorMove()\n}\n\nconst handleInputKeyDown = (e: KeyboardEvent | Event) => {\n if (!('key' in e)) return\n if (elInputRef.value?.isComposing) return\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n syncAfterCursorMove()\n } else if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n if (!visible.value) return\n e.preventDefault()\n const direction = e.key === 'ArrowUp' ? 'prev' : 'next'\n dropdownRef.value?.navigateOptions(direction)\n } else if (['Enter'].includes(e.key)) {\n if (!visible.value) return\n e.preventDefault()\n if (dropdownRef.value?.hoverOption) {\n dropdownRef.value?.selectHoverOption()\n } else {\n visible.value = false\n }\n } else if (['Escape'].includes(e.key)) {\n if (!visible.value) return\n e.preventDefault()\n visible.value = false\n } else if (['Backspace'].includes(e.key)) {\n if (props.whole && mentionCtx.value) {\n const { splitIndex, selectionEnd, pattern, prefixIndex, prefix } =\n mentionCtx.value\n const inputEl = getInputEl()\n if (!inputEl) return\n const inputValue = inputEl.value\n const matchOption = props.options.find((item) => item.value === pattern)\n const isWhole = isFunction(props.checkIsWhole)\n ? props.checkIsWhole(pattern, prefix)\n : matchOption\n if (isWhole && splitIndex !== -1 && splitIndex + 1 === selectionEnd) {\n e.preventDefault()\n const newValue =\n inputValue.slice(0, prefixIndex) + inputValue.slice(splitIndex + 1)\n emit(UPDATE_MODEL_EVENT, newValue)\n\n const newSelectionEnd = prefixIndex\n nextTick(() => {\n // input value is updated\n inputEl.selectionStart = newSelectionEnd\n inputEl.selectionEnd = newSelectionEnd\n syncDropdownVisible()\n })\n }\n }\n }\n}\n\nconst { wrapperRef } = useFocusController(elInputRef, {\n beforeFocus() {\n return disabled.value\n },\n afterFocus() {\n syncAfterCursorMove()\n },\n beforeBlur(event) {\n return tooltipRef.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n visible.value = false\n },\n})\n\nconst handleInputMouseDown = () => {\n syncAfterCursorMove()\n}\n\nconst handleSelect = (item: MentionOption) => {\n if (!mentionCtx.value) return\n const inputEl = getInputEl()\n if (!inputEl) return\n const inputValue = inputEl.value\n const { split } = props\n\n const newEndPart = inputValue.slice(mentionCtx.value.end)\n const alreadySeparated = newEndPart.startsWith(split)\n const newMiddlePart = `${item.value}${alreadySeparated ? '' : split}`\n\n const newValue =\n inputValue.slice(0, mentionCtx.value.start) + newMiddlePart + newEndPart\n\n emit(UPDATE_MODEL_EVENT, newValue)\n emit('select', item, mentionCtx.value.prefix)\n\n const newSelectionEnd =\n mentionCtx.value.start + newMiddlePart.length + (alreadySeparated ? 1 : 0)\n\n nextTick(() => {\n // input value is updated\n inputEl.selectionStart = newSelectionEnd\n inputEl.selectionEnd = newSelectionEnd\n inputEl.focus()\n syncDropdownVisible()\n })\n}\n\nconst getInputEl = () =>\n props.type === 'textarea'\n ? elInputRef.value?.textarea\n : elInputRef.value?.input\n\nconst syncAfterCursorMove = () => {\n // can't use nextTick(), get cursor position will be wrong\n setTimeout(() => {\n syncCursor()\n syncDropdownVisible()\n nextTick(() => tooltipRef.value?.updatePopper())\n }, 0)\n}\n\nconst syncCursor = () => {\n const inputEl = getInputEl()\n if (!inputEl) return\n\n const caretPosition = getCursorPosition(inputEl)\n const inputRect = inputEl.getBoundingClientRect()\n const elInputRect = elInputRef.value!.$el.getBoundingClientRect()\n\n cursorStyle.value = {\n position: 'absolute',\n width: 0,\n height: `${caretPosition.height}px`,\n left: `${caretPosition.left + inputRect.left - elInputRect.left}px`,\n top: `${caretPosition.top + inputRect.top - elInputRect.top}px`,\n }\n}\n\nconst syncDropdownVisible = () => {\n const inputEl = getInputEl()\n if (document.activeElement !== inputEl) {\n visible.value = false\n return\n }\n const { prefix, split } = props\n mentionCtx.value = getMentionCtx(inputEl, prefix, split)\n if (mentionCtx.value && mentionCtx.value.splitIndex === -1) {\n visible.value = true\n emit('search', mentionCtx.value.pattern, mentionCtx.value.prefix)\n return\n }\n visible.value = false\n}\n\ndefineExpose({\n input: elInputRef,\n tooltip: tooltipRef,\n})\n</script>\n"],"names":["computed","pick","inputProps","useNamespace","useFormDisabled","useId","ref","isFunction","UPDATE_MODEL_EVENT","nextTick","useFocusController"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mention.js","sources":["../../../../../../packages/components/mention/src/mention.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isFunction,\n isString,\n} from '@code-monkey-ui/utils'\nimport { UPDATE_MODEL_EVENT } from '@code-monkey-ui/constants'\nimport { inputProps } from '@code-monkey-ui/components/input'\nimport { filterOption } from './helper'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Mention from './mention.vue'\nimport type { MentionOption } from './types'\nimport type { Options } from '@code-monkey-ui/components/popper'\n\nexport const mentionProps = buildProps({\n ...inputProps,\n /**\n * @description mention options list\n */\n options: {\n type: definePropType<MentionOption[]>(Array),\n default: () => [],\n },\n /**\n * @description prefix character to trigger mentions. The string length must be exactly 1.\n */\n prefix: {\n type: definePropType<string | string[]>([String, Array]),\n default: '@',\n validator: (val: string | string[]) => {\n if (isString(val)) return val.length === 1\n return val.every((v) => isString(v) && v.length === 1)\n },\n },\n /**\n * @description character to split mentions. The string length must be exactly 1.\n */\n split: {\n type: String,\n default: ' ',\n validator: (val: string) => val.length === 1,\n },\n /**\n * @description customize filter option logic.\n */\n filterOption: {\n type: definePropType<false | typeof filterOption>([Boolean, Function]),\n default: () => filterOption,\n validator: (val) => {\n if (val === false) return true\n return isFunction(val)\n },\n },\n /**\n * @description set popup placement\n */\n placement: {\n type: definePropType<'bottom' | 'top'>(String),\n default: 'bottom',\n },\n /**\n * @description whether the dropdown panel has an arrow\n */\n showArrow: Boolean,\n /**\n * @description offset of the dropdown panel\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description when backspace is pressed to delete, whether the mention content is deleted as a whole\n */\n whole: Boolean,\n /**\n * @description when backspace is pressed to delete, check if the mention is a whole\n */\n checkIsWhole: {\n type: definePropType<(pattern: string, prefix: string) => boolean>(\n Function\n ),\n },\n /**\n * @description input value\n */\n modelValue: String,\n /**\n * @description whether the dropdown panel of mentions is in a loading state.\n */\n loading: Boolean,\n /**\n * @description custom class name for dropdown panel\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({} as Partial<Options>),\n },\n})\n\nexport const mentionEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n search: (pattern: string, prefix: string) =>\n isString(pattern) && isString(prefix),\n select: (option: MentionOption, prefix: string) =>\n isString(option.value) && isString(prefix),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n}\n\nexport type MentionEmits = typeof mentionEmits\nexport type MentionProps = ExtractPropTypes<typeof mentionProps>\nexport type MentionInstance = InstanceType<typeof Mention>\n\nexport type { MentionOption } from './types'\n"],"names":["buildProps","inputProps","definePropType","isString","filterOption","isFunction","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;;;;;;AASY,MAAC,YAAY,GAAGA,kBAAU,CAAC;AACvC,EAAE,GAAGC,gBAAU;AACf,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,IAAI,OAAO,EAAE,GAAG;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,IAAIC,eAAQ,CAAC,GAAG,CAAC;AACvB,QAAQ,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAChC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAKA,eAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC7D,KAAK;AACL,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7C,IAAI,OAAO,EAAE,MAAME,mBAAY;AAC/B,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,IAAI,GAAG,KAAK,KAAK;AACvB,QAAQ,OAAO,IAAI,CAAC;AACpB,MAAM,OAAOC,iBAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEH,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEA,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;AACvB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,CAACI,wBAAkB,GAAG,CAAC,KAAK,KAAKH,eAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAKA,eAAQ,CAAC,OAAO,CAAC,IAAIA,eAAQ,CAAC,MAAM,CAAC;AACpE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAKA,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAIA,eAAQ,CAAC,MAAM,CAAC;AACxE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C;;;;;"}
|
|
@@ -2,76 +2,288 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var lodashUnified = require('lodash-unified');
|
|
7
|
+
require('../../../hooks/index.js');
|
|
8
|
+
var index$3 = require('../../input/index.js');
|
|
9
|
+
var index$4 = require('../../tooltip/index.js');
|
|
6
10
|
require('../../../constants/index.js');
|
|
7
|
-
require('../../
|
|
11
|
+
require('../../form/index.js');
|
|
12
|
+
require('../../../utils/index.js');
|
|
13
|
+
var mention = require('./mention.js');
|
|
8
14
|
var helper = require('./helper.js');
|
|
9
|
-
var
|
|
15
|
+
var mentionDropdown = require('./mention-dropdown2.js');
|
|
16
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
10
17
|
var input = require('../../input/src/input.js');
|
|
18
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
19
|
+
var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
|
|
20
|
+
var index$1 = require('../../../hooks/use-id/index.js');
|
|
11
21
|
var shared = require('@vue/shared');
|
|
12
22
|
var event = require('../../../constants/event.js');
|
|
23
|
+
var index$2 = require('../../../hooks/use-focus-controller/index.js');
|
|
13
24
|
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
25
|
+
const __default__ = vue.defineComponent({
|
|
26
|
+
name: "ElMention"
|
|
27
|
+
});
|
|
28
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
29
|
+
...__default__,
|
|
30
|
+
props: mention.mentionProps,
|
|
31
|
+
emits: mention.mentionEmits,
|
|
32
|
+
setup(__props, { expose, emit }) {
|
|
33
|
+
const props = __props;
|
|
34
|
+
const passInputProps = vue.computed(() => lodashUnified.pick(props, Object.keys(input.inputProps)));
|
|
35
|
+
const ns = index.useNamespace("mention");
|
|
36
|
+
const disabled = useFormCommonProps.useFormDisabled();
|
|
37
|
+
const contentId = index$1.useId();
|
|
38
|
+
const elInputRef = vue.ref();
|
|
39
|
+
const tooltipRef = vue.ref();
|
|
40
|
+
const dropdownRef = vue.ref();
|
|
41
|
+
const visible = vue.ref(false);
|
|
42
|
+
const cursorStyle = vue.ref();
|
|
43
|
+
const mentionCtx = vue.ref();
|
|
44
|
+
const computedPlacement = vue.computed(() => props.showArrow ? props.placement : `${props.placement}-start`);
|
|
45
|
+
const computedFallbackPlacements = vue.computed(() => props.showArrow ? ["bottom", "top"] : ["bottom-start", "top-start"]);
|
|
46
|
+
const filteredOptions = vue.computed(() => {
|
|
47
|
+
const { filterOption, options } = props;
|
|
48
|
+
if (!mentionCtx.value || !filterOption)
|
|
49
|
+
return options;
|
|
50
|
+
return options.filter((option) => filterOption(mentionCtx.value.pattern, option));
|
|
51
|
+
});
|
|
52
|
+
const dropdownVisible = vue.computed(() => {
|
|
53
|
+
return visible.value && (!!filteredOptions.value.length || props.loading);
|
|
54
|
+
});
|
|
55
|
+
const hoveringId = vue.computed(() => {
|
|
56
|
+
var _a;
|
|
57
|
+
return `${contentId.value}-${(_a = dropdownRef.value) == null ? void 0 : _a.hoveringIndex}`;
|
|
58
|
+
});
|
|
59
|
+
const handleInputChange = (value) => {
|
|
60
|
+
emit("update:modelValue", value);
|
|
61
|
+
syncAfterCursorMove();
|
|
62
|
+
};
|
|
63
|
+
const handleInputKeyDown = (e) => {
|
|
64
|
+
var _a, _b, _c, _d;
|
|
65
|
+
if (!("key" in e))
|
|
66
|
+
return;
|
|
67
|
+
if ((_a = elInputRef.value) == null ? void 0 : _a.isComposing)
|
|
68
|
+
return;
|
|
69
|
+
if (["ArrowLeft", "ArrowRight"].includes(e.key)) {
|
|
70
|
+
syncAfterCursorMove();
|
|
71
|
+
} else if (["ArrowUp", "ArrowDown"].includes(e.key)) {
|
|
72
|
+
if (!visible.value)
|
|
73
|
+
return;
|
|
74
|
+
e.preventDefault();
|
|
75
|
+
const direction = e.key === "ArrowUp" ? "prev" : "next";
|
|
76
|
+
(_b = dropdownRef.value) == null ? void 0 : _b.navigateOptions(direction);
|
|
77
|
+
} else if (["Enter"].includes(e.key)) {
|
|
78
|
+
if (!visible.value)
|
|
79
|
+
return;
|
|
80
|
+
e.preventDefault();
|
|
81
|
+
if ((_c = dropdownRef.value) == null ? void 0 : _c.hoverOption) {
|
|
82
|
+
(_d = dropdownRef.value) == null ? void 0 : _d.selectHoverOption();
|
|
83
|
+
} else {
|
|
84
|
+
visible.value = false;
|
|
85
|
+
}
|
|
86
|
+
} else if (["Escape"].includes(e.key)) {
|
|
87
|
+
if (!visible.value)
|
|
88
|
+
return;
|
|
89
|
+
e.preventDefault();
|
|
90
|
+
visible.value = false;
|
|
91
|
+
} else if (["Backspace"].includes(e.key)) {
|
|
92
|
+
if (props.whole && mentionCtx.value) {
|
|
93
|
+
const { splitIndex, selectionEnd, pattern, prefixIndex, prefix } = mentionCtx.value;
|
|
94
|
+
const inputEl = getInputEl();
|
|
95
|
+
if (!inputEl)
|
|
96
|
+
return;
|
|
97
|
+
const inputValue = inputEl.value;
|
|
98
|
+
const matchOption = props.options.find((item) => item.value === pattern);
|
|
99
|
+
const isWhole = shared.isFunction(props.checkIsWhole) ? props.checkIsWhole(pattern, prefix) : matchOption;
|
|
100
|
+
if (isWhole && splitIndex !== -1 && splitIndex + 1 === selectionEnd) {
|
|
101
|
+
e.preventDefault();
|
|
102
|
+
const newValue = inputValue.slice(0, prefixIndex) + inputValue.slice(splitIndex + 1);
|
|
103
|
+
emit(event.UPDATE_MODEL_EVENT, newValue);
|
|
104
|
+
const newSelectionEnd = prefixIndex;
|
|
105
|
+
vue.nextTick(() => {
|
|
106
|
+
inputEl.selectionStart = newSelectionEnd;
|
|
107
|
+
inputEl.selectionEnd = newSelectionEnd;
|
|
108
|
+
syncDropdownVisible();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const { wrapperRef } = index$2.useFocusController(elInputRef, {
|
|
115
|
+
beforeFocus() {
|
|
116
|
+
return disabled.value;
|
|
117
|
+
},
|
|
118
|
+
afterFocus() {
|
|
119
|
+
syncAfterCursorMove();
|
|
120
|
+
},
|
|
121
|
+
beforeBlur(event) {
|
|
122
|
+
var _a;
|
|
123
|
+
return (_a = tooltipRef.value) == null ? void 0 : _a.isFocusInsideContent(event);
|
|
124
|
+
},
|
|
125
|
+
afterBlur() {
|
|
126
|
+
visible.value = false;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
const handleInputMouseDown = () => {
|
|
130
|
+
syncAfterCursorMove();
|
|
131
|
+
};
|
|
132
|
+
const handleSelect = (item) => {
|
|
133
|
+
if (!mentionCtx.value)
|
|
134
|
+
return;
|
|
135
|
+
const inputEl = getInputEl();
|
|
136
|
+
if (!inputEl)
|
|
137
|
+
return;
|
|
138
|
+
const inputValue = inputEl.value;
|
|
139
|
+
const { split } = props;
|
|
140
|
+
const newEndPart = inputValue.slice(mentionCtx.value.end);
|
|
141
|
+
const alreadySeparated = newEndPart.startsWith(split);
|
|
142
|
+
const newMiddlePart = `${item.value}${alreadySeparated ? "" : split}`;
|
|
143
|
+
const newValue = inputValue.slice(0, mentionCtx.value.start) + newMiddlePart + newEndPart;
|
|
144
|
+
emit(event.UPDATE_MODEL_EVENT, newValue);
|
|
145
|
+
emit("select", item, mentionCtx.value.prefix);
|
|
146
|
+
const newSelectionEnd = mentionCtx.value.start + newMiddlePart.length + (alreadySeparated ? 1 : 0);
|
|
147
|
+
vue.nextTick(() => {
|
|
148
|
+
inputEl.selectionStart = newSelectionEnd;
|
|
149
|
+
inputEl.selectionEnd = newSelectionEnd;
|
|
150
|
+
inputEl.focus();
|
|
151
|
+
syncDropdownVisible();
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
const getInputEl = () => {
|
|
155
|
+
var _a, _b;
|
|
156
|
+
return props.type === "textarea" ? (_a = elInputRef.value) == null ? void 0 : _a.textarea : (_b = elInputRef.value) == null ? void 0 : _b.input;
|
|
157
|
+
};
|
|
158
|
+
const syncAfterCursorMove = () => {
|
|
159
|
+
setTimeout(() => {
|
|
160
|
+
syncCursor();
|
|
161
|
+
syncDropdownVisible();
|
|
162
|
+
vue.nextTick(() => {
|
|
163
|
+
var _a;
|
|
164
|
+
return (_a = tooltipRef.value) == null ? void 0 : _a.updatePopper();
|
|
165
|
+
});
|
|
166
|
+
}, 0);
|
|
167
|
+
};
|
|
168
|
+
const syncCursor = () => {
|
|
169
|
+
const inputEl = getInputEl();
|
|
170
|
+
if (!inputEl)
|
|
171
|
+
return;
|
|
172
|
+
const caretPosition = helper.getCursorPosition(inputEl);
|
|
173
|
+
const inputRect = inputEl.getBoundingClientRect();
|
|
174
|
+
const elInputRect = elInputRef.value.$el.getBoundingClientRect();
|
|
175
|
+
cursorStyle.value = {
|
|
176
|
+
position: "absolute",
|
|
177
|
+
width: 0,
|
|
178
|
+
height: `${caretPosition.height}px`,
|
|
179
|
+
left: `${caretPosition.left + inputRect.left - elInputRect.left}px`,
|
|
180
|
+
top: `${caretPosition.top + inputRect.top - elInputRect.top}px`
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
const syncDropdownVisible = () => {
|
|
184
|
+
const inputEl = getInputEl();
|
|
185
|
+
if (document.activeElement !== inputEl) {
|
|
186
|
+
visible.value = false;
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const { prefix, split } = props;
|
|
190
|
+
mentionCtx.value = helper.getMentionCtx(inputEl, prefix, split);
|
|
191
|
+
if (mentionCtx.value && mentionCtx.value.splitIndex === -1) {
|
|
192
|
+
visible.value = true;
|
|
193
|
+
emit("search", mentionCtx.value.pattern, mentionCtx.value.prefix);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
visible.value = false;
|
|
197
|
+
};
|
|
198
|
+
expose({
|
|
199
|
+
input: elInputRef,
|
|
200
|
+
tooltip: tooltipRef
|
|
201
|
+
});
|
|
202
|
+
return (_ctx, _cache) => {
|
|
203
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
204
|
+
ref_key: "wrapperRef",
|
|
205
|
+
ref: wrapperRef,
|
|
206
|
+
class: vue.normalizeClass(vue.unref(ns).b())
|
|
207
|
+
}, [
|
|
208
|
+
vue.createVNode(vue.unref(index$3.ElInput), vue.mergeProps(vue.mergeProps(vue.unref(passInputProps), _ctx.$attrs), {
|
|
209
|
+
ref_key: "elInputRef",
|
|
210
|
+
ref: elInputRef,
|
|
211
|
+
"model-value": _ctx.modelValue,
|
|
212
|
+
disabled: vue.unref(disabled),
|
|
213
|
+
role: vue.unref(dropdownVisible) ? "combobox" : void 0,
|
|
214
|
+
"aria-activedescendant": vue.unref(dropdownVisible) ? vue.unref(hoveringId) || "" : void 0,
|
|
215
|
+
"aria-controls": vue.unref(dropdownVisible) ? vue.unref(contentId) : void 0,
|
|
216
|
+
"aria-expanded": vue.unref(dropdownVisible) || void 0,
|
|
217
|
+
"aria-label": _ctx.ariaLabel,
|
|
218
|
+
"aria-autocomplete": vue.unref(dropdownVisible) ? "none" : void 0,
|
|
219
|
+
"aria-haspopup": vue.unref(dropdownVisible) ? "listbox" : void 0,
|
|
220
|
+
onInput: handleInputChange,
|
|
221
|
+
onKeydown: handleInputKeyDown,
|
|
222
|
+
onMousedown: handleInputMouseDown
|
|
223
|
+
}), vue.createSlots({
|
|
224
|
+
_: 2
|
|
225
|
+
}, [
|
|
226
|
+
vue.renderList(_ctx.$slots, (_, name) => {
|
|
227
|
+
return {
|
|
228
|
+
name,
|
|
229
|
+
fn: vue.withCtx((slotProps) => [
|
|
230
|
+
vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps)))
|
|
231
|
+
])
|
|
232
|
+
};
|
|
233
|
+
})
|
|
234
|
+
]), 1040, ["model-value", "disabled", "role", "aria-activedescendant", "aria-controls", "aria-expanded", "aria-label", "aria-autocomplete", "aria-haspopup"]),
|
|
235
|
+
vue.createVNode(vue.unref(index$4.ElTooltip), {
|
|
236
|
+
ref_key: "tooltipRef",
|
|
237
|
+
ref: tooltipRef,
|
|
238
|
+
visible: vue.unref(dropdownVisible),
|
|
239
|
+
"popper-class": [vue.unref(ns).e("popper"), _ctx.popperClass],
|
|
240
|
+
"popper-options": _ctx.popperOptions,
|
|
241
|
+
placement: vue.unref(computedPlacement),
|
|
242
|
+
"fallback-placements": vue.unref(computedFallbackPlacements),
|
|
243
|
+
effect: "light",
|
|
244
|
+
pure: "",
|
|
245
|
+
offset: _ctx.offset,
|
|
246
|
+
"show-arrow": _ctx.showArrow
|
|
247
|
+
}, {
|
|
248
|
+
default: vue.withCtx(() => [
|
|
249
|
+
vue.createElementVNode("div", {
|
|
250
|
+
style: vue.normalizeStyle(cursorStyle.value)
|
|
251
|
+
}, null, 4)
|
|
252
|
+
]),
|
|
253
|
+
content: vue.withCtx(() => {
|
|
254
|
+
var _a;
|
|
255
|
+
return [
|
|
256
|
+
vue.createVNode(mentionDropdown["default"], {
|
|
257
|
+
ref_key: "dropdownRef",
|
|
258
|
+
ref: dropdownRef,
|
|
259
|
+
options: vue.unref(filteredOptions),
|
|
260
|
+
disabled: vue.unref(disabled),
|
|
261
|
+
loading: _ctx.loading,
|
|
262
|
+
"content-id": vue.unref(contentId),
|
|
263
|
+
"aria-label": _ctx.ariaLabel,
|
|
264
|
+
onSelect: handleSelect,
|
|
265
|
+
onClick: vue.withModifiers((_a = elInputRef.value) == null ? void 0 : _a.focus, ["stop"])
|
|
266
|
+
}, vue.createSlots({
|
|
267
|
+
_: 2
|
|
268
|
+
}, [
|
|
269
|
+
vue.renderList(_ctx.$slots, (_, name) => {
|
|
270
|
+
return {
|
|
271
|
+
name,
|
|
272
|
+
fn: vue.withCtx((slotProps) => [
|
|
273
|
+
vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps)))
|
|
274
|
+
])
|
|
275
|
+
};
|
|
276
|
+
})
|
|
277
|
+
]), 1032, ["options", "disabled", "loading", "content-id", "aria-label", "onClick"])
|
|
278
|
+
];
|
|
279
|
+
}),
|
|
280
|
+
_: 3
|
|
281
|
+
}, 8, ["visible", "popper-class", "popper-options", "placement", "fallback-placements", "offset", "show-arrow"])
|
|
282
|
+
], 2);
|
|
283
|
+
};
|
|
65
284
|
}
|
|
66
285
|
});
|
|
67
|
-
|
|
68
|
-
[event.UPDATE_MODEL_EVENT]: (value) => shared.isString(value),
|
|
69
|
-
search: (pattern, prefix) => shared.isString(pattern) && shared.isString(prefix),
|
|
70
|
-
select: (option, prefix) => shared.isString(option.value) && shared.isString(prefix),
|
|
71
|
-
focus: (evt) => evt instanceof FocusEvent,
|
|
72
|
-
blur: (evt) => evt instanceof FocusEvent
|
|
73
|
-
};
|
|
286
|
+
var Mention = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "mention.vue"]]);
|
|
74
287
|
|
|
75
|
-
exports
|
|
76
|
-
exports.mentionProps = mentionProps;
|
|
288
|
+
exports["default"] = Mention;
|
|
77
289
|
//# sourceMappingURL=mention2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention2.js","sources":["../../../../../../packages/components/mention/src/mention.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isFunction,\n isString,\n} from '@code-monkey-ui/utils'\nimport { UPDATE_MODEL_EVENT } from '@code-monkey-ui/constants'\nimport { inputProps } from '@code-monkey-ui/components/input'\nimport { filterOption } from './helper'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Mention from './mention.vue'\nimport type { MentionOption } from './types'\nimport type { Options } from '@code-monkey-ui/components/popper'\n\nexport const mentionProps = buildProps({\n ...inputProps,\n /**\n * @description mention options list\n */\n options: {\n type: definePropType<MentionOption[]>(Array),\n default: () => [],\n },\n /**\n * @description prefix character to trigger mentions. The string length must be exactly 1.\n */\n prefix: {\n type: definePropType<string | string[]>([String, Array]),\n default: '@',\n validator: (val: string | string[]) => {\n if (isString(val)) return val.length === 1\n return val.every((v) => isString(v) && v.length === 1)\n },\n },\n /**\n * @description character to split mentions. The string length must be exactly 1.\n */\n split: {\n type: String,\n default: ' ',\n validator: (val: string) => val.length === 1,\n },\n /**\n * @description customize filter option logic.\n */\n filterOption: {\n type: definePropType<false | typeof filterOption>([Boolean, Function]),\n default: () => filterOption,\n validator: (val) => {\n if (val === false) return true\n return isFunction(val)\n },\n },\n /**\n * @description set popup placement\n */\n placement: {\n type: definePropType<'bottom' | 'top'>(String),\n default: 'bottom',\n },\n /**\n * @description whether the dropdown panel has an arrow\n */\n showArrow: Boolean,\n /**\n * @description offset of the dropdown panel\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description when backspace is pressed to delete, whether the mention content is deleted as a whole\n */\n whole: Boolean,\n /**\n * @description when backspace is pressed to delete, check if the mention is a whole\n */\n checkIsWhole: {\n type: definePropType<(pattern: string, prefix: string) => boolean>(\n Function\n ),\n },\n /**\n * @description input value\n */\n modelValue: String,\n /**\n * @description whether the dropdown panel of mentions is in a loading state.\n */\n loading: Boolean,\n /**\n * @description custom class name for dropdown panel\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({} as Partial<Options>),\n },\n})\n\nexport const mentionEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n search: (pattern: string, prefix: string) =>\n isString(pattern) && isString(prefix),\n select: (option: MentionOption, prefix: string) =>\n isString(option.value) && isString(prefix),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n}\n\nexport type MentionEmits = typeof mentionEmits\nexport type MentionProps = ExtractPropTypes<typeof mentionProps>\nexport type MentionInstance = InstanceType<typeof Mention>\n\nexport type { MentionOption } from './types'\n"],"names":["buildProps","inputProps","definePropType","isString","filterOption","isFunction","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;;;;;;AASY,MAAC,YAAY,GAAGA,kBAAU,CAAC;AACvC,EAAE,GAAGC,gBAAU;AACf,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,IAAI,OAAO,EAAE,GAAG;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,IAAIC,eAAQ,CAAC,GAAG,CAAC;AACvB,QAAQ,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAChC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAKA,eAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC7D,KAAK;AACL,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7C,IAAI,OAAO,EAAE,MAAME,mBAAY;AAC/B,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,IAAI,GAAG,KAAK,KAAK;AACvB,QAAQ,OAAO,IAAI,CAAC;AACpB,MAAM,OAAOC,iBAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEH,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEA,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;AACvB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,CAACI,wBAAkB,GAAG,CAAC,KAAK,KAAKH,eAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAKA,eAAQ,CAAC,OAAO,CAAC,IAAIA,eAAQ,CAAC,MAAM,CAAC;AACpE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAKA,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAIA,eAAQ,CAAC,MAAM,CAAC;AACxE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C;;;;;"}
|
|
1
|
+
{"version":3,"file":"mention2.js","sources":["../../../../../../packages/components/mention/src/mention.vue"],"sourcesContent":["<template>\n <div ref=\"wrapperRef\" :class=\"ns.b()\">\n <el-input\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n ref=\"elInputRef\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n :role=\"dropdownVisible ? 'combobox' : undefined\"\n :aria-activedescendant=\"dropdownVisible ? hoveringId || '' : undefined\"\n :aria-controls=\"dropdownVisible ? contentId : undefined\"\n :aria-expanded=\"dropdownVisible || undefined\"\n :aria-label=\"ariaLabel\"\n :aria-autocomplete=\"dropdownVisible ? 'none' : undefined\"\n :aria-haspopup=\"dropdownVisible ? 'listbox' : undefined\"\n @input=\"handleInputChange\"\n @keydown=\"handleInputKeyDown\"\n @mousedown=\"handleInputMouseDown\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </el-input>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownVisible\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :popper-options=\"popperOptions\"\n :placement=\"computedPlacement\"\n :fallback-placements=\"computedFallbackPlacements\"\n effect=\"light\"\n pure\n :offset=\"offset\"\n :show-arrow=\"showArrow\"\n >\n <template #default>\n <div :style=\"cursorStyle\" />\n </template>\n <template #content>\n <el-mention-dropdown\n ref=\"dropdownRef\"\n :options=\"filteredOptions\"\n :disabled=\"disabled\"\n :loading=\"loading\"\n :content-id=\"contentId\"\n :aria-label=\"ariaLabel\"\n @select=\"handleSelect\"\n @click.stop=\"elInputRef?.focus\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </el-mention-dropdown>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, mergeProps, nextTick, ref } from 'vue'\nimport { pick } from 'lodash-unified'\nimport { useFocusController, useId, useNamespace } from '@code-monkey-ui/hooks'\nimport ElInput, { inputProps } from '@code-monkey-ui/components/input'\nimport ElTooltip from '@code-monkey-ui/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@code-monkey-ui/constants'\nimport { useFormDisabled } from '@code-monkey-ui/components/form'\nimport { isFunction } from '@code-monkey-ui/utils'\nimport { mentionEmits, mentionProps } from './mention'\nimport { getCursorPosition, getMentionCtx } from './helper'\nimport ElMentionDropdown from './mention-dropdown.vue'\n\nimport type { Placement } from '@popperjs/core'\nimport type { CSSProperties } from 'vue'\nimport type { InputInstance } from '@code-monkey-ui/components/input'\nimport type { TooltipInstance } from '@code-monkey-ui/components/tooltip'\nimport type { MentionCtx, MentionOption } from './types'\n\ndefineOptions({\n name: 'ElMention',\n})\n\nconst props = defineProps(mentionProps)\nconst emit = defineEmits(mentionEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst ns = useNamespace('mention')\nconst disabled = useFormDisabled()\nconst contentId = useId()\n\nconst elInputRef = ref<InputInstance>()\nconst tooltipRef = ref<TooltipInstance>()\nconst dropdownRef = ref<InstanceType<typeof ElMentionDropdown>>()\n\nconst visible = ref(false)\nconst cursorStyle = ref<CSSProperties>()\nconst mentionCtx = ref<MentionCtx>()\n\nconst computedPlacement = computed<Placement>(() =>\n props.showArrow ? props.placement : `${props.placement}-start`\n)\n\nconst computedFallbackPlacements = computed<Placement[]>(() =>\n props.showArrow ? ['bottom', 'top'] : ['bottom-start', 'top-start']\n)\n\nconst filteredOptions = computed(() => {\n const { filterOption, options } = props\n if (!mentionCtx.value || !filterOption) return options\n return options.filter((option) =>\n filterOption(mentionCtx.value!.pattern, option)\n )\n})\n\nconst dropdownVisible = computed(() => {\n return visible.value && (!!filteredOptions.value.length || props.loading)\n})\n\nconst hoveringId = computed(() => {\n return `${contentId.value}-${dropdownRef.value?.hoveringIndex}`\n})\n\nconst handleInputChange = (value: string) => {\n emit('update:modelValue', value)\n syncAfterCursorMove()\n}\n\nconst handleInputKeyDown = (e: KeyboardEvent | Event) => {\n if (!('key' in e)) return\n if (elInputRef.value?.isComposing) return\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n syncAfterCursorMove()\n } else if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n if (!visible.value) return\n e.preventDefault()\n const direction = e.key === 'ArrowUp' ? 'prev' : 'next'\n dropdownRef.value?.navigateOptions(direction)\n } else if (['Enter'].includes(e.key)) {\n if (!visible.value) return\n e.preventDefault()\n if (dropdownRef.value?.hoverOption) {\n dropdownRef.value?.selectHoverOption()\n } else {\n visible.value = false\n }\n } else if (['Escape'].includes(e.key)) {\n if (!visible.value) return\n e.preventDefault()\n visible.value = false\n } else if (['Backspace'].includes(e.key)) {\n if (props.whole && mentionCtx.value) {\n const { splitIndex, selectionEnd, pattern, prefixIndex, prefix } =\n mentionCtx.value\n const inputEl = getInputEl()\n if (!inputEl) return\n const inputValue = inputEl.value\n const matchOption = props.options.find((item) => item.value === pattern)\n const isWhole = isFunction(props.checkIsWhole)\n ? props.checkIsWhole(pattern, prefix)\n : matchOption\n if (isWhole && splitIndex !== -1 && splitIndex + 1 === selectionEnd) {\n e.preventDefault()\n const newValue =\n inputValue.slice(0, prefixIndex) + inputValue.slice(splitIndex + 1)\n emit(UPDATE_MODEL_EVENT, newValue)\n\n const newSelectionEnd = prefixIndex\n nextTick(() => {\n // input value is updated\n inputEl.selectionStart = newSelectionEnd\n inputEl.selectionEnd = newSelectionEnd\n syncDropdownVisible()\n })\n }\n }\n }\n}\n\nconst { wrapperRef } = useFocusController(elInputRef, {\n beforeFocus() {\n return disabled.value\n },\n afterFocus() {\n syncAfterCursorMove()\n },\n beforeBlur(event) {\n return tooltipRef.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n visible.value = false\n },\n})\n\nconst handleInputMouseDown = () => {\n syncAfterCursorMove()\n}\n\nconst handleSelect = (item: MentionOption) => {\n if (!mentionCtx.value) return\n const inputEl = getInputEl()\n if (!inputEl) return\n const inputValue = inputEl.value\n const { split } = props\n\n const newEndPart = inputValue.slice(mentionCtx.value.end)\n const alreadySeparated = newEndPart.startsWith(split)\n const newMiddlePart = `${item.value}${alreadySeparated ? '' : split}`\n\n const newValue =\n inputValue.slice(0, mentionCtx.value.start) + newMiddlePart + newEndPart\n\n emit(UPDATE_MODEL_EVENT, newValue)\n emit('select', item, mentionCtx.value.prefix)\n\n const newSelectionEnd =\n mentionCtx.value.start + newMiddlePart.length + (alreadySeparated ? 1 : 0)\n\n nextTick(() => {\n // input value is updated\n inputEl.selectionStart = newSelectionEnd\n inputEl.selectionEnd = newSelectionEnd\n inputEl.focus()\n syncDropdownVisible()\n })\n}\n\nconst getInputEl = () =>\n props.type === 'textarea'\n ? elInputRef.value?.textarea\n : elInputRef.value?.input\n\nconst syncAfterCursorMove = () => {\n // can't use nextTick(), get cursor position will be wrong\n setTimeout(() => {\n syncCursor()\n syncDropdownVisible()\n nextTick(() => tooltipRef.value?.updatePopper())\n }, 0)\n}\n\nconst syncCursor = () => {\n const inputEl = getInputEl()\n if (!inputEl) return\n\n const caretPosition = getCursorPosition(inputEl)\n const inputRect = inputEl.getBoundingClientRect()\n const elInputRect = elInputRef.value!.$el.getBoundingClientRect()\n\n cursorStyle.value = {\n position: 'absolute',\n width: 0,\n height: `${caretPosition.height}px`,\n left: `${caretPosition.left + inputRect.left - elInputRect.left}px`,\n top: `${caretPosition.top + inputRect.top - elInputRect.top}px`,\n }\n}\n\nconst syncDropdownVisible = () => {\n const inputEl = getInputEl()\n if (document.activeElement !== inputEl) {\n visible.value = false\n return\n }\n const { prefix, split } = props\n mentionCtx.value = getMentionCtx(inputEl, prefix, split)\n if (mentionCtx.value && mentionCtx.value.splitIndex === -1) {\n visible.value = true\n emit('search', mentionCtx.value.pattern, mentionCtx.value.prefix)\n return\n }\n visible.value = false\n}\n\ndefineExpose({\n input: elInputRef,\n tooltip: tooltipRef,\n})\n</script>\n"],"names":["computed","pick","inputProps","useNamespace","useFormDisabled","useId","ref","isFunction","UPDATE_MODEL_EVENT","nextTick","useFocusController"],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
require('../../utils/index.js');
|
|
6
6
|
var menu = require('./src/menu.js');
|
|
7
7
|
var menuItem$1 = require('./src/menu-item2.js');
|
|
8
|
-
var menuItemGroup$1 = require('./src/menu-item-
|
|
8
|
+
var menuItemGroup$1 = require('./src/menu-item-group.js');
|
|
9
9
|
var subMenu = require('./src/sub-menu.js');
|
|
10
10
|
var menuItem = require('./src/menu-item.js');
|
|
11
|
-
var menuItemGroup = require('./src/menu-item-
|
|
11
|
+
var menuItemGroup = require('./src/menu-item-group2.js');
|
|
12
12
|
require('./src/types.js');
|
|
13
13
|
require('./src/instance.js');
|
|
14
14
|
var install = require('../../utils/vue/install.js');
|
|
@@ -2,9 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
require('../../../hooks/index.js');
|
|
7
|
+
var menuItemGroup = require('./menu-item-group2.js');
|
|
8
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
9
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
const COMPONENT_NAME = "ElMenuItemGroup";
|
|
12
|
+
const _sfc_main = vue.defineComponent({
|
|
13
|
+
name: COMPONENT_NAME,
|
|
14
|
+
props: menuItemGroup.menuItemGroupProps,
|
|
15
|
+
setup() {
|
|
16
|
+
const ns = index.useNamespace("menu-item-group");
|
|
17
|
+
return {
|
|
18
|
+
ns
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
23
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
24
|
+
class: vue.normalizeClass(_ctx.ns.b())
|
|
25
|
+
}, [
|
|
26
|
+
vue.createElementVNode("div", {
|
|
27
|
+
class: vue.normalizeClass(_ctx.ns.e("title"))
|
|
28
|
+
}, [
|
|
29
|
+
!_ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
30
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
31
|
+
], 64)) : vue.renderSlot(_ctx.$slots, "title", { key: 1 })
|
|
32
|
+
], 2),
|
|
33
|
+
vue.createElementVNode("ul", null, [
|
|
34
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
35
|
+
])
|
|
36
|
+
], 2);
|
|
37
|
+
}
|
|
38
|
+
var MenuItemGroup = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "menu-item-group.vue"]]);
|
|
39
|
+
|
|
40
|
+
exports["default"] = MenuItemGroup;
|
|
10
41
|
//# sourceMappingURL=menu-item-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item-group.js","sources":["../../../../../../packages/components/menu/src/menu-item-group.
|
|
1
|
+
{"version":3,"file":"menu-item-group.js","sources":["../../../../../../packages/components/menu/src/menu-item-group.vue"],"sourcesContent":["<template>\n <li :class=\"ns.b()\">\n <div :class=\"ns.e('title')\">\n <template v-if=\"!$slots.title\">{{ title }}</template>\n <slot v-else name=\"title\" />\n </div>\n <ul>\n <slot />\n </ul>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@code-monkey-ui/hooks'\nimport { menuItemGroupProps } from './menu-item-group'\n\nconst COMPONENT_NAME = 'ElMenuItemGroup'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n props: menuItemGroupProps,\n\n setup() {\n const ns = useNamespace('menu-item-group')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","menuItemGroupProps","useNamespace","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_Fragment","_createTextVNode","_toDisplayString","_renderSlot","_export_sfc"],"mappings":";;;;;;;;;;AAiBA,MAAM,cAAiB,GAAA,iBAAA,CAAA;AAEvB,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EAEN,KAAO,EAAAC,gCAAA;AAAA,EAEP,KAAQ,GAAA;AACN,IAAM,MAAA,EAAA,GAAKC,mBAAa,iBAAiB,CAAA,CAAA;AAEzC,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;AA9BC,EAAA,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,IAAA,EAAA;AAAA,IAQK,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA;AAAA,GAAA,EAAA;AAAA,IARAC,sBAAO,CAAA,KAAA,EAAA;AAAI,MAAA,KAAA,EAAAD,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;;AACd,MAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAAF,aAAA,EAAA,EAAAC,sBAAA,CAAAG,YAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,QAGMC,mBAAA,CAAAC,mBAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,OAAA,EAAA,EAAA,CAAA,IAAAC,cAAA,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAAA,KAHA,EAAA,CAAA,CAAA;AAAW,IAAAJ,sBAAA,CAAA,IAAA,EAAA,IAAA,EAAA;;AACE,KAAA,CAAA;AAAjB,GAAqD,EAAA,CAAA,CAAA,CAAA;AAAA,CAAA;AAAA,oBAAA,gBAAAK,iCAAA,CAAA,SAAA,EAAA,CAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,CAAA,CAAA;;;;"}
|
|
@@ -2,40 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
9
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
|
5
|
+
const menuItemGroupProps = {
|
|
6
|
+
title: String
|
|
7
|
+
};
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
const _sfc_main = vue.defineComponent({
|
|
13
|
-
name: COMPONENT_NAME,
|
|
14
|
-
props: menuItemGroup.menuItemGroupProps,
|
|
15
|
-
setup() {
|
|
16
|
-
const ns = index.useNamespace("menu-item-group");
|
|
17
|
-
return {
|
|
18
|
-
ns
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
23
|
-
return vue.openBlock(), vue.createElementBlock("li", {
|
|
24
|
-
class: vue.normalizeClass(_ctx.ns.b())
|
|
25
|
-
}, [
|
|
26
|
-
vue.createElementVNode("div", {
|
|
27
|
-
class: vue.normalizeClass(_ctx.ns.e("title"))
|
|
28
|
-
}, [
|
|
29
|
-
!_ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
30
|
-
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
31
|
-
], 64)) : vue.renderSlot(_ctx.$slots, "title", { key: 1 })
|
|
32
|
-
], 2),
|
|
33
|
-
vue.createElementVNode("ul", null, [
|
|
34
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
35
|
-
])
|
|
36
|
-
], 2);
|
|
37
|
-
}
|
|
38
|
-
var MenuItemGroup = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "menu-item-group.vue"]]);
|
|
39
|
-
|
|
40
|
-
exports["default"] = MenuItemGroup;
|
|
9
|
+
exports.menuItemGroupProps = menuItemGroupProps;
|
|
41
10
|
//# sourceMappingURL=menu-item-group2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item-group2.js","sources":["../../../../../../packages/components/menu/src/menu-item-group.
|
|
1
|
+
{"version":3,"file":"menu-item-group2.js","sources":["../../../../../../packages/components/menu/src/menu-item-group.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const menuItemGroupProps = {\n /**\n * @description group title\n */\n title: String,\n} as const\nexport type MenuItemGroupProps = ExtractPropTypes<typeof menuItemGroupProps>\n"],"names":[],"mappings":";;;;AAAY,MAAC,kBAAkB,GAAG;AAClC,EAAE,KAAK,EAAE,MAAM;AACf;;;;"}
|