neko-ui 2.8.21 → 2.8.23
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/avatar/README.mdx +10 -0
- package/es/avatar/examples/basic.md +14 -0
- package/es/avatar/examples/group.md +57 -0
- package/es/avatar/examples/size.md +21 -0
- package/es/avatar/group.js +2 -2
- package/es/avatar/group.js.map +1 -1
- package/es/avatar/index.js +2 -2
- package/es/avatar/index.js.map +1 -1
- package/es/avatar/style.js +2 -2
- package/es/avatar/style.js.map +1 -1
- package/es/back-top/README.mdx +10 -0
- package/es/back-top/examples/basic.md +19 -0
- package/es/back-top/examples/mount.md +36 -0
- package/es/back-top/examples/target.md +46 -0
- package/es/back-top/index.js +1 -1
- package/es/back-top/index.js.map +1 -1
- package/es/basic-config/README.mdx +11 -0
- package/es/button/README.mdx +10 -0
- package/es/button/examples/basic.md +21 -0
- package/es/button/examples/block.md +33 -0
- package/es/button/examples/circle.md +21 -0
- package/es/button/examples/danger.md +23 -0
- package/es/button/examples/dashed.md +21 -0
- package/es/button/examples/disabled.md +35 -0
- package/es/button/examples/fill.md +21 -0
- package/es/button/examples/flat.md +21 -0
- package/es/button/examples/ghost.md +21 -0
- package/es/button/examples/icon.md +30 -0
- package/es/button/examples/link.md +21 -0
- package/es/button/examples/size.md +23 -0
- package/es/button/index.js +1 -1
- package/es/button/index.js.map +1 -1
- package/es/button/style.js +1 -0
- package/es/button/style.js.map +1 -1
- package/es/capture-screen/README.mdx +10 -0
- package/es/capture-screen/examples/basic.md +13 -0
- package/es/capture-screen/examples/custom-save.md +30 -0
- package/es/capture-screen/examples/preview.md +13 -0
- package/es/capture-screen/examples/recorder-save.md +13 -0
- package/es/capture-screen/index.js +1 -1
- package/es/capture-screen/index.js.map +1 -1
- package/es/carousel/README.mdx +10 -0
- package/es/carousel/examples/autoplay.md +21 -0
- package/es/carousel/examples/basic.md +23 -0
- package/es/carousel/examples/dots.md +23 -0
- package/es/carousel/examples/header.md +38 -0
- package/es/carousel/index.js +1 -1
- package/es/carousel/index.js.map +1 -1
- package/es/checkbox/README.mdx +10 -0
- package/es/checkbox/examples/basic.md +31 -0
- package/es/checkbox/examples/check-all.md +37 -0
- package/es/checkbox/examples/disabled-all.md +28 -0
- package/es/checkbox/examples/disabled-option.md +35 -0
- package/es/checkbox/examples/field-names.md +40 -0
- package/es/checkbox/examples/status.md +37 -0
- package/es/checkbox/examples/vertical.md +36 -0
- package/es/checkbox/index.js +1 -1
- package/es/checkbox/index.js.map +1 -1
- package/es/code/README.mdx +10 -0
- package/es/code/examples/basic.md +19 -0
- package/es/code/examples/diff.md +45 -0
- package/es/code/examples/line-number.md +18 -0
- package/es/code/examples/live-edit.md +20 -0
- package/es/code/examples/toolbar.md +18 -0
- package/es/code/index.js +2 -2
- package/es/code/index.js.map +1 -1
- package/es/code/worker.js.map +1 -1
- package/es/color-palette/README.mdx +10 -0
- package/es/color-palette/examples/default-value.md +25 -0
- package/es/color-palette/examples/hexa.md +13 -0
- package/es/color-palette/examples/hsla.md +13 -0
- package/es/color-palette/examples/rgba.md +13 -0
- package/es/color-palette/index.js +1 -1
- package/es/color-palette/index.js.map +1 -1
- package/es/color-picker/README.mdx +10 -0
- package/es/color-picker/examples/basic.md +12 -0
- package/es/color-picker/examples/default-value.md +20 -0
- package/es/color-picker/examples/size.md +17 -0
- package/es/color-picker/index.js +1 -1
- package/es/color-picker/index.js.map +1 -1
- package/es/cron/README.mdx +10 -0
- package/es/cron/begin-interval.js.map +1 -1
- package/es/cron/day.js.map +1 -1
- package/es/cron/examples/basic.md +19 -0
- package/es/cron/examples/card.md +12 -0
- package/es/cron/examples/show-cron.md +12 -0
- package/es/cron/hour.js +1 -1
- package/es/cron/hour.js.map +1 -1
- package/es/cron/index.js +1 -1
- package/es/cron/index.js.map +1 -1
- package/es/cron/item.js.map +1 -1
- package/es/cron/minute.js +1 -1
- package/es/cron/minute.js.map +1 -1
- package/es/cron/month.js +1 -1
- package/es/cron/month.js.map +1 -1
- package/es/cron/period.js.map +1 -1
- package/es/cron/second.js +1 -1
- package/es/cron/second.js.map +1 -1
- package/es/cron/some.js.map +1 -1
- package/es/date-picker/README.mdx +10 -0
- package/es/date-picker/date.js +1 -1
- package/es/date-picker/date.js.map +1 -1
- package/es/date-picker/dayjs.js +1 -1
- package/es/date-picker/dayjs.js.map +1 -1
- package/es/date-picker/examples/basic.md +24 -0
- package/es/date-picker/examples/date.md +13 -0
- package/es/date-picker/examples/disbaled.md +13 -0
- package/es/date-picker/examples/header.md +13 -0
- package/es/date-picker/examples/month.md +13 -0
- package/es/date-picker/examples/time.md +15 -0
- package/es/date-picker/examples/today.md +13 -0
- package/es/date-picker/examples/year.md +13 -0
- package/es/date-picker/index.js +1 -1
- package/es/date-picker/index.js.map +1 -1
- package/es/date-picker/month.js +1 -1
- package/es/date-picker/month.js.map +1 -1
- package/es/date-picker/panel.js +1 -1
- package/es/date-picker/panel.js.map +1 -1
- package/es/date-picker/time.js +1 -1
- package/es/date-picker/time.js.map +1 -1
- package/es/date-picker/year.js +1 -1
- package/es/date-picker/year.js.map +1 -1
- package/es/dropdown/README.mdx +10 -0
- package/es/dropdown/examples/arrow.md +59 -0
- package/es/dropdown/examples/basic.md +17 -0
- package/es/dropdown/examples/click.md +45 -0
- package/es/dropdown/examples/context-menu.md +66 -0
- package/es/dropdown/examples/field-names.md +44 -0
- package/es/dropdown/examples/icon.md +30 -0
- package/es/dropdown/examples/multiple.md +45 -0
- package/es/dropdown/examples/no-data.md +16 -0
- package/es/dropdown/examples/placement.md +59 -0
- package/es/dropdown/examples/toggle.md +36 -0
- package/es/dropdown/index.js +1 -1
- package/es/dropdown/index.js.map +1 -1
- package/es/empty/index.js.map +1 -1
- package/es/from-schema/index.js +1 -1
- package/es/from-schema/index.js.map +1 -1
- package/es/highlight-text/README.mdx +10 -0
- package/es/highlight-text/examples/basic.md +19 -0
- package/es/highlight-text/examples/mut.md +47 -0
- package/es/highlight-text/examples/not-hightlight.md +19 -0
- package/es/highlight-text/index.js +2 -2
- package/es/highlight-text/index.js.map +1 -1
- package/es/img/README.mdx +10 -0
- package/es/img/examples/basic.md +17 -0
- package/es/img/examples/close-mask.md +21 -0
- package/es/img/examples/disabled.md +16 -0
- package/es/img/examples/error.md +13 -0
- package/es/img/examples/esc.md +21 -0
- package/es/img/examples/open-change.md +25 -0
- package/es/img/index.js +1 -1
- package/es/img/index.js.map +1 -1
- package/es/img/lazy.js +1 -1
- package/es/img/lazy.js.map +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/input/README.mdx +10 -0
- package/es/input/examples/basic.md +31 -0
- package/es/input/examples/prefix&suffix.md +33 -0
- package/es/input/examples/size.md +21 -0
- package/es/input/examples/status.md +23 -0
- package/es/input/index.js +1 -1
- package/es/input/index.js.map +1 -1
- package/es/input-number/README.mdx +10 -0
- package/es/input-number/examples/basic.md +26 -0
- package/es/input-number/examples/formatter.md +36 -0
- package/es/input-number/examples/max-min.md +13 -0
- package/es/input-number/index.js.map +1 -1
- package/es/katex/README.mdx +42 -0
- package/es/katex/examples/block.md +25 -0
- package/es/katex/examples/inline.md +19 -0
- package/es/md/README.mdx +10 -0
- package/es/md/examples/in-children.md +23 -0
- package/es/md/examples/in-text.md +32 -0
- package/es/md/examples/math.md +36 -0
- package/es/md/index.js +1 -1
- package/es/md/index.js.map +1 -1
- package/es/menu/README.mdx +10 -0
- package/es/menu/examples/basic.md +17 -0
- package/es/menu/examples/field-names.md +42 -0
- package/es/menu/examples/icon.md +125 -0
- package/es/menu/examples/multiple.md +42 -0
- package/es/menu/index.js +1 -1
- package/es/menu/index.js.map +1 -1
- package/es/modal/README.mdx +10 -0
- package/es/modal/examples/basic.md +56 -0
- package/es/modal/examples/close-icon.md +57 -0
- package/es/modal/examples/esc-closable.md +64 -0
- package/es/modal/examples/mask-blur.md +56 -0
- package/es/modal/examples/mask-closable.md +64 -0
- package/es/modal/index.js +1 -1
- package/es/modal/index.js.map +1 -1
- package/es/notification/README.mdx +11 -0
- package/es/notification/examples/basic.md +35 -0
- package/es/notification/examples/close.md +35 -0
- package/es/notification/examples/type.md +84 -0
- package/es/notification/examples/update.md +52 -0
- package/es/notification/index.js.map +1 -1
- package/es/notification/notification.js +1 -1
- package/es/notification/notification.js.map +1 -1
- package/es/pagination/README.mdx +10 -0
- package/es/pagination/examples/basic.md +13 -0
- package/es/pagination/examples/onchange.md +29 -0
- package/es/pagination/examples/size.md +23 -0
- package/es/pagination/examples/total-text.md +42 -0
- package/es/pagination/index.js +1 -1
- package/es/pagination/index.js.map +1 -1
- package/es/popover/README.mdx +10 -0
- package/es/popover/examples/basic.md +35 -0
- package/es/popover/examples/click.md +15 -0
- package/es/popover/examples/context-menu.md +58 -0
- package/es/popover/examples/controlled.md +47 -0
- package/es/popover/index.js +1 -1
- package/es/popover/index.js.map +1 -1
- package/es/prism/css.js.map +1 -1
- package/es/prism/index.js.map +1 -1
- package/es/provider/README.mdx +10 -0
- package/es/provider/examples/scheme.md +14 -0
- package/es/provider/index.js.map +1 -1
- package/es/radio/README.mdx +10 -0
- package/es/radio/examples/basic.md +19 -0
- package/es/radio/examples/disabled-option.md +19 -0
- package/es/radio/examples/disabled.md +19 -0
- package/es/radio/examples/field-names.md +39 -0
- package/es/radio/examples/layout-vertical.md +19 -0
- package/es/radio/examples/status.md +31 -0
- package/es/radio/index.js +1 -1
- package/es/radio/index.js.map +1 -1
- package/es/segmented/README.mdx +10 -0
- package/es/segmented/examples/basic.md +18 -0
- package/es/segmented/examples/custom-field-names.md +43 -0
- package/es/segmented/examples/disabled-option.md +29 -0
- package/es/segmented/examples/disabled.md +18 -0
- package/es/segmented/examples/icon.md +28 -0
- package/es/segmented/examples/options.md +21 -0
- package/es/segmented/index.js +2 -2
- package/es/segmented/index.js.map +1 -1
- package/es/select/README.mdx +10 -0
- package/es/select/examples/basic.md +44 -0
- package/es/select/examples/disabled-option.md +21 -0
- package/es/select/examples/disabled.md +24 -0
- package/es/select/examples/field-names.md +40 -0
- package/es/select/examples/item-suffix.md +84 -0
- package/es/select/examples/multiple.md +61 -0
- package/es/select/examples/no-data.md +12 -0
- package/es/select/examples/prefix-icon.md +74 -0
- package/es/select/index.js +1 -1
- package/es/select/index.js.map +1 -1
- package/es/skeleton/README.mdx +10 -0
- package/es/skeleton/examples/animation.md +13 -0
- package/es/skeleton/examples/avatar.md +13 -0
- package/es/skeleton/examples/basic.md +12 -0
- package/es/skeleton/examples/rows.md +13 -0
- package/es/skeleton/examples/title.md +12 -0
- package/es/skeleton/index.js +3 -3
- package/es/skeleton/index.js.map +1 -1
- package/es/spin/README.mdx +10 -0
- package/es/spin/examples/basic.md +67 -0
- package/es/spin/index.js +4 -4
- package/es/spin/index.js.map +1 -1
- package/es/switch/README.mdx +10 -0
- package/es/switch/examples/basic.md +24 -0
- package/es/switch/examples/checked-text.md +17 -0
- package/es/switch/examples/disabled.md +15 -0
- package/es/switch/examples/loading.md +17 -0
- package/es/switch/index.js +1 -1
- package/es/switch/index.js.map +1 -1
- package/es/table/README.mdx +10 -0
- package/es/table/examples/basic.md +29 -0
- package/es/table/examples/key.md +29 -0
- package/es/table/examples/order.md +29 -0
- package/es/table/examples/pagination.md +67 -0
- package/es/table/examples/render.md +92 -0
- package/es/table/examples/size.md +52 -0
- package/es/table/examples/summary.md +40 -0
- package/es/table/index.js +1 -1
- package/es/table/index.js.map +1 -1
- package/es/tabs/README.mdx +10 -0
- package/es/tabs/examples/add-remove.md +115 -0
- package/es/tabs/examples/animated.md +33 -0
- package/es/tabs/examples/basic.md +32 -0
- package/es/tabs/examples/card.md +33 -0
- package/es/tabs/examples/center.md +33 -0
- package/es/tabs/examples/disabled-tab.md +34 -0
- package/es/tabs/examples/disabled.md +33 -0
- package/es/tabs/examples/extra.md +65 -0
- package/es/tabs/index.js +2 -2
- package/es/tabs/index.js.map +1 -1
- package/es/tag/README.mdx +10 -0
- package/es/tag/examples/basic.md +28 -0
- package/es/tag/examples/bordered.md +19 -0
- package/es/tag/examples/color.md +25 -0
- package/es/tag/examples/icon.md +21 -0
- package/es/tag/examples/type.md +19 -0
- package/es/tag/index.js +3 -3
- package/es/tag/index.js.map +1 -1
- package/es/theme/README.mdx +10 -0
- package/es/theme/examples/colors.md +123 -0
- package/es/theme/examples/theme.md +19 -0
- package/es/theme/index.js +1 -1
- package/es/theme/index.js.map +1 -1
- package/es/tree/README.mdx +10 -0
- package/es/tree/examples/basic.md +108 -0
- package/es/tree/examples/custom-render.md +115 -0
- package/es/tree/examples/direction.md +100 -0
- package/es/tree/examples/field-names.md +114 -0
- package/es/tree/examples/multiple.md +117 -0
- package/es/tree/examples/readonly.md +90 -0
- package/es/tree/examples/render-tree-string1.md +70 -0
- package/es/tree/examples/render-tree-string2.md +52 -0
- package/es/tree/examples/schema.md +130 -0
- package/es/tree/examples/size.md +125 -0
- package/es/tree/examples/toggle.md +71 -0
- package/es/tree/index.js +1 -1
- package/es/tree/index.js.map +1 -1
- package/es/tree/register.js.map +1 -1
- package/es/typography/README.mdx +10 -0
- package/es/typography/examples/basic.md +27 -0
- package/es/typography/examples/tag.md +25 -0
- package/es/typography/examples/truncated.md +17 -0
- package/es/typography/index.js +3 -3
- package/es/typography/index.js.map +1 -1
- package/eslint.config.mjs +9 -0
- package/lib/avatar/README.mdx +10 -0
- package/lib/avatar/examples/basic.md +14 -0
- package/lib/avatar/examples/group.md +57 -0
- package/lib/avatar/examples/size.md +21 -0
- package/lib/avatar/group.js.map +1 -1
- package/lib/avatar/index.js +2 -2
- package/lib/avatar/index.js.map +1 -1
- package/lib/avatar/style.js +2 -2
- package/lib/avatar/style.js.map +1 -1
- package/lib/back-top/README.mdx +10 -0
- package/lib/back-top/examples/basic.md +19 -0
- package/lib/back-top/examples/mount.md +36 -0
- package/lib/back-top/examples/target.md +46 -0
- package/lib/back-top/index.js +1 -1
- package/lib/back-top/index.js.map +1 -1
- package/lib/basic-config/README.mdx +11 -0
- package/lib/button/README.mdx +10 -0
- package/lib/button/examples/basic.md +21 -0
- package/lib/button/examples/block.md +33 -0
- package/lib/button/examples/circle.md +21 -0
- package/lib/button/examples/danger.md +23 -0
- package/lib/button/examples/dashed.md +21 -0
- package/lib/button/examples/disabled.md +35 -0
- package/lib/button/examples/fill.md +21 -0
- package/lib/button/examples/flat.md +21 -0
- package/lib/button/examples/ghost.md +21 -0
- package/lib/button/examples/icon.md +30 -0
- package/lib/button/examples/link.md +21 -0
- package/lib/button/examples/size.md +23 -0
- package/lib/button/index.js +1 -1
- package/lib/button/index.js.map +1 -1
- package/lib/button/style.js +1 -0
- package/lib/button/style.js.map +1 -1
- package/lib/capture-screen/README.mdx +10 -0
- package/lib/capture-screen/examples/basic.md +13 -0
- package/lib/capture-screen/examples/custom-save.md +30 -0
- package/lib/capture-screen/examples/preview.md +13 -0
- package/lib/capture-screen/examples/recorder-save.md +13 -0
- package/lib/capture-screen/index.js +1 -1
- package/lib/capture-screen/index.js.map +1 -1
- package/lib/carousel/README.mdx +10 -0
- package/lib/carousel/examples/autoplay.md +21 -0
- package/lib/carousel/examples/basic.md +23 -0
- package/lib/carousel/examples/dots.md +23 -0
- package/lib/carousel/examples/header.md +38 -0
- package/lib/carousel/index.js +1 -1
- package/lib/carousel/index.js.map +1 -1
- package/lib/checkbox/README.mdx +10 -0
- package/lib/checkbox/examples/basic.md +31 -0
- package/lib/checkbox/examples/check-all.md +37 -0
- package/lib/checkbox/examples/disabled-all.md +28 -0
- package/lib/checkbox/examples/disabled-option.md +35 -0
- package/lib/checkbox/examples/field-names.md +40 -0
- package/lib/checkbox/examples/status.md +37 -0
- package/lib/checkbox/examples/vertical.md +36 -0
- package/lib/checkbox/index.js +1 -1
- package/lib/checkbox/index.js.map +1 -1
- package/lib/code/README.mdx +10 -0
- package/lib/code/examples/basic.md +19 -0
- package/lib/code/examples/diff.md +45 -0
- package/lib/code/examples/line-number.md +18 -0
- package/lib/code/examples/live-edit.md +20 -0
- package/lib/code/examples/toolbar.md +18 -0
- package/lib/code/index.js +2 -2
- package/lib/code/index.js.map +1 -1
- package/lib/code/worker.js.map +1 -1
- package/lib/color-palette/README.mdx +10 -0
- package/lib/color-palette/examples/default-value.md +25 -0
- package/lib/color-palette/examples/hexa.md +13 -0
- package/lib/color-palette/examples/hsla.md +13 -0
- package/lib/color-palette/examples/rgba.md +13 -0
- package/lib/color-palette/index.js +1 -1
- package/lib/color-palette/index.js.map +1 -1
- package/lib/color-picker/README.mdx +10 -0
- package/lib/color-picker/examples/basic.md +12 -0
- package/lib/color-picker/examples/default-value.md +20 -0
- package/lib/color-picker/examples/size.md +17 -0
- package/lib/color-picker/index.js +1 -1
- package/lib/color-picker/index.js.map +1 -1
- package/lib/cron/README.mdx +10 -0
- package/lib/cron/begin-interval.js.map +1 -1
- package/lib/cron/day.js.map +1 -1
- package/lib/cron/examples/basic.md +19 -0
- package/lib/cron/examples/card.md +12 -0
- package/lib/cron/examples/show-cron.md +12 -0
- package/lib/cron/hour.js +1 -1
- package/lib/cron/hour.js.map +1 -1
- package/lib/cron/index.js.map +1 -1
- package/lib/cron/item.js.map +1 -1
- package/lib/cron/minute.js +1 -1
- package/lib/cron/minute.js.map +1 -1
- package/lib/cron/month.js +1 -1
- package/lib/cron/month.js.map +1 -1
- package/lib/cron/period.js.map +1 -1
- package/lib/cron/second.js +1 -1
- package/lib/cron/second.js.map +1 -1
- package/lib/cron/some.js.map +1 -1
- package/lib/date-picker/README.mdx +10 -0
- package/lib/date-picker/date.js.map +1 -1
- package/lib/date-picker/dayjs.js +1 -1
- package/lib/date-picker/dayjs.js.map +1 -1
- package/lib/date-picker/examples/basic.md +24 -0
- package/lib/date-picker/examples/date.md +13 -0
- package/lib/date-picker/examples/disbaled.md +13 -0
- package/lib/date-picker/examples/header.md +13 -0
- package/lib/date-picker/examples/month.md +13 -0
- package/lib/date-picker/examples/time.md +15 -0
- package/lib/date-picker/examples/today.md +13 -0
- package/lib/date-picker/examples/year.md +13 -0
- package/lib/date-picker/index.js +1 -1
- package/lib/date-picker/index.js.map +1 -1
- package/lib/date-picker/month.js.map +1 -1
- package/lib/date-picker/panel.js +1 -1
- package/lib/date-picker/panel.js.map +1 -1
- package/lib/date-picker/time.js.map +1 -1
- package/lib/date-picker/year.js.map +1 -1
- package/lib/dropdown/README.mdx +10 -0
- package/lib/dropdown/examples/arrow.md +59 -0
- package/lib/dropdown/examples/basic.md +17 -0
- package/lib/dropdown/examples/click.md +45 -0
- package/lib/dropdown/examples/context-menu.md +66 -0
- package/lib/dropdown/examples/field-names.md +44 -0
- package/lib/dropdown/examples/icon.md +30 -0
- package/lib/dropdown/examples/multiple.md +45 -0
- package/lib/dropdown/examples/no-data.md +16 -0
- package/lib/dropdown/examples/placement.md +59 -0
- package/lib/dropdown/examples/toggle.md +36 -0
- package/lib/dropdown/index.js +1 -1
- package/lib/dropdown/index.js.map +1 -1
- package/lib/empty/index.js.map +1 -1
- package/lib/from-schema/index.js +1 -1
- package/lib/from-schema/index.js.map +1 -1
- package/lib/highlight-text/README.mdx +10 -0
- package/lib/highlight-text/examples/basic.md +19 -0
- package/lib/highlight-text/examples/mut.md +47 -0
- package/lib/highlight-text/examples/not-hightlight.md +19 -0
- package/lib/highlight-text/index.js.map +1 -1
- package/lib/img/README.mdx +10 -0
- package/lib/img/examples/basic.md +17 -0
- package/lib/img/examples/close-mask.md +21 -0
- package/lib/img/examples/disabled.md +16 -0
- package/lib/img/examples/error.md +13 -0
- package/lib/img/examples/esc.md +21 -0
- package/lib/img/examples/open-change.md +25 -0
- package/lib/img/index.js +1 -1
- package/lib/img/index.js.map +1 -1
- package/lib/img/lazy.js +1 -1
- package/lib/img/lazy.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/input/README.mdx +10 -0
- package/lib/input/examples/basic.md +31 -0
- package/lib/input/examples/prefix&suffix.md +33 -0
- package/lib/input/examples/size.md +21 -0
- package/lib/input/examples/status.md +23 -0
- package/lib/input/index.js +1 -1
- package/lib/input/index.js.map +1 -1
- package/lib/input-number/README.mdx +10 -0
- package/lib/input-number/examples/basic.md +26 -0
- package/lib/input-number/examples/formatter.md +36 -0
- package/lib/input-number/examples/max-min.md +13 -0
- package/lib/input-number/index.js.map +1 -1
- package/lib/katex/README.mdx +42 -0
- package/lib/katex/examples/block.md +25 -0
- package/lib/katex/examples/inline.md +19 -0
- package/lib/md/README.mdx +10 -0
- package/lib/md/examples/in-children.md +23 -0
- package/lib/md/examples/in-text.md +32 -0
- package/lib/md/examples/math.md +36 -0
- package/lib/md/index.js +1 -1
- package/lib/md/index.js.map +1 -1
- package/lib/menu/README.mdx +10 -0
- package/lib/menu/examples/basic.md +17 -0
- package/lib/menu/examples/field-names.md +42 -0
- package/lib/menu/examples/icon.md +125 -0
- package/lib/menu/examples/multiple.md +42 -0
- package/lib/menu/index.js +1 -1
- package/lib/menu/index.js.map +1 -1
- package/lib/modal/README.mdx +10 -0
- package/lib/modal/examples/basic.md +56 -0
- package/lib/modal/examples/close-icon.md +57 -0
- package/lib/modal/examples/esc-closable.md +64 -0
- package/lib/modal/examples/mask-blur.md +56 -0
- package/lib/modal/examples/mask-closable.md +64 -0
- package/lib/modal/index.js.map +1 -1
- package/lib/notification/README.mdx +11 -0
- package/lib/notification/examples/basic.md +35 -0
- package/lib/notification/examples/close.md +35 -0
- package/lib/notification/examples/type.md +84 -0
- package/lib/notification/examples/update.md +52 -0
- package/lib/notification/index.js.map +1 -1
- package/lib/notification/notification.js +1 -1
- package/lib/notification/notification.js.map +1 -1
- package/lib/pagination/README.mdx +10 -0
- package/lib/pagination/examples/basic.md +13 -0
- package/lib/pagination/examples/onchange.md +29 -0
- package/lib/pagination/examples/size.md +23 -0
- package/lib/pagination/examples/total-text.md +42 -0
- package/lib/pagination/index.js +1 -1
- package/lib/pagination/index.js.map +1 -1
- package/lib/popover/README.mdx +10 -0
- package/lib/popover/examples/basic.md +35 -0
- package/lib/popover/examples/click.md +15 -0
- package/lib/popover/examples/context-menu.md +58 -0
- package/lib/popover/examples/controlled.md +47 -0
- package/lib/popover/index.js +1 -1
- package/lib/popover/index.js.map +1 -1
- package/lib/prism/css.js.map +1 -1
- package/lib/prism/index.js.map +1 -1
- package/lib/provider/README.mdx +10 -0
- package/lib/provider/examples/scheme.md +14 -0
- package/lib/provider/index.js.map +1 -1
- package/lib/radio/README.mdx +10 -0
- package/lib/radio/examples/basic.md +19 -0
- package/lib/radio/examples/disabled-option.md +19 -0
- package/lib/radio/examples/disabled.md +19 -0
- package/lib/radio/examples/field-names.md +39 -0
- package/lib/radio/examples/layout-vertical.md +19 -0
- package/lib/radio/examples/status.md +31 -0
- package/lib/radio/index.js +1 -1
- package/lib/radio/index.js.map +1 -1
- package/lib/segmented/README.mdx +10 -0
- package/lib/segmented/examples/basic.md +18 -0
- package/lib/segmented/examples/custom-field-names.md +43 -0
- package/lib/segmented/examples/disabled-option.md +29 -0
- package/lib/segmented/examples/disabled.md +18 -0
- package/lib/segmented/examples/icon.md +28 -0
- package/lib/segmented/examples/options.md +21 -0
- package/lib/segmented/index.js +2 -2
- package/lib/segmented/index.js.map +1 -1
- package/lib/select/README.mdx +10 -0
- package/lib/select/examples/basic.md +44 -0
- package/lib/select/examples/disabled-option.md +21 -0
- package/lib/select/examples/disabled.md +24 -0
- package/lib/select/examples/field-names.md +40 -0
- package/lib/select/examples/item-suffix.md +84 -0
- package/lib/select/examples/multiple.md +61 -0
- package/lib/select/examples/no-data.md +12 -0
- package/lib/select/examples/prefix-icon.md +74 -0
- package/lib/select/index.js +1 -1
- package/lib/select/index.js.map +1 -1
- package/lib/skeleton/README.mdx +10 -0
- package/lib/skeleton/examples/animation.md +13 -0
- package/lib/skeleton/examples/avatar.md +13 -0
- package/lib/skeleton/examples/basic.md +12 -0
- package/lib/skeleton/examples/rows.md +13 -0
- package/lib/skeleton/examples/title.md +12 -0
- package/lib/skeleton/index.js.map +1 -1
- package/lib/spin/README.mdx +10 -0
- package/lib/spin/examples/basic.md +67 -0
- package/lib/spin/index.js +3 -3
- package/lib/spin/index.js.map +1 -1
- package/lib/switch/README.mdx +10 -0
- package/lib/switch/examples/basic.md +24 -0
- package/lib/switch/examples/checked-text.md +17 -0
- package/lib/switch/examples/disabled.md +15 -0
- package/lib/switch/examples/loading.md +17 -0
- package/lib/switch/index.js +1 -1
- package/lib/switch/index.js.map +1 -1
- package/lib/table/README.mdx +10 -0
- package/lib/table/examples/basic.md +29 -0
- package/lib/table/examples/key.md +29 -0
- package/lib/table/examples/order.md +29 -0
- package/lib/table/examples/pagination.md +67 -0
- package/lib/table/examples/render.md +92 -0
- package/lib/table/examples/size.md +52 -0
- package/lib/table/examples/summary.md +40 -0
- package/lib/table/index.js +1 -1
- package/lib/table/index.js.map +1 -1
- package/lib/tabs/README.mdx +10 -0
- package/lib/tabs/examples/add-remove.md +115 -0
- package/lib/tabs/examples/animated.md +33 -0
- package/lib/tabs/examples/basic.md +32 -0
- package/lib/tabs/examples/card.md +33 -0
- package/lib/tabs/examples/center.md +33 -0
- package/lib/tabs/examples/disabled-tab.md +34 -0
- package/lib/tabs/examples/disabled.md +33 -0
- package/lib/tabs/examples/extra.md +65 -0
- package/lib/tabs/index.js +2 -2
- package/lib/tabs/index.js.map +1 -1
- package/lib/tag/README.mdx +10 -0
- package/lib/tag/examples/basic.md +28 -0
- package/lib/tag/examples/bordered.md +19 -0
- package/lib/tag/examples/color.md +25 -0
- package/lib/tag/examples/icon.md +21 -0
- package/lib/tag/examples/type.md +19 -0
- package/lib/tag/index.js +3 -3
- package/lib/tag/index.js.map +1 -1
- package/lib/theme/README.mdx +10 -0
- package/lib/theme/examples/colors.md +123 -0
- package/lib/theme/examples/theme.md +19 -0
- package/lib/theme/index.js +1 -1
- package/lib/theme/index.js.map +1 -1
- package/lib/tree/README.mdx +10 -0
- package/lib/tree/examples/basic.md +108 -0
- package/lib/tree/examples/custom-render.md +115 -0
- package/lib/tree/examples/direction.md +100 -0
- package/lib/tree/examples/field-names.md +114 -0
- package/lib/tree/examples/multiple.md +117 -0
- package/lib/tree/examples/readonly.md +90 -0
- package/lib/tree/examples/render-tree-string1.md +70 -0
- package/lib/tree/examples/render-tree-string2.md +52 -0
- package/lib/tree/examples/schema.md +130 -0
- package/lib/tree/examples/size.md +125 -0
- package/lib/tree/examples/toggle.md +71 -0
- package/lib/tree/index.js +1 -1
- package/lib/tree/index.js.map +1 -1
- package/lib/tree/register.js.map +1 -1
- package/lib/typography/README.mdx +10 -0
- package/lib/typography/examples/basic.md +27 -0
- package/lib/typography/examples/tag.md +25 -0
- package/lib/typography/examples/truncated.md +17 -0
- package/lib/typography/index.js.map +1 -1
- package/package.json +18 -18
- package/types/avatar/group.d.ts +1 -1
- package/types/back-top/index.d.ts +1 -1
- package/types/capture-screen/index.d.ts +1 -1
- package/types/color-palette/index.d.ts +1 -1
- package/types/color-picker/index.d.ts +1 -1
- package/types/cron/begin-interval.d.ts +3 -3
- package/types/cron/index.d.ts +5 -5
- package/types/cron/item.d.ts +4 -4
- package/types/cron/period.d.ts +3 -3
- package/types/cron/some.d.ts +3 -3
- package/types/date-picker/date.d.ts +2 -2
- package/types/date-picker/index.d.ts +2 -2
- package/types/date-picker/month.d.ts +2 -2
- package/types/date-picker/panel.d.ts +3 -3
- package/types/date-picker/time.d.ts +2 -2
- package/types/date-picker/year.d.ts +2 -2
- package/types/dropdown/index.d.ts +1 -1
- package/types/empty/index.d.ts +1 -1
- package/types/from-schema/index.d.ts +4 -4
- package/types/index.d.ts +12 -12
- package/types/md/index.d.ts +1 -1
- package/types/modal/index.d.ts +1 -1
- package/types/notification/index.d.ts +1 -1
- package/types/pagination/index.d.ts +1 -1
- package/types/provider/index.d.ts +1 -1
- package/types/segmented/index.d.ts +1 -1
- package/types/select/index.d.ts +1 -1
- package/types/table/index.d.ts +1 -1
- package/types/tabs/index.d.ts +1 -1
- package/types/tree/index.d.ts +1 -1
- package/umd/assets/svg/favicon.svg +1 -0
- package/umd/index.js +2 -2
- package/umd/js/46e8f96158e59015.js +1 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 自定义字段名
|
|
3
|
+
description: 自定义节点 'label'、'value'、'options' 的字段
|
|
4
|
+
order: 6
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-segmented default-value="3"></n-segmented>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-segmented');
|
|
11
|
+
|
|
12
|
+
el.fieldNames = {
|
|
13
|
+
label: 'name',
|
|
14
|
+
value: 'code',
|
|
15
|
+
};
|
|
16
|
+
el.options = [
|
|
17
|
+
{ code: 1, name: '选项1' },
|
|
18
|
+
{ code: 2, name: '选项2' },
|
|
19
|
+
{ code: 3, name: '选项3' },
|
|
20
|
+
];
|
|
21
|
+
el.onchange = function (e) {
|
|
22
|
+
console.log(e.detail);
|
|
23
|
+
};
|
|
24
|
+
</script>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```jsx
|
|
28
|
+
<n-segmented
|
|
29
|
+
default-value={3}
|
|
30
|
+
field-names={{
|
|
31
|
+
label: 'name',
|
|
32
|
+
value: 'code',
|
|
33
|
+
}}
|
|
34
|
+
options={[
|
|
35
|
+
{ code: 1, name: '选项1' },
|
|
36
|
+
{ code: 2, name: '选项2' },
|
|
37
|
+
{ code: 3, name: '选项3' },
|
|
38
|
+
]}
|
|
39
|
+
onchange={(e) => {
|
|
40
|
+
console.log(e.detail);
|
|
41
|
+
}}
|
|
42
|
+
/>
|
|
43
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 禁用某个选项
|
|
3
|
+
description: 通过设置 `options` 中的 `disabled` 来禁用某个选项
|
|
4
|
+
order: 3
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-segmented default-value="1"></n-segmented>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-segmented');
|
|
11
|
+
|
|
12
|
+
el.options = [
|
|
13
|
+
{ value: 1, label: '选项1' },
|
|
14
|
+
{ value: 2, label: '选项2', disabled: true },
|
|
15
|
+
{ value: 3, label: '选项3' },
|
|
16
|
+
];
|
|
17
|
+
</script>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```jsx
|
|
21
|
+
<n-segmented
|
|
22
|
+
default-value={1}
|
|
23
|
+
options={[
|
|
24
|
+
{ value: 1, label: '选项1' },
|
|
25
|
+
{ value: 2, label: '选项2', disabled: true },
|
|
26
|
+
{ value: 3, label: '选项3' },
|
|
27
|
+
]}
|
|
28
|
+
/>
|
|
29
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 不可用
|
|
3
|
+
description: 禁用全部选项选项
|
|
4
|
+
order: 4
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-segmented default-value="Vue" disabled="true"></n-segmented>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-segmented');
|
|
11
|
+
|
|
12
|
+
el.options = ['React', 'Vue', 'SolidJS', 'Flutter'];
|
|
13
|
+
</script>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
```jsx
|
|
17
|
+
<n-segmented default-value="Vue" disabled options={['React', 'Vue', 'SolidJS', 'Flutter']} />
|
|
18
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 图标
|
|
3
|
+
description: 为每个选项搭配上图标
|
|
4
|
+
order: 5
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-segmented default-value="3"></n-segmented>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-segmented');
|
|
11
|
+
const icon = document.createElement('span');
|
|
12
|
+
|
|
13
|
+
icon.textContent = 'Ⓒ';
|
|
14
|
+
icon.style.color = 'red';
|
|
15
|
+
el.options = ['HTML', { value: 3, label: 'CSS', icon: icon }, 'JavaScript'];
|
|
16
|
+
</script>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
```jsx
|
|
20
|
+
<n-segmented
|
|
21
|
+
default-value={3}
|
|
22
|
+
options={[
|
|
23
|
+
'HTML',
|
|
24
|
+
{ value: 3, label: 'CSS', icon: <span style={{ color: 'red' }}>Ⓒ</span> },
|
|
25
|
+
'JavaScript',
|
|
26
|
+
]}
|
|
27
|
+
/>
|
|
28
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 单独配置
|
|
3
|
+
description: 单独配置标题和值
|
|
4
|
+
order: 2
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-segmented default-value="3"></n-segmented>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-segmented');
|
|
11
|
+
|
|
12
|
+
el.options = ['HTML', 'CSS', { value: 3, label: 'TypeScript' }, 'Dart', 'Swift', 'Rust'];
|
|
13
|
+
</script>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
```jsx
|
|
17
|
+
<n-segmented
|
|
18
|
+
default-value={3}
|
|
19
|
+
options={['HTML', 'CSS', { value: 3, label: 'TypeScript' }, 'Dart', 'Swift', 'Rust']}
|
|
20
|
+
/>
|
|
21
|
+
```
|
package/es/segmented/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{setAttribute as o}from"solid-js/web";import{insert as s}from"solid-js/web";import{getOwner as i}from"solid-js/web";import{effect as l}from"solid-js/web";import{delegateEvents as r}from"solid-js/web";import{createComponent as n}from"solid-js/web";import{className as a}from"solid-js/web";import{addEventListener as d}from"solid-js/web";let m=t("<style> "),f=t("<style>"),u=t("<div>"),c=t('<input class="segmented" type="radio">'),p=t('<span class="icon">'),b=t('<n-typography type="secondary">',!0,!1),g=t("<label>");import{
|
|
1
|
+
import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{setAttribute as o}from"solid-js/web";import{insert as s}from"solid-js/web";import{getOwner as i}from"solid-js/web";import{effect as l}from"solid-js/web";import{delegateEvents as r}from"solid-js/web";import{createComponent as n}from"solid-js/web";import{className as a}from"solid-js/web";import{addEventListener as d}from"solid-js/web";let m=t("<style> "),f=t("<style>"),u=t("<div>"),c=t('<input class="segmented" type="radio">'),p=t('<span class="icon">'),b=t('<n-typography type="secondary">',!0,!1),g=t("<label>");import{createEffect as v,createMemo as h,createSignal as w,For as y,mergeProps as j,Show as C}from"solid-js";import x from"@moneko/common/lib/isFunction";import{css as k,cx as $}from"@moneko/css";import{customElement as E}from"solid-element";import{FieldName as N}from"../basic-config";import V from"../get-options";import A from"../theme";import{style as L}from"./style";import"../typography";function O(t){let r;let{baseStyle:j,isDark:E}=A,[O,T]=w(t.defaultValue),[F,H]=w(""),W=h(()=>E()?k`
|
|
2
2
|
:host {
|
|
3
3
|
--segmented-bg: #000;
|
|
4
4
|
--segmented-current-bg: #1f1f1f;
|
|
@@ -8,5 +8,5 @@ import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";impor
|
|
|
8
8
|
--segmented-bg: var(--primary-details-bg);
|
|
9
9
|
--segmented-current-bg: #fff;
|
|
10
10
|
}
|
|
11
|
-
`),_=
|
|
11
|
+
`),_=h(()=>Object.assign({},N,t.fieldNames));function q(e){if(!t.disabled&&!e.disabled){let o=e[_().value];x(t.onChange)&&t.onChange(o),void 0===t.value&&T(o)}}let z=h(()=>V(t.options,_()));return v(()=>{T(void 0!==t.value&&t.value||t.defaultValue)}),v(()=>{let e=z().find(e=>e[_().value]===O()),t=setTimeout(()=>{clearTimeout(t);let o=null==e?void 0:e.ref;o?H(`.box {--w: ${o.offsetWidth}px;--h: ${o.offsetHeight}px;--left: ${o.offsetLeft}px;}`):H("")},0)}),[(()=>{let e=m(),t=e.firstChild;return l(()=>t.data=j()),e})(),(()=>{let e=m(),t=e.firstChild;return l(()=>t.data=W()),e})(),(()=>{let e=f();return e.textContent=L,e})(),(()=>{let e=m(),t=e.firstChild;return l(()=>t.data=F()),e})(),n(C,{get when(){return t.css},get children(){let e=m(),o=e.firstChild;return l(()=>o.data=k(t.css)),e}}),(()=>{let m=u(),f=r;return"function"==typeof f?e(f,m):r=m,s(m,n(y,{get each(){return z()},children:(r,m)=>{let f=t.disabled||r.disabled,u=()=>{q(r)},v=_();return[(()=>{let e=c();return d(e,"change",u),e.disabled=f,l(()=>o(e,"name",t.name)),l(()=>e.value=r[v.value]),l(()=>e.checked=r[v.value]===O()),e})(),(()=>{let t=g(),c=z()[m()].ref;return"function"==typeof c?e(c,t):z()[m()].ref=t,d(t,"click",u,!0),t.$$keyup=({key:e})=>{"Enter"===e&&q(r)},o(t,"tabindex",f?-1:0),o(t,"aria-disabled",f),s(t,n(C,{get when(){return r[v.icon]},get children(){let e=p();return s(e,()=>r[v.icon]),e}}),null),s(t,()=>r[v.label],null),s(t,n(C,{get when(){return r[v.suffix]},get children(){let e=b();return e._$owner=i(),s(e,()=>r[v.suffix]),e}}),null),l(()=>a(t,$("label",r.class))),t})()]}})),l(()=>a(m,$("box",t.class))),m})()]}E("n-segmented",{class:void 0,css:void 0,name:void 0,disabled:void 0,value:void 0,defaultValue:void 0,options:[],onChange:void 0,fieldNames:void 0},(e,t)=>{let o=t.element,s=j({css:o.css,name:o.name,disabled:o.disabled,value:o.value,defaultValue:o.defaultValue,options:o.options,fieldNames:o.fieldNames,onChange(e){o.dispatchEvent(new CustomEvent("change",{detail:e}))}},e);return v(()=>{o.removeAttribute("options"),o.removeAttribute("field-names"),o.removeAttribute("css")}),n(O,s)});export default O;r(["click","keyup"]);
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../components/segmented/index.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../components/segmented/index.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, For, mergeProps, Show } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { BaseOption, BasicConfig, CustomElement } from '..';\nimport { FieldName } from '../basic-config';\nimport getOptions from '../get-options';\nimport theme from '../theme';\n\nimport { style } from './style';\n\nimport '../typography';\n\nexport interface SegmentedProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** input[type=\"radio\"] 的 name 属性 */\n name?: string;\n /** 只读 */\n disabled?: boolean;\n /** 值 */\n value?: string | number;\n /** 默认值 */\n defaultValue?: string | number;\n /** 选项数据 */\n options?: (BaseOption | string | number)[];\n /** 自定义节点 'label'、'value'、'options' 的字段 */\n fieldNames?: BasicConfig['fieldName'];\n /** 值修改时的回调方法 */\n onChange?(val: string | number): void;\n}\n\nfunction Segmented(props: SegmentedProps) {\n const { baseStyle, isDark } = theme;\n const [value, setValue] = createSignal(props.defaultValue);\n const [offsetStyle, setOffsetStyle] = createSignal('');\n let box: HTMLDivElement | undefined;\n const cssVar = createMemo(() => {\n if (isDark()) {\n return css`\n :host {\n --segmented-bg: #000;\n --segmented-current-bg: #1f1f1f;\n }\n `;\n }\n\n return css`\n :host {\n --segmented-bg: var(--primary-details-bg);\n --segmented-current-bg: #fff;\n }\n `;\n });\n const fieldNames = createMemo(() => Object.assign({}, FieldName, props.fieldNames));\n\n function onChange(item: BaseOption) {\n if (!props.disabled && !item.disabled) {\n const next = item[fieldNames().value];\n\n if (isFunction(props.onChange)) {\n props.onChange(next);\n }\n if (props.value === void 0) {\n setValue(next);\n }\n }\n }\n function onKeyUp(key: string, item: BaseOption) {\n if (key === 'Enter') {\n onChange(item);\n }\n }\n const options = createMemo(() => {\n return getOptions(props.options, fieldNames());\n });\n\n createEffect(() => {\n setValue((props.value !== void 0 && props.value) || props.defaultValue);\n });\n\n createEffect(() => {\n const val = options().find((o) => o[fieldNames().value] === value());\n const timer = setTimeout(() => {\n clearTimeout(timer);\n const el = val?.ref;\n\n if (el) {\n setOffsetStyle(\n `.box {--w: ${el.offsetWidth}px;--h: ${el.offsetHeight}px;--left: ${el.offsetLeft}px;}`,\n );\n } else {\n setOffsetStyle('');\n }\n }, 0);\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={cssVar()} />\n <style textContent={style} />\n <style textContent={offsetStyle()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div ref={box} class={cx('box', props.class)}>\n <For each={options()}>\n {(item, i) => {\n const readOnly = props.disabled || item.disabled;\n const handleChange = () => {\n onChange(item);\n };\n const fieldName = fieldNames();\n\n return (\n <>\n <input\n class=\"segmented\"\n type=\"radio\"\n name={props.name}\n value={item[fieldName.value]}\n disabled={readOnly}\n checked={item[fieldName.value] === value()}\n onChange={handleChange}\n />\n <label\n class={cx('label', item.class)}\n tabindex={readOnly ? -1 : 0}\n onKeyUp={({ key }) => {\n onKeyUp(key, item);\n }}\n onClick={handleChange}\n aria-disabled={readOnly}\n ref={options()[i()].ref}\n >\n <Show when={item[fieldName.icon]}>\n <span class=\"icon\">{item[fieldName.icon]}</span>\n </Show>\n {item[fieldName.label]}\n <Show when={item[fieldName.suffix]}>\n <n-typography type=\"secondary\">{item[fieldName.suffix]}</n-typography>\n </Show>\n </label>\n </>\n );\n }}\n </For>\n </div>\n </>\n );\n}\n\nexport type SegmentedElement = CustomElement<SegmentedProps>;\n\ncustomElement<SegmentedProps>(\n 'n-segmented',\n {\n class: void 0,\n css: void 0,\n name: void 0,\n disabled: void 0,\n value: void 0,\n defaultValue: void 0,\n options: [],\n onChange: void 0,\n fieldNames: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n css: el.css,\n name: el.name,\n disabled: el.disabled,\n value: el.value,\n defaultValue: el.defaultValue,\n options: el.options,\n fieldNames: el.fieldNames,\n onChange(next: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: next,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n el.removeAttribute('options');\n el.removeAttribute('field-names');\n el.removeAttribute('css');\n });\n return <Segmented {...props} />;\n },\n);\nexport default Segmented;\n"],"names":["createEffect","createMemo","createSignal","For","mergeProps","Show","isFunction","css","cx","customElement","FieldName","getOptions","theme","style","Segmented","props","box","baseStyle","isDark","value","setValue","defaultValue","offsetStyle","setOffsetStyle","cssVar","fieldNames","Object","assign","onChange","item","disabled","next","options","val","find","o","timer","setTimeout","clearTimeout","el","ref","offsetWidth","offsetHeight","offsetLeft","i","readOnly","handleChange","fieldName","name","key","icon","label","suffix","class","_","opt","element","dispatchEvent","CustomEvent","detail","removeAttribute"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 最简单的用法
|
|
3
|
+
description: 通过 `default-value` 属性设置默认值
|
|
4
|
+
order: 1
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-select default-value="C" label="最简单的配置" placeholder="请选择"></n-select>
|
|
9
|
+
<div>或者</div>
|
|
10
|
+
<n-select default-value="2"></n-select>
|
|
11
|
+
<script>
|
|
12
|
+
const els = container.querySelectorAll('n-select');
|
|
13
|
+
|
|
14
|
+
els[0].options = ['A', 'B', 'C', 'D'];
|
|
15
|
+
els[1].options = [
|
|
16
|
+
{
|
|
17
|
+
label: '分组1',
|
|
18
|
+
options: [
|
|
19
|
+
{ value: 1, label: '选项 1' },
|
|
20
|
+
{ value: 2, label: '选项 2' },
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
{ label: '分组2', options: [{ value: 4, label: '选项 4' }] },
|
|
24
|
+
];
|
|
25
|
+
</script>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```jsx
|
|
29
|
+
<n-select default-value="C" label="最简单的配置" options={['A', 'B', 'C', 'D']} />
|
|
30
|
+
<div>或者</div>
|
|
31
|
+
<n-select
|
|
32
|
+
default-value={2}
|
|
33
|
+
options={[
|
|
34
|
+
{
|
|
35
|
+
label: '分组1',
|
|
36
|
+
options: [
|
|
37
|
+
{ value: 1, label: '选项 1' },
|
|
38
|
+
{ value: 2, label: '选项 2' },
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
{ label: '分组2', options: [{ value: 4, label: '选项 4' }] },
|
|
42
|
+
]}
|
|
43
|
+
/>
|
|
44
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 禁用部分选项
|
|
3
|
+
description: 设置 `options` 中的 `disabled` 属性禁用部分选项
|
|
4
|
+
order: 2
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-select placeholder="请选择"></n-select>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-select');
|
|
11
|
+
|
|
12
|
+
el.options = ['默认', { value: '2', label: '附加', disabled: true }, '去除'];
|
|
13
|
+
</script>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
```jsx
|
|
17
|
+
<n-select
|
|
18
|
+
placeholder="请选择"
|
|
19
|
+
options={['默认', { value: '2', label: '附加', disabled: true }, '去除']}
|
|
20
|
+
/>
|
|
21
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 不可用状态
|
|
3
|
+
description: 设置 `disabled` 属性禁用操作
|
|
4
|
+
order: 3
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-select default-value="B" disabled="true"></n-select>
|
|
9
|
+
<hr />
|
|
10
|
+
<n-select multiple="true" disabled="true"></n-select>
|
|
11
|
+
<script>
|
|
12
|
+
const el = container.querySelectorAll('n-select');
|
|
13
|
+
|
|
14
|
+
el[0].options = ['A', 'B', 'D'];
|
|
15
|
+
el[1].options = ['A', 'B', 'D'];
|
|
16
|
+
el[1].value = ['A', 'D'];
|
|
17
|
+
</script>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```jsx
|
|
21
|
+
<n-select default-value="B" disabled options={['A', 'B', 'D']} />
|
|
22
|
+
<hr />
|
|
23
|
+
<n-select value={['A', 'D']} multiple disabled options={['A', 'B', 'D']} />
|
|
24
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 自定义字段名
|
|
3
|
+
description: 自定义节点 'label'、'value'、'options' 的字段
|
|
4
|
+
order: 5
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-select default-value="3" placeholder="请选择"></n-select>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-select');
|
|
11
|
+
|
|
12
|
+
el.fieldNames = {
|
|
13
|
+
label: 'name',
|
|
14
|
+
value: 'code',
|
|
15
|
+
};
|
|
16
|
+
el.options = [
|
|
17
|
+
{ code: '1', name: 'option-1' },
|
|
18
|
+
{ code: '2', name: 'option-2' },
|
|
19
|
+
{ code: '3', name: 'option-3' },
|
|
20
|
+
{ code: '4', name: 'option-4' },
|
|
21
|
+
];
|
|
22
|
+
</script>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```jsx
|
|
26
|
+
<n-select
|
|
27
|
+
default-value="3"
|
|
28
|
+
placeholder="请选择"
|
|
29
|
+
field-names={{
|
|
30
|
+
label: 'name',
|
|
31
|
+
value: 'code',
|
|
32
|
+
}}
|
|
33
|
+
options={[
|
|
34
|
+
{ code: '1', name: 'option-1' },
|
|
35
|
+
{ code: '2', name: 'option-2' },
|
|
36
|
+
{ code: '3', name: 'option-3' },
|
|
37
|
+
{ code: '4', name: 'option-4' },
|
|
38
|
+
]}
|
|
39
|
+
/>
|
|
40
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 给选项添加后缀
|
|
3
|
+
description: 可以使用 `suffix` 给选项添加一个描述
|
|
4
|
+
order: 8
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-select default-value="3" placeholder="请选择"></n-select>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-select');
|
|
11
|
+
el.options = [
|
|
12
|
+
{
|
|
13
|
+
label: '人员',
|
|
14
|
+
suffix: () => {
|
|
15
|
+
// 可以是一个函数, 返回 dom
|
|
16
|
+
const add = document.createElement('n-popover');
|
|
17
|
+
|
|
18
|
+
add.textContent = '?';
|
|
19
|
+
add.style.cursor = 'pointer';
|
|
20
|
+
add.content = '这里是人员列表';
|
|
21
|
+
add.arrow = true;
|
|
22
|
+
add.onmousedown = function (e) {
|
|
23
|
+
e.stopPropagation();
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
};
|
|
26
|
+
return add;
|
|
27
|
+
},
|
|
28
|
+
children: [
|
|
29
|
+
// 也可以是string
|
|
30
|
+
{ value: 1, label: '张三', suffix: 'zhangsan' },
|
|
31
|
+
{ value: 2, label: '李四', suffix: 'lishi' },
|
|
32
|
+
{ value: 3, label: '王五', suffix: 'wangwu' },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: '其他',
|
|
37
|
+
options: [
|
|
38
|
+
// 也可以是string
|
|
39
|
+
{ value: '11', label: '张三', suffix: 'zhangsan' },
|
|
40
|
+
{ value: '22', label: '李四', suffix: 'lishi' },
|
|
41
|
+
{ value: '33', label: '王五', suffix: 'wangwu' },
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
</script>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```jsx
|
|
49
|
+
<n-select
|
|
50
|
+
default-value="3"
|
|
51
|
+
placeholder="请选择"
|
|
52
|
+
options={[
|
|
53
|
+
{
|
|
54
|
+
label: '人员',
|
|
55
|
+
suffix: () => (
|
|
56
|
+
<n-popover
|
|
57
|
+
arrow={true}
|
|
58
|
+
onMouseDown={(e) => {
|
|
59
|
+
e.stopPropagation();
|
|
60
|
+
e.preventDefault();
|
|
61
|
+
}}
|
|
62
|
+
content={<strong style={{ padding: '16px' }}>这里是人员列表</strong>}
|
|
63
|
+
>
|
|
64
|
+
?
|
|
65
|
+
</n-popover>
|
|
66
|
+
),
|
|
67
|
+
children: [
|
|
68
|
+
{ value: '1', label: '张三', suffix: 'zhangsan' },
|
|
69
|
+
{ value: '2', label: '李四', suffix: 'lishi' },
|
|
70
|
+
{ value: '3', label: '王五', suffix: 'wangwu' },
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
label: '其他',
|
|
75
|
+
options: [
|
|
76
|
+
// 也可以是string
|
|
77
|
+
{ value: '11', label: '张三', suffix: 'zhangsan' },
|
|
78
|
+
{ value: '22', label: '李四', suffix: 'lishi' },
|
|
79
|
+
{ value: '33', label: '王五', suffix: 'wangwu' },
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
]}
|
|
83
|
+
/>
|
|
84
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 多选模式
|
|
3
|
+
description: 设置 `multiple` 属性支持多选
|
|
4
|
+
order: 4
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<n-select multiple="true" placeholder="请选择"></n-select>
|
|
9
|
+
<script>
|
|
10
|
+
const el = container.querySelector('n-select');
|
|
11
|
+
|
|
12
|
+
el.defaultValue = ['3', '6', '2'];
|
|
13
|
+
el.options = [
|
|
14
|
+
{
|
|
15
|
+
label: '普通',
|
|
16
|
+
options: [
|
|
17
|
+
{ value: '1', label: '张三' },
|
|
18
|
+
{ value: '2', label: '李四' },
|
|
19
|
+
{ value: '3', label: '王五' },
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
label: '华山派',
|
|
24
|
+
options: [
|
|
25
|
+
{ value: '4', label: '赵六' },
|
|
26
|
+
{ value: '7', label: '王五3' },
|
|
27
|
+
{ value: '8', label: '赵六4', type: 'warning' },
|
|
28
|
+
{ value: '5', label: '张三1', disabled: true },
|
|
29
|
+
{ value: '6', label: '李四2', type: 'error' },
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
</script>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```jsx
|
|
37
|
+
<n-select
|
|
38
|
+
multiple
|
|
39
|
+
default-value={['2', '3']}
|
|
40
|
+
options={[
|
|
41
|
+
{
|
|
42
|
+
label: '普通',
|
|
43
|
+
options: [
|
|
44
|
+
{ value: '1', label: '张三' },
|
|
45
|
+
{ value: '2', label: '李四' },
|
|
46
|
+
{ value: '3', label: '王五' },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
label: '华山派',
|
|
51
|
+
options: [
|
|
52
|
+
{ value: '4', label: '赵六' },
|
|
53
|
+
{ value: '7', label: '王五3' },
|
|
54
|
+
{ value: '8', label: '赵六4', type: 'warning' },
|
|
55
|
+
{ value: '5', label: '张三1', disabled: true },
|
|
56
|
+
{ value: '6', label: '李四2', type: 'error' },
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
]}
|
|
60
|
+
/>
|
|
61
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 前缀
|
|
3
|
+
description: 通过 `default-value` 属性设置默认值
|
|
4
|
+
order: 1
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<div style="display:flex;gap:10px;flex-direction:column;">
|
|
9
|
+
<n-select default-value="C" suffix-icon="😅" prefix-icon="🌞" label="后缀,前缀"></n-select>
|
|
10
|
+
<n-select suffix-icon="🌞" label="带后缀,无前缀"></n-select>
|
|
11
|
+
<n-select multiple="true" prefix-icon="🌞" label="后缀,前缀"></n-select>
|
|
12
|
+
<n-select prefix-icon="🌞" label="带前缀,无后缀"></n-select>
|
|
13
|
+
<n-select multiple="true" label="带后缀,无前缀" suffix-icon="🌞"></n-select>
|
|
14
|
+
<n-select multiple="true" prefix-icon="🌞" label="带前缀,无后缀"></n-select>
|
|
15
|
+
<n-select></n-select>
|
|
16
|
+
</div>
|
|
17
|
+
<script>
|
|
18
|
+
const els = container.querySelectorAll('n-select');
|
|
19
|
+
els[2].suffixIcon = function () {
|
|
20
|
+
const a = document.createElement('div');
|
|
21
|
+
|
|
22
|
+
a.innerHTML = `<n-popover arrow="true" content="这是一个提示">🔔</n-popover>`;
|
|
23
|
+
return a.firstElementChild;
|
|
24
|
+
};
|
|
25
|
+
for (var i = els.length - 1; i >= 0; i--) {
|
|
26
|
+
els[i].options = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
|
|
27
|
+
els[i].placeholder = '请选择';
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```jsx
|
|
33
|
+
const opts = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
|
|
34
|
+
|
|
35
|
+
render(
|
|
36
|
+
<div
|
|
37
|
+
style={{
|
|
38
|
+
display: 'flex',
|
|
39
|
+
gap: '10px',
|
|
40
|
+
'flex-direction': 'column',
|
|
41
|
+
}}
|
|
42
|
+
>
|
|
43
|
+
<n-select
|
|
44
|
+
default-value="C"
|
|
45
|
+
suffix-icon="😅"
|
|
46
|
+
prefix-icon={
|
|
47
|
+
<n-popover arrow content="这是一个提示">
|
|
48
|
+
😅
|
|
49
|
+
</n-popover>
|
|
50
|
+
}
|
|
51
|
+
label="后缀,前缀"
|
|
52
|
+
options={opts}
|
|
53
|
+
placeholder="请选择"
|
|
54
|
+
/>
|
|
55
|
+
<n-select suffix-icon="🌞" label="带后缀,无前缀" options={opts} placeholder="请选择" />
|
|
56
|
+
<n-select
|
|
57
|
+
multiple
|
|
58
|
+
label="后缀,前缀"
|
|
59
|
+
suffix-icon={
|
|
60
|
+
<n-popover arrow content="这是一个提示">
|
|
61
|
+
🔔
|
|
62
|
+
</n-popover>
|
|
63
|
+
}
|
|
64
|
+
prefix-icon="🌞"
|
|
65
|
+
options={opts}
|
|
66
|
+
placeholder="请选择"
|
|
67
|
+
/>
|
|
68
|
+
<n-select prefix-icon="🌞" label="带前缀,无后缀" options={opts} placeholder="请选择" />
|
|
69
|
+
<n-select multiple label="带后缀,无前缀" suffix-icon="🌞" options={opts} placeholder="请选择" />
|
|
70
|
+
<n-select multiple prefix-icon="🌞" label="带前缀,无后缀" options={opts} placeholder="请选择" />
|
|
71
|
+
<n-select placeholder="请选择" />
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
```
|
package/es/select/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}import{use as t}from"solid-js/web";import{template as n}from"solid-js/web";import{setAttribute as r}from"solid-js/web";import{mergeProps as o}from"solid-js/web";import"solid-js/web";import{insert as l}from"solid-js/web";import{getOwner as i}from"solid-js/web";import{effect as a}from"solid-js/web";import{delegateEvents as s}from"solid-js/web";import{createComponent as d}from"solid-js/web";import{addEventListener as c}from"solid-js/web";let u=n('<span class="prefix">'),p=n('<label class="label">'),v=n('<span class="suffix">'),f=n('<div class="select"><div class="tags">'),g=n('<span class="value">'),m=n('<span class="placeholder">'),b=n('<n-tag class="tag">',!0,!1);import{
|
|
1
|
+
function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}import{use as t}from"solid-js/web";import{template as n}from"solid-js/web";import{setAttribute as r}from"solid-js/web";import{mergeProps as o}from"solid-js/web";import"solid-js/web";import{insert as l}from"solid-js/web";import{getOwner as i}from"solid-js/web";import{effect as a}from"solid-js/web";import{delegateEvents as s}from"solid-js/web";import{createComponent as d}from"solid-js/web";import{addEventListener as c}from"solid-js/web";let u=n('<span class="prefix">'),p=n('<label class="label">'),v=n('<span class="suffix">'),f=n('<div class="select"><div class="tags">'),g=n('<span class="value">'),m=n('<span class="placeholder">'),b=n('<n-tag class="tag">',!0,!1);import{batch as h,createEffect as w,createMemo as $,createSignal as _,For as y,mergeProps as j,onMount as x,Show as A,splitProps as C,untrack as O}from"solid-js";import I from"@moneko/common/lib/isFunction";import{customElement as k}from"solid-element";import{FieldName as E}from"../basic-config";import L,{defaultProps as N}from"../dropdown";import P from"../get-options";import{style as D}from"./style";import"../tag";function B(e){let n,s;let[j,k]=C(e,["css","value","onChange","open","onOpenChange","label","prefixIcon","suffixIcon","placeholder","trigger","options"]),[N,B]=_(null),[F,M]=_([]),[S,U]=_(""),[V,W]=_([]),[q,z]=_({}),G=$(()=>Object.assign({},E,k.fieldNames));function H(e){k.disabled||(I(j.onOpenChange)&&j.onOpenChange(e),void 0===j.open&&B(e))}function J(e){var t,r,o;(null==(t=e.target)?void 0:t.parentElement)===(null==n?void 0:null==(o=n.parentNode)?void 0:null==(r=o.parentNode)?void 0:r.activeElement)&&H(!O(N))}function K(e,t){void 0===j.value&&M(e?Array.isArray(e)?e:[e]:[]),I(j.onChange)&&j.onChange(e,t)}function Q({key:e}){switch(e){case"ArrowDown":case"ArrowUp":break;case"Backspace":if(k.multiple){let e=[...O(F)];e.splice(-1,1),K(e,O(q)[O(F).length-1])}else K(void 0,O(q)[O(F)[0]]);break;case"Enter":H(!O(N));break;case"Escape":H(!1)}}function R(e){e.stopPropagation(),e.preventDefault()}function T(e,t){R(t),K(O(F).filter(t=>t!==e),O(q)[e])}function X(e){R(e),H(!0)}function Y(e){R(e),O(N)&&H(!1)}w(()=>{h(()=>{let e=G(),t=P(j.options,e);W(t),z(function e(t,n){let r={};for(let o=0,l=t.length;o<l;o++){let l=t[o],i=l[n.options];r[l[n.value]]=l,Array.isArray(i)&&Object.assign(r,e(i,n));let a=l[n.children];r[l[n.value]]=l,Array.isArray(a)&&Object.assign(r,e(a,n))}return r}(t,e))})}),w(()=>{h(()=>{j.open!==O(N)&&void 0!==j.open&&B(j.open),void 0!==j.value&&null!==j.value?M(Array.isArray(j.value)?j.value:[j.value]):M([])})}),x(()=>{if(void 0===j.value){let e=k.defaultValue;M(e?Array.isArray(e)?e:[e]:[])}}),w(()=>{j.label&&U(`.label {--x: ${(null==s?void 0:s.offsetLeft)||0}px; }`)});let Z=$(()=>I(j.prefixIcon)?j.prefixIcon():j.prefixIcon),ee=$(()=>I(j.label)?j.label():j.label),et=$(()=>I(j.suffixIcon)?j.suffixIcon():j.suffixIcon);return d(L,o({placement:"left",get css(){return D+S()+(j.css||"")},trigger:"none",get items(){return V()},get value(){return F()},onChange:K,get open(){return N()},onOpenChange:H},k,{get children(){let e=f(),o=n,h=e.firstChild,w=s;return c(e,"blur",Y),c(e,"focus",X),c(e,"keydown",Q,!0),"function"==typeof o?t(o,e):n=e,l(e,d(A,{get when(){return Z()},get children(){let e=u();return l(e,Z),e}}),h),l(e,d(A,{get when(){return ee()},get children(){let e=p();return l(e,ee),e}}),h),c(h,"mousedown",J,!0),"function"==typeof w?t(w,h):s=h,l(h,d(A,{get when(){return k.multiple},get fallback(){return d(A,{get when(){return F().length},get fallback(){return d(A,{get when(){return j.placeholder},get children(){let e=m();return l(e,()=>j.placeholder),e}})},get children(){let e=g();return l(e,()=>{var e;return(null==(e=q()[F()[0]])?void 0:e[G().label])||F()[0]}),a(()=>e.classList.toggle("opacity",!!N())),e}})},get children(){return d(y,{get each(){return F()},get fallback(){return d(A,{get when(){return j.placeholder},get children(){let e=m();return l(e,()=>j.placeholder),e}})},children:e=>(()=>{let t=b();return c(t,"close",T.bind(null,e)),t._$owner=i(),l(t,()=>{var t;return(null==(t=q()[e])?void 0:t[G().label])||e}),a(n=>{var r,o,l,i,a;let s=!!N(),d=(null==(r=q()[e])?void 0:r.type)||"primary",c=null==(o=q()[e])?void 0:o.color,u=null==(l=q()[e])?void 0:l.icon,p=!k.disabled&&!(null==(i=q()[e])?void 0:i.disabled),v=k.disabled||(null==(a=q()[e])?void 0:a.disabled);return s!==n._v$3&&t.classList.toggle("opacity",n._v$3=s),d!==n._v$4&&(t.type=n._v$4=d),c!==n._v$5&&(t.color=n._v$5=c),u!==n._v$6&&(t.icon=n._v$6=u),p!==n._v$7&&(t.closeIcon=n._v$7=p),v!==n._v$8&&(t.disabled=n._v$8=v),n},{_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0,_v$8:void 0}),t})()})}})),l(e,d(A,{get when(){return et()},get children(){let e=v();return l(e,et),e}}),null),a(t=>{let n=k.disabled?-1:0,o=k.disabled;return n!==t._v$&&r(e,"tabindex",t._v$=n),o!==t._v$2&&r(e,"aria-disabled",t._v$2=o),t},{_v$:void 0,_v$2:void 0}),e}}))}k("n-select",e({},N,{options:[],label:void 0,placeholder:"请选择",dropdownMatchSelectWidth:!0,prefixIcon:void 0,suffixIcon:void 0}),(e,t)=>{let n=t.element,r=j({onChange(e,t){n.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){n.dispatchEvent(new CustomEvent("openchange",{detail:e}))}},e);return w(()=>{n.removeAttribute("options"),n.removeAttribute("field-names"),n.removeAttribute("css")}),d(B,r)});export default B;s(["keydown","mousedown"]);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|