@element-plus/nightly 0.0.20220204 → 0.0.20220208
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -12
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +47984 -48651
- package/dist/index.full.min.js +11 -11
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11 -11
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +41639 -42306
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/alert/src/alert2.mjs +4 -2
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/autocomplete/src/index.mjs +1 -1
- package/es/components/autocomplete/src/index.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs +4 -2
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/carousel/src/main.mjs +1 -1
- package/es/components/carousel/src/main.mjs.map +1 -1
- package/es/components/cascader/src/index.mjs +1 -1
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +1 -1
- package/es/components/cascader-panel/src/store.mjs.map +1 -1
- package/es/components/col/src/col.mjs +8 -5
- package/es/components/col/src/col.mjs.map +1 -1
- package/es/components/collapse/index.d.ts +33 -0
- package/es/components/collapse/src/collapse-item.mjs +26 -16
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item.vue.d.ts +11 -0
- package/es/components/collapse/src/collapse.mjs +11 -8
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +11 -0
- package/es/components/collapse-transition/index.d.ts +22 -0
- package/es/components/collapse-transition/src/collapse-transition.mjs +8 -2
- package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
- package/es/components/collapse-transition/src/collapse-transition.vue.d.ts +11 -0
- package/es/components/color-picker/index.d.ts +24 -2
- package/es/components/color-picker/src/index.mjs +41 -34
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/color-picker/src/index.vue.d.ts +12 -1
- package/es/components/infinite-scroll/src/index.mjs +1 -1
- package/es/components/infinite-scroll/src/index.mjs.map +1 -1
- package/es/components/notification/src/notification.vue.d.ts +11 -0
- package/es/components/notification/src/notification2.mjs +24 -19
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/overlay/src/overlay.mjs +3 -1
- package/es/components/overlay/src/overlay.mjs.map +1 -1
- package/es/components/page-header/index.d.ts +11 -0
- package/es/components/page-header/src/page-header.vue.d.ts +11 -0
- package/es/components/page-header/src/page-header2.mjs +24 -19
- package/es/components/page-header/src/page-header2.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs +1 -1
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +5 -3
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popconfirm/index.d.ts +11 -0
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +11 -0
- package/es/components/popconfirm/src/popconfirm2.mjs +21 -15
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/progress/index.d.ts +11 -0
- package/es/components/progress/src/progress.vue.d.ts +11 -0
- package/es/components/progress/src/progress2.mjs +39 -36
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +1 -2
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.mjs +1 -2
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/slider/src/useSliderButton.mjs +1 -1
- package/es/components/slider/src/useSliderButton.mjs.map +1 -1
- package/es/components/table/src/store/helper.mjs +1 -1
- package/es/components/table/src/store/helper.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.mjs +2 -0
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/events-helper.mjs +1 -1
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table.mjs +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/teleport/index.d.ts +11 -0
- package/es/components/teleport/src/teleport.vue.d.ts +11 -0
- package/es/components/teleport/src/teleport2.mjs +7 -3
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +1 -1
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
- package/es/components/tree/index.d.ts +8 -8
- package/es/components/tree/src/tree.mjs +0 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree/src/tree.vue.d.ts +4 -4
- package/es/components/upload/src/useHandlers.mjs +1 -1
- package/es/components/upload/src/useHandlers.mjs.map +1 -1
- package/es/components/virtual-list/src/hooks/use-cache.mjs +2 -2
- package/es/components/virtual-list/src/hooks/use-cache.mjs.map +1 -1
- package/es/hooks/use-attrs/index.mjs +1 -1
- package/es/hooks/use-attrs/index.mjs.map +1 -1
- package/es/hooks/use-locale/index.mjs +1 -1
- package/es/hooks/use-locale/index.mjs.map +1 -1
- package/es/utils/props.mjs +1 -1
- package/es/utils/props.mjs.map +1 -1
- package/es/utils/util.mjs +1 -1
- package/es/utils/util.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/alert/src/alert2.js +4 -2
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/autocomplete/src/index.js +2 -6
- package/lib/components/autocomplete/src/index.js.map +1 -1
- package/lib/components/badge/src/badge2.js +4 -2
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/carousel/src/main.js +3 -7
- package/lib/components/carousel/src/main.js.map +1 -1
- package/lib/components/cascader/src/index.js +2 -6
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +3 -7
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +3 -7
- package/lib/components/cascader-panel/src/store.js.map +1 -1
- package/lib/components/col/src/col.js +8 -5
- package/lib/components/col/src/col.js.map +1 -1
- package/lib/components/collapse/index.d.ts +33 -0
- package/lib/components/collapse/src/collapse-item.js +26 -16
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/collapse/src/collapse-item.vue.d.ts +11 -0
- package/lib/components/collapse/src/collapse.js +10 -7
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +11 -0
- package/lib/components/collapse-transition/index.d.ts +22 -0
- package/lib/components/collapse-transition/src/collapse-transition.js +8 -2
- package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
- package/lib/components/collapse-transition/src/collapse-transition.vue.d.ts +11 -0
- package/lib/components/color-picker/index.d.ts +24 -2
- package/lib/components/color-picker/src/index.js +43 -40
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/color-picker/src/index.vue.d.ts +12 -1
- package/lib/components/infinite-scroll/src/index.js +3 -7
- package/lib/components/infinite-scroll/src/index.js.map +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +11 -0
- package/lib/components/notification/src/notification2.js +24 -19
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/overlay/src/overlay.js +5 -3
- package/lib/components/overlay/src/overlay.js.map +1 -1
- package/lib/components/page-header/index.d.ts +11 -0
- package/lib/components/page-header/src/page-header.vue.d.ts +11 -0
- package/lib/components/page-header/src/page-header2.js +23 -18
- package/lib/components/page-header/src/page-header2.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js +2 -6
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +5 -3
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +11 -0
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +11 -0
- package/lib/components/popconfirm/src/popconfirm2.js +20 -14
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/progress/index.d.ts +11 -0
- package/lib/components/progress/src/progress.vue.d.ts +11 -0
- package/lib/components/progress/src/progress2.js +39 -36
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/select/src/useSelect.js +5 -11
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.js +4 -10
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/slider/src/useSliderButton.js +3 -7
- package/lib/components/slider/src/useSliderButton.js.map +1 -1
- package/lib/components/table/src/store/helper.js +2 -6
- package/lib/components/table/src/store/helper.js.map +1 -1
- package/lib/components/table/src/table/style-helper.js +2 -0
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-body/events-helper.js +3 -7
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table.js +2 -6
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/teleport/index.d.ts +11 -0
- package/lib/components/teleport/src/teleport.vue.d.ts +11 -0
- package/lib/components/teleport/src/teleport2.js +6 -2
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +2 -3
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +2 -6
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js +4 -5
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
- package/lib/components/tree/index.d.ts +8 -8
- package/lib/components/tree/src/tree.js +0 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree/src/tree.vue.d.ts +4 -4
- package/lib/components/upload/src/useHandlers.js +2 -6
- package/lib/components/upload/src/useHandlers.js.map +1 -1
- package/lib/components/virtual-list/src/hooks/use-cache.js +2 -3
- package/lib/components/virtual-list/src/hooks/use-cache.js.map +1 -1
- package/lib/hooks/use-attrs/index.js +2 -6
- package/lib/hooks/use-attrs/index.js.map +1 -1
- package/lib/hooks/use-locale/index.js +2 -6
- package/lib/hooks/use-locale/index.js.map +1 -1
- package/lib/utils/props.js +2 -6
- package/lib/utils/props.js.map +1 -1
- package/lib/utils/util.js +2 -6
- package/lib/utils/util.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +6 -2
- package/theme-chalk/el-pagination.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/pagination.scss +4 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-time-range.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div v-if=\"actualVisible\" class=\"el-time-range-picker el-picker-panel\">\n <div class=\"el-time-range-picker__content\">\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"minDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"maxDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport union from 'lodash/union'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst makeSelectRange = (start: number, end: number) => {\n const result = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\nexport default defineComponent({\n components: { TimeSpinner },\n\n props: {\n visible: Boolean,\n actualVisible: Boolean,\n parsedValue: {\n type: [Array] as PropType<Array<Dayjs>>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const minDate = computed(() => props.parsedValue[0])\n const maxDate = computed(() => props.parsedValue[1])\n const oldValue = useOldValue(props)\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, null)\n }\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n\n const minSelectableRange = ref([])\n const maxSelectableRange = ref([])\n\n const handleConfirm = (visible = false) => {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n\n const handleMinChange = (date) => {\n handleChange(date.millisecond(0), maxDate.value)\n }\n const handleMaxChange = (date) => {\n handleChange(minDate.value, date.millisecond(0))\n }\n\n const isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n }\n\n const handleChange = (_minDate, _maxDate) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', [_minDate, _maxDate], true)\n }\n const btnConfirmDisabled = computed(() => {\n return minDate.value > maxDate.value\n })\n\n const selectionRange = ref([0, 2])\n const setMinSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n }\n\n const offset = computed(() => (showSeconds.value ? 11 : 8))\n const setMaxSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'max')\n selectionRange.value = [start + offset.value, end + offset.value]\n }\n\n const changeSelectionRange = (step) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n }\n\n const disabledHours_ = (role, compare) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledMinutes_ = (hour, role, compare) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledSeconds_ = (hour, minute, role, compare) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n }\n\n const getRangeAvailableTime = (dates: Array<Dayjs>) => {\n return dates.map((_, index) =>\n getRangeAvailableTimeEach(\n dates[0],\n dates[1],\n index === 0 ? 'start' : 'end'\n )\n )\n }\n\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours_, disabledMinutes_, disabledSeconds_)\n\n const getRangeAvailableTimeEach = (\n startDate: Dayjs,\n endDate: Dayjs,\n role\n ) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n const isStart = role === 'start'\n let result = isStart ? startDate : endDate\n const compareDate = isStart ? endDate : startDate\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), role, compareDate)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n } else {\n availableArr = method(role, compareDate)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n const pos = isStart ? 0 : availableArr.length - 1\n result = result[_](availableArr[pos])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => dayjs(_, props.format).locale(lang.value))\n }\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n if (Array.isArray(defaultValue)) {\n return defaultValue.map((_) => dayjs(_).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n }\n\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n\n return {\n arrowControl,\n onSetOption,\n setMaxSelectionRange,\n setMinSelectionRange,\n btnConfirmDisabled,\n handleCancel,\n handleConfirm,\n t,\n showSeconds,\n minDate,\n maxDate,\n amPmMode,\n handleMinChange,\n handleMaxChange,\n minSelectableRange,\n maxSelectableRange,\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"panel-time-range.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div v-if=\"actualVisible\" class=\"el-time-range-picker el-picker-panel\">\n <div class=\"el-time-range-picker__content\">\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"minDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"maxDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst makeSelectRange = (start: number, end: number) => {\n const result = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\nexport default defineComponent({\n components: { TimeSpinner },\n\n props: {\n visible: Boolean,\n actualVisible: Boolean,\n parsedValue: {\n type: [Array] as PropType<Array<Dayjs>>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const minDate = computed(() => props.parsedValue[0])\n const maxDate = computed(() => props.parsedValue[1])\n const oldValue = useOldValue(props)\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, null)\n }\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n\n const minSelectableRange = ref([])\n const maxSelectableRange = ref([])\n\n const handleConfirm = (visible = false) => {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n\n const handleMinChange = (date) => {\n handleChange(date.millisecond(0), maxDate.value)\n }\n const handleMaxChange = (date) => {\n handleChange(minDate.value, date.millisecond(0))\n }\n\n const isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n }\n\n const handleChange = (_minDate, _maxDate) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', [_minDate, _maxDate], true)\n }\n const btnConfirmDisabled = computed(() => {\n return minDate.value > maxDate.value\n })\n\n const selectionRange = ref([0, 2])\n const setMinSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n }\n\n const offset = computed(() => (showSeconds.value ? 11 : 8))\n const setMaxSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'max')\n selectionRange.value = [start + offset.value, end + offset.value]\n }\n\n const changeSelectionRange = (step) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n }\n\n const disabledHours_ = (role, compare) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledMinutes_ = (hour, role, compare) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledSeconds_ = (hour, minute, role, compare) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n }\n\n const getRangeAvailableTime = (dates: Array<Dayjs>) => {\n return dates.map((_, index) =>\n getRangeAvailableTimeEach(\n dates[0],\n dates[1],\n index === 0 ? 'start' : 'end'\n )\n )\n }\n\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours_, disabledMinutes_, disabledSeconds_)\n\n const getRangeAvailableTimeEach = (\n startDate: Dayjs,\n endDate: Dayjs,\n role\n ) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n const isStart = role === 'start'\n let result = isStart ? startDate : endDate\n const compareDate = isStart ? endDate : startDate\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), role, compareDate)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n } else {\n availableArr = method(role, compareDate)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n const pos = isStart ? 0 : availableArr.length - 1\n result = result[_](availableArr[pos])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => dayjs(_, props.format).locale(lang.value))\n }\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n if (Array.isArray(defaultValue)) {\n return defaultValue.map((_) => dayjs(_).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n }\n\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n\n return {\n arrowControl,\n onSetOption,\n setMaxSelectionRange,\n setMinSelectionRange,\n btnConfirmDisabled,\n handleCancel,\n handleConfirm,\n t,\n showSeconds,\n minDate,\n maxDate,\n amPmMode,\n handleMinChange,\n handleMaxChange,\n minSelectableRange,\n maxSelectableRange,\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -353,12 +353,12 @@ declare const _Tree: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
353
353
|
filter: (value: any) => void;
|
|
354
354
|
getNodeKey: (node: import("./src/model/node").default) => any;
|
|
355
355
|
getNodePath: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => import("./src/tree.type").TreeNodeData[];
|
|
356
|
-
getCheckedNodes: (leafOnly
|
|
357
|
-
getCheckedKeys: (leafOnly
|
|
356
|
+
getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("./src/tree.type").TreeNodeData[];
|
|
357
|
+
getCheckedKeys: (leafOnly?: boolean | undefined) => import("./src/tree.type").TreeKey[];
|
|
358
358
|
getCurrentNode: () => import("./src/tree.type").TreeNodeData;
|
|
359
359
|
getCurrentKey: () => any;
|
|
360
|
-
setCheckedNodes: (nodes: import("./src/model/node").default[], leafOnly
|
|
361
|
-
setCheckedKeys: (keys: any, leafOnly
|
|
360
|
+
setCheckedNodes: (nodes: import("./src/model/node").default[], leafOnly?: boolean | undefined) => void;
|
|
361
|
+
setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void;
|
|
362
362
|
setChecked: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey, checked: boolean, deep: boolean) => void;
|
|
363
363
|
getHalfCheckedNodes: () => import("./src/tree.type").TreeNodeData[];
|
|
364
364
|
getHalfCheckedKeys: () => import("./src/tree.type").TreeKey[];
|
|
@@ -821,12 +821,12 @@ export declare const ElTree: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
821
821
|
filter: (value: any) => void;
|
|
822
822
|
getNodeKey: (node: import("./src/model/node").default) => any;
|
|
823
823
|
getNodePath: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => import("./src/tree.type").TreeNodeData[];
|
|
824
|
-
getCheckedNodes: (leafOnly
|
|
825
|
-
getCheckedKeys: (leafOnly
|
|
824
|
+
getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("./src/tree.type").TreeNodeData[];
|
|
825
|
+
getCheckedKeys: (leafOnly?: boolean | undefined) => import("./src/tree.type").TreeKey[];
|
|
826
826
|
getCurrentNode: () => import("./src/tree.type").TreeNodeData;
|
|
827
827
|
getCurrentKey: () => any;
|
|
828
|
-
setCheckedNodes: (nodes: import("./src/model/node").default[], leafOnly
|
|
829
|
-
setCheckedKeys: (keys: any, leafOnly
|
|
828
|
+
setCheckedNodes: (nodes: import("./src/model/node").default[], leafOnly?: boolean | undefined) => void;
|
|
829
|
+
setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void;
|
|
830
830
|
setChecked: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey, checked: boolean, deep: boolean) => void;
|
|
831
831
|
getHalfCheckedNodes: () => import("./src/tree.type").TreeNodeData[];
|
|
832
832
|
getHalfCheckedKeys: () => import("./src/tree.type").TreeKey[];
|
|
@@ -130,7 +130,6 @@ const _sfc_main = defineComponent({
|
|
|
130
130
|
store.value.setDefaultCheckedKey(newVal);
|
|
131
131
|
});
|
|
132
132
|
watch(() => props.defaultExpandedKeys, (newVal) => {
|
|
133
|
-
store.value.defaultExpandedKeys = newVal;
|
|
134
133
|
store.value.setDefaultExpandedKeys(newVal);
|
|
135
134
|
});
|
|
136
135
|
watch(() => props.data, (newVal) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n 'is-dragging': !!dragState.draggingNode,\n 'is-drop-not-allow': !dragState.allowDrop,\n 'is-drop-inner': dragState.dropType === 'inner',\n }\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n class=\"el-tree__drop-indicator\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.defaultExpandedKeys = newVal\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly: boolean,\n includeHalfChecked: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","_openBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n class=\"el-tree\"\n :class=\"{\n 'el-tree--highlight-current': highlightCurrent,\n 'is-dragging': !!dragState.draggingNode,\n 'is-drop-not-allow': !dragState.allowDrop,\n 'is-drop-inner': dragState.dropType === 'inner',\n }\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" class=\"el-tree__empty-block\">\n <span class=\"el-tree__empty-text\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n class=\"el-tree__drop-indicator\"\n ></div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n provide,\n computed,\n watch,\n getCurrentInstance,\n} from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType, Component } from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\nimport type {\n TreeComponentProps,\n TreeNodeData,\n TreeKey,\n TreeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: [String, Object] as PropType<string | Component>,\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n return {\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","_openBlock"],"mappings":"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"}
|
|
@@ -356,12 +356,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
356
356
|
filter: (value: any) => void;
|
|
357
357
|
getNodeKey: (node: Node) => any;
|
|
358
358
|
getNodePath: (data: TreeKey | TreeNodeData) => TreeNodeData[];
|
|
359
|
-
getCheckedNodes: (leafOnly
|
|
360
|
-
getCheckedKeys: (leafOnly
|
|
359
|
+
getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[];
|
|
360
|
+
getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[];
|
|
361
361
|
getCurrentNode: () => TreeNodeData;
|
|
362
362
|
getCurrentKey: () => any;
|
|
363
|
-
setCheckedNodes: (nodes: Node[], leafOnly
|
|
364
|
-
setCheckedKeys: (keys: any, leafOnly
|
|
363
|
+
setCheckedNodes: (nodes: Node[], leafOnly?: boolean | undefined) => void;
|
|
364
|
+
setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void;
|
|
365
365
|
setChecked: (data: TreeKey | TreeNodeData, checked: boolean, deep: boolean) => void;
|
|
366
366
|
getHalfCheckedNodes: () => TreeNodeData[];
|
|
367
367
|
getHalfCheckedKeys: () => TreeKey[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, watch } from 'vue';
|
|
2
2
|
import { NOOP } from '@vue/shared';
|
|
3
|
-
import cloneDeep from 'lodash
|
|
3
|
+
import { cloneDeep } from 'lodash-unified';
|
|
4
4
|
|
|
5
5
|
function getFile(rawFile, uploadFiles) {
|
|
6
6
|
return uploadFiles.find((file) => file.uid === rawFile.uid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHandlers.mjs","sources":["../../../../../../packages/components/upload/src/useHandlers.ts"],"sourcesContent":["import { ref, watch } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport cloneDeep from 'lodash/cloneDeep'\n\n// Inline types\nimport type {\n ListType,\n UploadFile,\n UploadStatus,\n ElFile,\n ElUploadProgressEvent,\n IUseHandlersProps,\n} from './upload.type'\ntype UploadRef = {\n abort: (file: UploadFile) => void\n upload: (file: ElFile) => void\n}\n// helpers\nfunction getFile(rawFile: ElFile, uploadFiles: UploadFile[]) {\n return uploadFiles.find((file) => file.uid === rawFile.uid)\n}\n\nfunction genUid(seed: number) {\n return Date.now() + seed\n}\n\nexport default (props: IUseHandlersProps) => {\n const uploadFiles = ref<UploadFile[]>([])\n const uploadRef = ref<UploadRef>(null)\n\n let tempIndex = 1\n\n function abort(file: UploadFile) {\n uploadRef.value.abort(file)\n }\n\n function clearFiles(\n status: UploadStatus[] = ['ready', 'uploading', 'success', 'fail']\n ) {\n uploadFiles.value = uploadFiles.value.filter((row) => {\n return !status.includes(row.status)\n })\n }\n\n function handleError(err: Error, rawFile: ElFile) {\n const file = getFile(rawFile, uploadFiles.value)\n file.status = 'fail'\n uploadFiles.value.splice(uploadFiles.value.indexOf(file), 1)\n props.onError(err, file, uploadFiles.value)\n props.onChange(file, uploadFiles.value)\n }\n\n function handleProgress(ev: ElUploadProgressEvent, rawFile: ElFile) {\n const file = getFile(rawFile, uploadFiles.value)\n props.onProgress(ev, file, uploadFiles.value)\n file.status = 'uploading'\n file.percentage = ev.percent || 0\n }\n\n function handleSuccess(res: any, rawFile: ElFile) {\n const file = getFile(rawFile, uploadFiles.value)\n if (file) {\n file.status = 'success'\n file.response = res\n props.onSuccess(res, file, uploadFiles.value)\n props.onChange(file, uploadFiles.value)\n }\n }\n\n function handleStart(rawFile: ElFile) {\n const uid = genUid(tempIndex++)\n rawFile.uid = uid\n const file: UploadFile = {\n name: rawFile.name,\n percentage: 0,\n status: 'ready',\n size: rawFile.size,\n raw: rawFile,\n uid,\n }\n if (props.listType === 'picture-card' || props.listType === 'picture') {\n try {\n file.url = URL.createObjectURL(rawFile)\n } catch (err) {\n console.error('[Element Error][Upload]', err)\n props.onError(err, file, uploadFiles.value)\n }\n }\n uploadFiles.value.push(file)\n props.onChange(file, uploadFiles.value)\n }\n\n function handleRemove(file: UploadFile, raw: ElFile) {\n if (raw) {\n file = getFile(raw, uploadFiles.value)\n }\n const revokeObjectURL = () => {\n if (file.url && file.url.indexOf('blob:') === 0) {\n URL.revokeObjectURL(file.url)\n }\n }\n const doRemove = () => {\n abort(file)\n const fileList = uploadFiles.value\n fileList.splice(fileList.indexOf(file), 1)\n props.onRemove(file, fileList)\n revokeObjectURL()\n }\n if (!props.beforeRemove) {\n doRemove()\n } else if (typeof props.beforeRemove === 'function') {\n const before = props.beforeRemove(file, uploadFiles.value)\n if (before instanceof Promise) {\n before\n .then(() => {\n doRemove()\n })\n .catch(NOOP)\n } else if (before !== false) {\n doRemove()\n }\n }\n }\n\n function submit() {\n uploadFiles.value\n .filter((file) => file.status === 'ready')\n .forEach((file) => {\n uploadRef.value.upload(file.raw)\n })\n }\n\n watch(\n () => props.listType,\n (val: ListType) => {\n if (val === 'picture-card' || val === 'picture') {\n uploadFiles.value = uploadFiles.value.map((file) => {\n if (!file.url && file.raw) {\n try {\n file.url = URL.createObjectURL(file.raw)\n } catch (err) {\n props.onError(err, file, uploadFiles.value)\n }\n }\n return file\n })\n }\n }\n )\n\n watch(\n () => props.fileList,\n (fileList: UploadFile[]) => {\n uploadFiles.value = fileList.map((file) => {\n const cloneFile = cloneDeep(file)\n return {\n ...cloneFile,\n uid: file.uid || genUid(tempIndex++),\n status: file.status || 'success',\n }\n })\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n return {\n abort,\n clearFiles,\n handleError,\n handleProgress,\n handleStart,\n handleSuccess,\n handleRemove,\n submit,\n uploadFiles,\n uploadRef,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useHandlers.mjs","sources":["../../../../../../packages/components/upload/src/useHandlers.ts"],"sourcesContent":["import { ref, watch } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { cloneDeep } from 'lodash-unified'\n\n// Inline types\nimport type {\n ListType,\n UploadFile,\n UploadStatus,\n ElFile,\n ElUploadProgressEvent,\n IUseHandlersProps,\n} from './upload.type'\ntype UploadRef = {\n abort: (file: UploadFile) => void\n upload: (file: ElFile) => void\n}\n// helpers\nfunction getFile(rawFile: ElFile, uploadFiles: UploadFile[]) {\n return uploadFiles.find((file) => file.uid === rawFile.uid)\n}\n\nfunction genUid(seed: number) {\n return Date.now() + seed\n}\n\nexport default (props: IUseHandlersProps) => {\n const uploadFiles = ref<UploadFile[]>([])\n const uploadRef = ref<UploadRef>(null)\n\n let tempIndex = 1\n\n function abort(file: UploadFile) {\n uploadRef.value.abort(file)\n }\n\n function clearFiles(\n status: UploadStatus[] = ['ready', 'uploading', 'success', 'fail']\n ) {\n uploadFiles.value = uploadFiles.value.filter((row) => {\n return !status.includes(row.status)\n })\n }\n\n function handleError(err: Error, rawFile: ElFile) {\n const file = getFile(rawFile, uploadFiles.value)\n file.status = 'fail'\n uploadFiles.value.splice(uploadFiles.value.indexOf(file), 1)\n props.onError(err, file, uploadFiles.value)\n props.onChange(file, uploadFiles.value)\n }\n\n function handleProgress(ev: ElUploadProgressEvent, rawFile: ElFile) {\n const file = getFile(rawFile, uploadFiles.value)\n props.onProgress(ev, file, uploadFiles.value)\n file.status = 'uploading'\n file.percentage = ev.percent || 0\n }\n\n function handleSuccess(res: any, rawFile: ElFile) {\n const file = getFile(rawFile, uploadFiles.value)\n if (file) {\n file.status = 'success'\n file.response = res\n props.onSuccess(res, file, uploadFiles.value)\n props.onChange(file, uploadFiles.value)\n }\n }\n\n function handleStart(rawFile: ElFile) {\n const uid = genUid(tempIndex++)\n rawFile.uid = uid\n const file: UploadFile = {\n name: rawFile.name,\n percentage: 0,\n status: 'ready',\n size: rawFile.size,\n raw: rawFile,\n uid,\n }\n if (props.listType === 'picture-card' || props.listType === 'picture') {\n try {\n file.url = URL.createObjectURL(rawFile)\n } catch (err) {\n console.error('[Element Error][Upload]', err)\n props.onError(err, file, uploadFiles.value)\n }\n }\n uploadFiles.value.push(file)\n props.onChange(file, uploadFiles.value)\n }\n\n function handleRemove(file: UploadFile, raw: ElFile) {\n if (raw) {\n file = getFile(raw, uploadFiles.value)\n }\n const revokeObjectURL = () => {\n if (file.url && file.url.indexOf('blob:') === 0) {\n URL.revokeObjectURL(file.url)\n }\n }\n const doRemove = () => {\n abort(file)\n const fileList = uploadFiles.value\n fileList.splice(fileList.indexOf(file), 1)\n props.onRemove(file, fileList)\n revokeObjectURL()\n }\n if (!props.beforeRemove) {\n doRemove()\n } else if (typeof props.beforeRemove === 'function') {\n const before = props.beforeRemove(file, uploadFiles.value)\n if (before instanceof Promise) {\n before\n .then(() => {\n doRemove()\n })\n .catch(NOOP)\n } else if (before !== false) {\n doRemove()\n }\n }\n }\n\n function submit() {\n uploadFiles.value\n .filter((file) => file.status === 'ready')\n .forEach((file) => {\n uploadRef.value.upload(file.raw)\n })\n }\n\n watch(\n () => props.listType,\n (val: ListType) => {\n if (val === 'picture-card' || val === 'picture') {\n uploadFiles.value = uploadFiles.value.map((file) => {\n if (!file.url && file.raw) {\n try {\n file.url = URL.createObjectURL(file.raw)\n } catch (err) {\n props.onError(err, file, uploadFiles.value)\n }\n }\n return file\n })\n }\n }\n )\n\n watch(\n () => props.fileList,\n (fileList: UploadFile[]) => {\n uploadFiles.value = fileList.map((file) => {\n const cloneFile = cloneDeep(file)\n return {\n ...cloneFile,\n uid: file.uid || genUid(tempIndex++),\n status: file.status || 'success',\n }\n })\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n return {\n abort,\n clearFiles,\n handleError,\n handleProgress,\n handleStart,\n handleSuccess,\n handleRemove,\n submit,\n uploadFiles,\n uploadRef,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getCurrentInstance, computed } from 'vue';
|
|
2
|
-
import
|
|
2
|
+
import { memoize } from 'lodash-unified';
|
|
3
3
|
import memoOne from 'memoize-one';
|
|
4
4
|
|
|
5
5
|
const useCache = () => {
|
|
@@ -7,7 +7,7 @@ const useCache = () => {
|
|
|
7
7
|
const props = vm.proxy.$props;
|
|
8
8
|
return computed(() => {
|
|
9
9
|
const _getItemStyleCache = (_, __, ___) => ({});
|
|
10
|
-
return props.perfMode ?
|
|
10
|
+
return props.perfMode ? memoize(_getItemStyleCache) : memoOne(_getItemStyleCache);
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cache.mjs","sources":["../../../../../../../packages/components/virtual-list/src/hooks/use-cache.ts"],"sourcesContent":["import { computed, getCurrentInstance } from 'vue'\nimport
|
|
1
|
+
{"version":3,"file":"use-cache.mjs","sources":["../../../../../../../packages/components/virtual-list/src/hooks/use-cache.ts"],"sourcesContent":["import { computed, getCurrentInstance } from 'vue'\nimport { memoize } from 'lodash-unified'\nimport memoOne from 'memoize-one'\n\nimport type { VirtualizedProps } from '../props'\n\nexport const useCache = () => {\n const vm = getCurrentInstance()!\n\n const props = vm.proxy!.$props as VirtualizedProps\n\n return computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _getItemStyleCache = (_: any, __: any, ___: any) => ({})\n return props.perfMode\n ? memoize(_getItemStyleCache)\n : memoOne(_getItemStyleCache)\n })\n}\n"],"names":[],"mappings":";;;;AAGY,MAAC,QAAQ,GAAG,MAAM;AAC9B,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;AAChC,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACtF,GAAG,CAAC,CAAC;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-attrs/index.ts"],"sourcesContent":["import { getCurrentInstance, computed } from 'vue'\nimport fromPairs from 'lodash
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-attrs/index.ts"],"sourcesContent":["import { getCurrentInstance, computed } from 'vue'\nimport { fromPairs } from 'lodash-unified'\nimport { debugWarn } from '@element-plus/utils/error'\n\nimport type { ComputedRef } from 'vue'\n\ninterface Params {\n excludeListeners?: boolean\n excludeKeys?: string[]\n}\n\nconst DEFAULT_EXCLUDE_KEYS = ['class', 'style']\nconst LISTENER_PREFIX = /^on[A-Z]/\n\nexport const useAttrs = (\n params: Params = {}\n): ComputedRef<Record<string, unknown>> => {\n const { excludeListeners = false, excludeKeys = [] } = params\n const allExcludeKeys = excludeKeys.concat(DEFAULT_EXCLUDE_KEYS)\n\n const instance = getCurrentInstance()\n if (!instance) {\n debugWarn(\n 'use-attrs',\n 'getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function'\n )\n return computed(() => ({}))\n }\n\n return computed(() =>\n fromPairs(\n Object.entries(instance.proxy?.$attrs!).filter(\n ([key]) =>\n !allExcludeKeys.includes(key) &&\n !(excludeListeners && LISTENER_PREFIX.test(key))\n )\n )\n )\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,UAAU,CAAC;AACvB,MAAC,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,KAAK;AACzC,EAAE,MAAM,EAAE,gBAAgB,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;AAChE,EAAE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAClE,EAAE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AACxC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,SAAS,CAAC,WAAW,EAAE,8FAA8F,CAAC,CAAC;AAC3H,IAAI,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9L,GAAG,CAAC,CAAC;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-locale/index.ts"],"sourcesContent":["import { computed, ref, unref, isRef } from 'vue'\nimport get from 'lodash
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-locale/index.ts"],"sourcesContent":["import { computed, ref, unref, isRef } from 'vue'\nimport { get } from 'lodash-unified'\nimport English from '@element-plus/locale/lang/en'\nimport { useGlobalConfig } from '../use-global-config'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Ref } from 'vue'\nimport type { Language } from '@element-plus/locale'\n\nexport type TranslatorOption = Record<string, string | number>\nexport type Translator = (path: string, option?: TranslatorOption) => string\nexport type LocaleContext = {\n locale: Ref<Language>\n lang: Ref<string>\n t: Translator\n}\n\nexport const buildTranslator =\n (locale: MaybeRef<Language>): Translator =>\n (path, option) =>\n translate(path, option, unref(locale))\n\nexport const translate = (\n path: string,\n option: undefined | TranslatorOption,\n locale: Language\n): string =>\n (get(locale, path, path) as string).replace(\n /\\{(\\w+)\\}/g,\n (_, key) => `${option?.[key] ?? `{${key}}`}`\n )\n\nexport const buildLocaleContext = (\n locale: MaybeRef<Language>\n): LocaleContext => {\n const lang = computed(() => unref(locale).name)\n const localeRef = isRef(locale) ? locale : ref(locale)\n return {\n lang,\n locale: localeRef,\n t: buildTranslator(locale),\n }\n}\n\nexport const useLocale = () => {\n const locale = useGlobalConfig('locale')\n return buildLocaleContext(computed(() => locale.value || English))\n}\n"],"names":[],"mappings":";;;;;AAIY,MAAC,eAAe,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AACxF,MAAC,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK;AAC7G,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG,CAAC,MAAM,KAAK;AAC9C,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAClD,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE;AACU,MAAC,SAAS,GAAG,MAAM;AAC/B,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC3C,EAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;AACrE;;;;"}
|
package/es/utils/props.mjs
CHANGED
package/es/utils/props.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","sources":["../../../../packages/utils/props.ts"],"sourcesContent":["import { warn } from 'vue'\nimport { isObject } from '@vue/shared'\nimport fromPairs from 'lodash
|
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../../packages/utils/props.ts"],"sourcesContent":["import { warn } from 'vue'\nimport { isObject } from '@vue/shared'\nimport { fromPairs } from 'lodash-unified'\nimport type { ExtractPropTypes, PropType } from '@vue/runtime-core'\nimport type { Mutable } from './types'\n\nconst wrapperKey = Symbol()\nexport type PropWrapper<T> = { [wrapperKey]: T }\n\nexport const propKey = '__elPropsReservedKey'\n\ntype ResolveProp<T> = ExtractPropTypes<{\n key: { type: T; required: true }\n}>['key']\ntype ResolvePropType<T> = ResolveProp<T> extends { type: infer V }\n ? V\n : ResolveProp<T>\ntype ResolvePropTypeWithReadonly<T> = Readonly<T> extends Readonly<\n Array<infer A>\n>\n ? ResolvePropType<A[]>\n : ResolvePropType<T>\n\ntype IfUnknown<T, V> = [unknown] extends [T] ? V : T\n\nexport type BuildPropOption<T, D extends BuildPropType<T, V, C>, R, V, C> = {\n type?: T\n values?: readonly V[]\n required?: R\n default?: R extends true\n ? never\n : D extends Record<string, unknown> | Array<any>\n ? () => D\n : (() => D) | D\n validator?: ((val: any) => val is C) | ((val: any) => boolean)\n}\n\ntype _BuildPropType<T, V, C> =\n | (T extends PropWrapper<unknown>\n ? T[typeof wrapperKey]\n : [V] extends [never]\n ? ResolvePropTypeWithReadonly<T>\n : never)\n | V\n | C\nexport type BuildPropType<T, V, C> = _BuildPropType<\n IfUnknown<T, never>,\n IfUnknown<V, never>,\n IfUnknown<C, never>\n>\n\ntype _BuildPropDefault<T, D> = [T] extends [\n // eslint-disable-next-line @typescript-eslint/ban-types\n Record<string, unknown> | Array<any> | Function\n]\n ? D\n : D extends () => T\n ? ReturnType<D>\n : D\n\nexport type BuildPropDefault<T, D, R> = R extends true\n ? { readonly default?: undefined }\n : {\n readonly default: Exclude<D, undefined> extends never\n ? undefined\n : Exclude<_BuildPropDefault<T, D>, undefined>\n }\nexport type BuildPropReturn<T, D, R, V, C> = {\n readonly type: PropType<BuildPropType<T, V, C>>\n readonly required: IfUnknown<R, false>\n readonly validator: ((val: unknown) => boolean) | undefined\n [propKey]: true\n} & BuildPropDefault<\n BuildPropType<T, V, C>,\n IfUnknown<D, never>,\n IfUnknown<R, false>\n>\n\n/**\n * @description Build prop. It can better optimize prop types\n * @description 生成 prop,能更好地优化类型\n * @example\n // limited options\n // the type will be PropType<'light' | 'dark'>\n buildProp({\n type: String,\n values: ['light', 'dark'],\n } as const)\n * @example\n // limited options and other types\n // the type will be PropType<'small' | 'large' | number>\n buildProp({\n type: [String, Number],\n values: ['small', 'large'],\n validator: (val: unknown): val is number => typeof val === 'number',\n } as const)\n @link see more: https://github.com/element-plus/element-plus/pull/3341\n */\nexport function buildProp<\n T = never,\n D extends BuildPropType<T, V, C> = never,\n R extends boolean = false,\n V = never,\n C = never\n>(\n option: BuildPropOption<T, D, R, V, C>,\n key?: string\n): BuildPropReturn<T, D, R, V, C> {\n // filter native prop type and nested prop, e.g `null`, `undefined` (from `buildProps`)\n if (!isObject(option) || !!option[propKey]) return option as any\n\n const { values, required, default: defaultValue, type, validator } = option\n\n const _validator =\n values || validator\n ? (val: unknown) => {\n let valid = false\n let allowedValues: unknown[] = []\n\n if (values) {\n allowedValues = [...values, defaultValue]\n valid ||= allowedValues.includes(val)\n }\n if (validator) valid ||= validator(val)\n\n if (!valid && allowedValues.length > 0) {\n const allowValuesText = [...new Set(allowedValues)]\n .map((value) => JSON.stringify(value))\n .join(', ')\n warn(\n `Invalid prop: validation failed${\n key ? ` for prop \"${key}\"` : ''\n }. Expected one of [${allowValuesText}], got value ${JSON.stringify(\n val\n )}.`\n )\n }\n return valid\n }\n : undefined\n\n return {\n type:\n typeof type === 'object' &&\n Object.getOwnPropertySymbols(type).includes(wrapperKey)\n ? type[wrapperKey]\n : type,\n required: !!required,\n default: defaultValue,\n validator: _validator,\n [propKey]: true,\n } as unknown as BuildPropReturn<T, D, R, V, C>\n}\n\ntype NativePropType = [\n ((...args: any) => any) | { new (...args: any): any } | undefined | null\n]\n\nexport const buildProps = <\n O extends {\n [K in keyof O]: O[K] extends BuildPropReturn<any, any, any, any, any>\n ? O[K]\n : [O[K]] extends NativePropType\n ? O[K]\n : O[K] extends BuildPropOption<\n infer T,\n infer D,\n infer R,\n infer V,\n infer C\n >\n ? D extends BuildPropType<T, V, C>\n ? BuildPropOption<T, D, R, V, C>\n : never\n : never\n }\n>(\n props: O\n) =>\n fromPairs(\n Object.entries(props).map(([key, option]) => [\n key,\n buildProp(option as any, key),\n ])\n ) as unknown as {\n [K in keyof O]: O[K] extends { [propKey]: boolean }\n ? O[K]\n : [O[K]] extends NativePropType\n ? O[K]\n : O[K] extends BuildPropOption<\n infer T,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n infer _D,\n infer R,\n infer V,\n infer C\n >\n ? BuildPropReturn<T, O[K]['default'], R, V, C>\n : never\n }\n\nexport const definePropType = <T>(val: any) =>\n ({ [wrapperKey]: val } as PropWrapper<T>)\n\nexport const keyOf = <T>(arr: T) => Object.keys(arr) as Array<keyof T>\nexport const mutable = <T extends readonly any[] | Record<string, unknown>>(\n val: T\n) => val as Mutable<typeof val>\n\nexport const componentSize = ['large', 'default', 'small'] as const\n"],"names":[],"mappings":";;;;AAGA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;AAChB,MAAC,OAAO,GAAG,uBAAuB;AACvC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;AACvC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5C,IAAI,OAAO,MAAM,CAAC;AAClB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;AAC9E,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,SAAS,GAAG,CAAC,GAAG,KAAK;AACpD,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC;AACtB,IAAI,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;AAChD,MAAM,KAAK,KAAK,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,IAAI,SAAS;AACjB,MAAM,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3G,MAAM,IAAI,CAAC,CAAC,+BAA+B,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzJ,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,GAAG,KAAK,CAAC,CAAC;AACb,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI;AACvH,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACxB,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK;AAC5F,EAAE,GAAG;AACL,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,CAAC,CAAC,EAAE;AACQ,MAAC,cAAc,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,GAAG,GAAG,EAAE,EAAE;AACnD,MAAC,KAAK,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;AACnC,MAAC,OAAO,GAAG,CAAC,GAAG,KAAK,IAAI;AACxB,MAAC,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO;;;;"}
|
package/es/utils/util.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { extend, hasOwn, hyphenate, toRawType, isArray, isObject, isString, isFunction } from '@vue/shared';
|
|
2
2
|
export { camelize, capitalize, extend, hasOwn, isArray, isObject, isString, looseEqual } from '@vue/shared';
|
|
3
|
-
import isEqualWith from 'lodash
|
|
3
|
+
import { isEqualWith } from 'lodash-unified';
|
|
4
4
|
import { isClient } from '@vueuse/core';
|
|
5
5
|
import { throwError, debugWarn } from './error.mjs';
|
|
6
6
|
export { isVNode } from 'vue';
|
package/es/utils/util.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.mjs","sources":["../../../../packages/utils/util.ts"],"sourcesContent":["import {\n camelize,\n capitalize,\n extend,\n hasOwn,\n hyphenate,\n isArray,\n isObject,\n isString,\n isFunction,\n looseEqual,\n toRawType,\n} from '@vue/shared'\nimport isEqualWith from 'lodash/isEqualWith'\nimport { isClient } from '@vueuse/core'\nimport { debugWarn, throwError } from './error'\n\nimport type { ComponentPublicInstance, CSSProperties, Ref } from 'vue'\nimport type { TimeoutHandle, Nullable } from './types'\n\nexport const SCOPE = 'Util'\n\nexport function toObject<T>(arr: Array<T>): Record<string, T> {\n const res = {}\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i])\n }\n }\n return res\n}\n\nexport const getValueByPath = (obj, paths = ''): unknown => {\n let ret: unknown = obj\n paths.split('.').map((path) => {\n ret = ret?.[path]\n })\n return ret\n}\n\nexport function getPropByPath(\n obj: any,\n path: string,\n strict: boolean\n): {\n o: unknown\n k: string\n v: Nullable<unknown>\n} {\n let tempObj = obj\n let key, value\n\n if (obj && hasOwn(obj, path)) {\n key = path\n value = tempObj?.[path]\n } else {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1')\n path = path.replace(/^\\./, '')\n\n const keyArr = path.split('.')\n let i = 0\n for (i; i < keyArr.length - 1; i++) {\n if (!tempObj && !strict) break\n const key = keyArr[i]\n\n if (key in tempObj) {\n tempObj = tempObj[key]\n } else {\n if (strict) {\n throwError(SCOPE, 'Please transfer a valid prop path to form item!')\n }\n break\n }\n }\n key = keyArr[i]\n value = tempObj?.[keyArr[i]]\n }\n return {\n o: tempObj,\n k: key,\n v: value,\n }\n}\n\n/**\n * Generate random number in range [0, 1000]\n * Maybe replace with [uuid](https://www.npmjs.com/package/uuid)\n */\nexport const generateId = (): number => Math.floor(Math.random() * 10000)\n\n// use isEqual instead\n// export const valueEquals\n\nexport const escapeRegexpString = (value = ''): string =>\n String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\n// Use native Array.find, Array.findIndex instead\n\n// coerce truthy value to array\nexport const coerceTruthyValueToArray = (arr) => {\n if (!arr && arr !== 0) {\n return []\n }\n return Array.isArray(arr) ? arr : [arr]\n}\n\n// drop IE and (Edge < 79) support\n// export const isIE\n// export const isEdge\n\nexport const isFirefox = function (): boolean {\n return isClient && !!window.navigator.userAgent.match(/firefox/i)\n}\n\nexport const autoprefixer = function (style: CSSProperties): CSSProperties {\n const rules = ['transform', 'transition', 'animation']\n const prefixes = ['ms-', 'webkit-']\n rules.forEach((rule) => {\n const value = style[rule]\n if (rule && value) {\n prefixes.forEach((prefix) => {\n style[prefix + rule] = value\n })\n }\n })\n return style\n}\n\nexport const kebabCase = hyphenate\n\n// reexport from lodash & vue shared\nexport { isVNode } from 'vue'\nexport {\n hasOwn,\n // isEmpty,\n // isEqual,\n isObject,\n isArray,\n isString,\n capitalize,\n camelize,\n looseEqual,\n extend,\n}\n\nexport const isBool = (val: unknown): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: unknown): val is number => typeof val === 'number'\nexport const isHTMLElement = (val: unknown) => toRawType(val).startsWith('HTML')\n\nexport function rafThrottle<T extends (...args: any) => any>(fn: T): T {\n let locked = false\n return function (this: ThisParameterType<T>, ...args: any[]) {\n if (locked) return\n locked = true\n\n window.requestAnimationFrame(() => {\n Reflect.apply(fn, this, args)\n locked = false\n })\n } as T\n}\n\nexport const clearTimer = (timer: Ref<TimeoutHandle>) => {\n clearTimeout(timer.value)\n timer.value = null\n}\n\n/**\n * Generating a random int in range (0, max - 1)\n * @param max {number}\n */\nexport function getRandomInt(max: number) {\n return Math.floor(Math.random() * Math.floor(max))\n}\n\nexport function isUndefined(val: any): val is undefined {\n return val === undefined\n}\n\nexport function isEmpty(val: unknown) {\n if (\n (!val && val !== 0) ||\n (isArray(val) && !val.length) ||\n (isObject(val) && !Object.keys(val).length)\n )\n return true\n\n return false\n}\n\nexport function arrayFlat(arr: unknown[]) {\n return arr.reduce((acm: unknown[], item) => {\n const val = Array.isArray(item) ? arrayFlat(item) : item\n return acm.concat(val)\n }, [])\n}\n\nexport function deduplicate<T>(arr: T[]) {\n return Array.from(new Set(arr))\n}\n\nexport function addUnit(value: string | number) {\n if (isString(value)) {\n return value\n } else if (isNumber(value)) {\n return `${value}px`\n }\n debugWarn(SCOPE, 'binding value must be a string or number')\n return ''\n}\n\n/**\n * Enhance `lodash.isEqual` for it always return false even two functions have completely same statements.\n * @param obj The value to compare\n * @param other The other value to compare\n * @returns Returns `true` if the values are equivalent, else `false`.\n * @example\n * lodash.isEqual(() => 1, () => 1) // false\n * isEqualWith(() => 1, () => 1) // true\n */\nexport function isEqualWithFunction(obj: any, other: any) {\n return isEqualWith(obj, other, (objVal, otherVal) => {\n return isFunction(objVal) && isFunction(otherVal)\n ? `${objVal}` === `${otherVal}`\n : undefined\n })\n}\n\n/**\n * Generate function for attach ref for the h renderer\n * @param ref Ref<HTMLElement | ComponentPublicInstance>\n * @returns (val: T) => void\n */\n\nexport const refAttacher = <T extends HTMLElement | ComponentPublicInstance>(\n ref: Ref<T>\n) => {\n return (val: T) => {\n ref.value = val\n }\n}\n\nexport const merge = <T extends Record<string, any>>(a: T, b: T) => {\n const keys = [\n ...new Set([...Object.keys(a), ...Object.keys(b)]),\n ] as (keyof T)[]\n const obj = {} as T\n for (const key of keys) {\n obj[key] = b[key] ?? a[key]\n }\n return obj\n}\n"],"names":[],"mappings":";;;;;;;AAgBY,MAAC,KAAK,GAAG,OAAO;AACrB,SAAS,QAAQ,CAAC,GAAG,EAAE;AAC9B,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;AAChB,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,CAAC;AACW,MAAC,cAAc,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK;AACnD,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC;AAChB,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACjC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACK,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AACjD,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC;AACpB,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC;AACjB,EAAE,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;AAChC,IAAI,GAAG,GAAG,IAAI,CAAC;AACf,IAAI,KAAK,GAAG,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACrD,GAAG,MAAM;AACT,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;AAC7B,QAAQ,MAAM;AACd,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE;AAC3B,QAAQ,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,OAAO,MAAM;AACb,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,UAAU,CAAC,KAAK,EAAE,iDAAiD,CAAC,CAAC;AAC/E,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,KAAK;AACL,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,KAAK,GAAG,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,OAAO;AACd,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,KAAK;AACZ,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;AACpD,MAAC,kBAAkB,GAAG,CAAC,KAAK,GAAG,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE;AAC3F,MAAC,wBAAwB,GAAG,CAAC,GAAG,KAAK;AACjD,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE;AACzB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C,EAAE;AACU,MAAC,SAAS,GAAG,WAAW;AACpC,EAAE,OAAO,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACpE,EAAE;AACU,MAAC,YAAY,GAAG,SAAS,KAAK,EAAE;AAC5C,EAAE,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACzD,EAAE,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACtC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC1B,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;AACvB,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACnC,QAAQ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;AACrC,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,KAAK,CAAC;AACf,EAAE;AACU,MAAC,SAAS,GAAG,UAAU;AAYvB,MAAC,MAAM,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,UAAU;AAC5C,MAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,SAAS;AAC7C,MAAC,aAAa,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;AACjE,SAAS,WAAW,CAAC,EAAE,EAAE;AAChC,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC;AACrB,EAAE,OAAO,SAAS,GAAG,IAAI,EAAE;AAC3B,IAAI,IAAI,MAAM;AACd,MAAM,OAAO;AACb,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM;AACvC,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,KAAK,CAAC;AACrB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AACrC,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5B,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;AACrB,EAAE;AACK,SAAS,YAAY,CAAC,GAAG,EAAE;AAClC,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AACM,SAAS,WAAW,CAAC,GAAG,EAAE;AACjC,EAAE,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC;AACxB,CAAC;AACM,SAAS,OAAO,CAAC,GAAG,EAAE;AAC7B,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;AACnG,IAAI,OAAO,IAAI,CAAC;AAChB,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACM,SAAS,SAAS,CAAC,GAAG,EAAE;AAC/B,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACnC,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC7D,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AACM,SAAS,WAAW,CAAC,GAAG,EAAE;AACjC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AACM,SAAS,OAAO,CAAC,KAAK,EAAE;AAC/B,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACvB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC9B,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AACxB,GAAG;AACH,EAAE,SAAS,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;AAC/D,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;AACM,SAAS,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE;AAChD,EAAE,OAAO,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK;AACvD,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC/F,GAAG,CAAC,CAAC;AACL,CAAC;AACW,MAAC,WAAW,GAAG,CAAC,GAAG,KAAK;AACpC,EAAE,OAAO,CAAC,GAAG,KAAK;AAClB,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE;AACU,MAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,GAAG,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC1B,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;"}
|
|
1
|
+
{"version":3,"file":"util.mjs","sources":["../../../../packages/utils/util.ts"],"sourcesContent":["import {\n camelize,\n capitalize,\n extend,\n hasOwn,\n hyphenate,\n isArray,\n isObject,\n isString,\n isFunction,\n looseEqual,\n toRawType,\n} from '@vue/shared'\nimport { isEqualWith } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport { debugWarn, throwError } from './error'\n\nimport type { ComponentPublicInstance, CSSProperties, Ref } from 'vue'\nimport type { TimeoutHandle, Nullable } from './types'\n\nexport const SCOPE = 'Util'\n\nexport function toObject<T>(arr: Array<T>): Record<string, T> {\n const res = {}\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i])\n }\n }\n return res\n}\n\nexport const getValueByPath = (obj, paths = ''): unknown => {\n let ret: unknown = obj\n paths.split('.').map((path) => {\n ret = ret?.[path]\n })\n return ret\n}\n\nexport function getPropByPath(\n obj: any,\n path: string,\n strict: boolean\n): {\n o: unknown\n k: string\n v: Nullable<unknown>\n} {\n let tempObj = obj\n let key, value\n\n if (obj && hasOwn(obj, path)) {\n key = path\n value = tempObj?.[path]\n } else {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1')\n path = path.replace(/^\\./, '')\n\n const keyArr = path.split('.')\n let i = 0\n for (i; i < keyArr.length - 1; i++) {\n if (!tempObj && !strict) break\n const key = keyArr[i]\n\n if (key in tempObj) {\n tempObj = tempObj[key]\n } else {\n if (strict) {\n throwError(SCOPE, 'Please transfer a valid prop path to form item!')\n }\n break\n }\n }\n key = keyArr[i]\n value = tempObj?.[keyArr[i]]\n }\n return {\n o: tempObj,\n k: key,\n v: value,\n }\n}\n\n/**\n * Generate random number in range [0, 1000]\n * Maybe replace with [uuid](https://www.npmjs.com/package/uuid)\n */\nexport const generateId = (): number => Math.floor(Math.random() * 10000)\n\n// use isEqual instead\n// export const valueEquals\n\nexport const escapeRegexpString = (value = ''): string =>\n String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\n// Use native Array.find, Array.findIndex instead\n\n// coerce truthy value to array\nexport const coerceTruthyValueToArray = (arr) => {\n if (!arr && arr !== 0) {\n return []\n }\n return Array.isArray(arr) ? arr : [arr]\n}\n\n// drop IE and (Edge < 79) support\n// export const isIE\n// export const isEdge\n\nexport const isFirefox = function (): boolean {\n return isClient && !!window.navigator.userAgent.match(/firefox/i)\n}\n\nexport const autoprefixer = function (style: CSSProperties): CSSProperties {\n const rules = ['transform', 'transition', 'animation']\n const prefixes = ['ms-', 'webkit-']\n rules.forEach((rule) => {\n const value = style[rule]\n if (rule && value) {\n prefixes.forEach((prefix) => {\n style[prefix + rule] = value\n })\n }\n })\n return style\n}\n\nexport const kebabCase = hyphenate\n\n// reexport from lodash & vue shared\nexport { isVNode } from 'vue'\nexport {\n hasOwn,\n // isEmpty,\n // isEqual,\n isObject,\n isArray,\n isString,\n capitalize,\n camelize,\n looseEqual,\n extend,\n}\n\nexport const isBool = (val: unknown): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: unknown): val is number => typeof val === 'number'\nexport const isHTMLElement = (val: unknown) => toRawType(val).startsWith('HTML')\n\nexport function rafThrottle<T extends (...args: any) => any>(fn: T): T {\n let locked = false\n return function (this: ThisParameterType<T>, ...args: any[]) {\n if (locked) return\n locked = true\n\n window.requestAnimationFrame(() => {\n Reflect.apply(fn, this, args)\n locked = false\n })\n } as T\n}\n\nexport const clearTimer = (timer: Ref<TimeoutHandle>) => {\n clearTimeout(timer.value)\n timer.value = null\n}\n\n/**\n * Generating a random int in range (0, max - 1)\n * @param max {number}\n */\nexport function getRandomInt(max: number) {\n return Math.floor(Math.random() * Math.floor(max))\n}\n\nexport function isUndefined(val: any): val is undefined {\n return val === undefined\n}\n\nexport function isEmpty(val: unknown) {\n if (\n (!val && val !== 0) ||\n (isArray(val) && !val.length) ||\n (isObject(val) && !Object.keys(val).length)\n )\n return true\n\n return false\n}\n\nexport function arrayFlat(arr: unknown[]) {\n return arr.reduce((acm: unknown[], item) => {\n const val = Array.isArray(item) ? arrayFlat(item) : item\n return acm.concat(val)\n }, [])\n}\n\nexport function deduplicate<T>(arr: T[]) {\n return Array.from(new Set(arr))\n}\n\nexport function addUnit(value: string | number) {\n if (isString(value)) {\n return value\n } else if (isNumber(value)) {\n return `${value}px`\n }\n debugWarn(SCOPE, 'binding value must be a string or number')\n return ''\n}\n\n/**\n * Enhance `lodash.isEqual` for it always return false even two functions have completely same statements.\n * @param obj The value to compare\n * @param other The other value to compare\n * @returns Returns `true` if the values are equivalent, else `false`.\n * @example\n * lodash.isEqual(() => 1, () => 1) // false\n * isEqualWith(() => 1, () => 1) // true\n */\nexport function isEqualWithFunction(obj: any, other: any) {\n return isEqualWith(obj, other, (objVal, otherVal) => {\n return isFunction(objVal) && isFunction(otherVal)\n ? `${objVal}` === `${otherVal}`\n : undefined\n })\n}\n\n/**\n * Generate function for attach ref for the h renderer\n * @param ref Ref<HTMLElement | ComponentPublicInstance>\n * @returns (val: T) => void\n */\n\nexport const refAttacher = <T extends HTMLElement | ComponentPublicInstance>(\n ref: Ref<T>\n) => {\n return (val: T) => {\n ref.value = val\n }\n}\n\nexport const merge = <T extends Record<string, any>>(a: T, b: T) => {\n const keys = [\n ...new Set([...Object.keys(a), ...Object.keys(b)]),\n ] as (keyof T)[]\n const obj = {} as T\n for (const key of keys) {\n obj[key] = b[key] ?? a[key]\n }\n return obj\n}\n"],"names":[],"mappings":"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"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20220208";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220208'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
|
|
@@ -41,7 +41,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
41
41
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
42
42
|
const _component_el_icon = vue.resolveComponent("el-icon");
|
|
43
43
|
const _component_close = vue.resolveComponent("close");
|
|
44
|
-
return vue.openBlock(), vue.createBlock(vue.Transition, {
|
|
44
|
+
return vue.openBlock(), vue.createBlock(vue.Transition, {
|
|
45
|
+
name: _ctx.ns.b("fade")
|
|
46
|
+
}, {
|
|
45
47
|
default: vue.withCtx(() => [
|
|
46
48
|
vue.withDirectives(vue.createElementVNode("div", {
|
|
47
49
|
class: vue.normalizeClass([_ctx.ns.b(), _ctx.ns.m(_ctx.type), _ctx.ns.is("center", _ctx.center), _ctx.ns.is(_ctx.effect)]),
|
|
@@ -97,7 +99,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
97
99
|
])
|
|
98
100
|
]),
|
|
99
101
|
_: 3
|
|
100
|
-
});
|
|
102
|
+
}, 8, ["name"]);
|
|
101
103
|
}
|
|
102
104
|
var Alert = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
|
|
103
105
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert2.js","sources":["../../../../../../packages/components/alert/src/alert.vue"],"sourcesContent":["<template>\n <transition name=\"
|
|
1
|
+
{"version":3,"file":"alert2.js","sources":["../../../../../../packages/components/alert/src/alert.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"visible\"\n :class=\"[ns.b(), ns.m(type), ns.is('center', center), ns.is(effect)]\"\n role=\"alert\"\n >\n <el-icon\n v-if=\"showIcon && iconComponent\"\n :class=\"[ns.e('icon'), isBigIcon]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <div :class=\"ns.e('content')\">\n <span\n v-if=\"title || $slots.title\"\n :class=\"[ns.e('title'), isBoldTitle]\"\n >\n <slot name=\"title\">{{ title }}</slot>\n </span>\n <p v-if=\"$slots.default || description\" :class=\"ns.e('description')\">\n <slot>\n {{ description }}\n </slot>\n </p>\n <template v-if=\"closable\">\n <div\n v-if=\"closeText\"\n :class=\"[ns.e('closebtn'), ns.is('customed')]\"\n @click=\"close\"\n >\n {{ closeText }}\n </div>\n <el-icon v-else :class=\"ns.e('closebtn')\" @click=\"close\">\n <close />\n </el-icon>\n </template>\n </div>\n </div>\n </transition>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { alertProps, alertEmits } from './alert'\n\nexport default defineComponent({\n name: 'ElAlert',\n\n components: {\n ElIcon,\n ...TypeComponents,\n },\n\n props: alertProps,\n emits: alertEmits,\n\n setup(props, { emit, slots }) {\n const ns = useNamespace('alert')\n\n // state\n const visible = ref(true)\n\n // computed\n const iconComponent = computed(\n () => TypeComponentsMap[props.type] || TypeComponentsMap['info']\n )\n const isBigIcon = computed(() =>\n props.description || slots.default ? ns.is('big') : ''\n )\n const isBoldTitle = computed(() =>\n props.description || slots.default ? ns.is('bold') : ''\n )\n\n // methods\n const close = (evt: MouseEvent) => {\n visible.value = false\n emit('close', evt)\n }\n\n return {\n ns,\n visible,\n iconComponent,\n isBigIcon,\n isBoldTitle,\n close,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","TypeComponents","alertProps","alertEmits","useNamespace","ref","computed","TypeComponentsMap","_openBlock","_createBlock","_createElementVNode","_normalizeClass","_createCommentVNode","_createElementBlock","_Fragment","_withCtx"],"mappings":";;;;;;;;;;;;AAgDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,YACVC;AAAA,OACGC;AAAA;AAAA,EAGL,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,KAAKC,qBAAa;AAGxB,UAAM,UAAUC,QAAI;AAGpB,UAAM,gBAAgBC,aACpB,MAAMC,uBAAkB,MAAM,SAASA,uBAAkB;AAE3D,UAAM,YAAYD,aAAS,MACzB,MAAM,eAAe,MAAM,UAAU,GAAG,GAAG,SAAS;AAEtD,UAAM,cAAcA,aAAS,MAC3B,MAAM,eAAe,MAAM,UAAU,GAAG,GAAG,UAAU;AAIvD,UAAM,QAAQ,CAAC,QAAoB;AACjC,cAAQ,QAAQ;AAChB,WAAK,SAAS;AAAA;AAGhB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;SAvFeE,iBAAIC;AAAA;;yBACrB;AAAA,yBAEQC,uBAAO,OAAI;AAAA,QACjB,OAAKC,mBAAO;AAAA;SAGJ;AAAA,8BADR;UAEG,KAAK;AAAA;;+BAEN;AAAA;;;4BAEFC,uBAwBM;AAAA,+BAxBK,OAAE;AAAA;WAEH;AAAA,6BADR;YAEG,KAAK;AAAA;aAEN;AAAA,qDAAsB;AAAA;;mBAEfA,uBAAkB;AAAA,iCAA3B;YAAyC,KAAK;AAAA;aAC5C;AAAA,mDACK;AAAA;;mBAGSA,uBAAQ;AAAA,4CAEdC,uBAASC;AAAA;cACd,KAAK;AAAA,cACL,OAAKH,gDAAE;AAAA,iDAEI;AAAA,mCAEd,iBAEU;cAFO,KAAK;AAAA,cAAqB,OAAKA,mBAAO;AAAA;;uBACrDI,YAAS;AAAA;;;;;;aA/BP;AAAA;;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var shared = require('@vue/shared');
|
|
7
|
-
var
|
|
7
|
+
var lodashUnified = require('lodash-unified');
|
|
8
8
|
require('../../../hooks/index.js');
|
|
9
9
|
require('../../../directives/index.js');
|
|
10
10
|
var util = require('../../../utils/util.js');
|
|
@@ -23,10 +23,6 @@ var index$5 = require('../../../hooks/use-namespace/index.js');
|
|
|
23
23
|
var deprecation = require('../../popper/src/deprecation.js');
|
|
24
24
|
var index$6 = require('../../../hooks/use-attrs/index.js');
|
|
25
25
|
|
|
26
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
|
-
|
|
28
|
-
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
29
|
-
|
|
30
26
|
const COMPONENT_NAME = "ElAutocomplete";
|
|
31
27
|
const _sfc_main = vue.defineComponent({
|
|
32
28
|
name: COMPONENT_NAME,
|
|
@@ -161,7 +157,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
161
157
|
}
|
|
162
158
|
});
|
|
163
159
|
};
|
|
164
|
-
const debouncedGetData =
|
|
160
|
+
const debouncedGetData = lodashUnified.debounce(getData, props.debounce);
|
|
165
161
|
const handleInput = (value) => {
|
|
166
162
|
ctx.emit("input", value);
|
|
167
163
|
ctx.emit(constants.UPDATE_MODEL_EVENT, value);
|