element-plus 2.2.13 → 2.2.14
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +292 -170
- package/dist/index.full.min.js +14 -14
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +15 -15
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +293 -171
- 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/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.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/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.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/carousel/index.d.ts +1 -1
- package/es/components/carousel/src/carousel.vue.d.ts +1 -1
- package/es/components/cascader/src/index.mjs +9 -3
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs +2 -2
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/dialog/src/use-dialog.mjs +1 -1
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/menu/src/menu.mjs +39 -17
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/pagination/index.d.ts +6 -0
- package/es/components/pagination/src/components/next.d.ts +6 -0
- package/es/components/pagination/src/components/next.mjs +4 -0
- package/es/components/pagination/src/components/next.mjs.map +1 -1
- package/es/components/pagination/src/components/next.vue.d.ts +18 -1
- package/es/components/pagination/src/components/next2.mjs +2 -3
- package/es/components/pagination/src/components/next2.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.d.ts +6 -0
- package/es/components/pagination/src/components/prev.mjs +4 -0
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/prev.vue.d.ts +18 -1
- package/es/components/pagination/src/components/prev2.mjs +2 -3
- package/es/components/pagination/src/components/prev2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.d.ts +8 -0
- package/es/components/pagination/src/pagination.mjs +12 -0
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popover/src/popover2.mjs +1 -1
- package/es/components/popover/src/popover2.mjs.map +1 -1
- package/es/components/select/src/useOption.mjs +2 -2
- package/es/components/select/src/useOption.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +2 -2
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/slider/src/composables/use-marks.mjs +1 -1
- package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
- package/es/components/slot/src/only-child.mjs +3 -1
- package/es/components/slot/src/only-child.mjs.map +1 -1
- package/es/components/switch/src/switch2.mjs +2 -1
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.mjs +3 -3
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/render-helper.mjs +1 -1
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/tree/src/model/node.mjs +3 -3
- package/es/components/tree/src/model/node.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-list.mjs +3 -3
- package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
- package/es/hooks/use-id/index.mjs +4 -1
- package/es/hooks/use-id/index.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/carousel/index.d.ts +1 -1
- package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
- package/lib/components/cascader/src/index.js +9 -3
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/color-picker/src/index.js +2 -2
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/dialog/src/use-dialog.js +1 -1
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/menu/src/menu.js +39 -17
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/pagination/index.d.ts +6 -0
- package/lib/components/pagination/src/components/next.d.ts +6 -0
- package/lib/components/pagination/src/components/next.js +4 -0
- package/lib/components/pagination/src/components/next.js.map +1 -1
- package/lib/components/pagination/src/components/next.vue.d.ts +18 -1
- package/lib/components/pagination/src/components/next2.js +1 -2
- package/lib/components/pagination/src/components/next2.js.map +1 -1
- package/lib/components/pagination/src/components/prev.d.ts +6 -0
- package/lib/components/pagination/src/components/prev.js +4 -0
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/prev.vue.d.ts +18 -1
- package/lib/components/pagination/src/components/prev2.js +1 -2
- package/lib/components/pagination/src/components/prev2.js.map +1 -1
- package/lib/components/pagination/src/pagination.d.ts +8 -0
- package/lib/components/pagination/src/pagination.js +12 -0
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popover/src/popover2.js +1 -1
- package/lib/components/popover/src/popover2.js.map +1 -1
- package/lib/components/select/src/useOption.js +1 -1
- package/lib/components/select/src/useOption.js.map +1 -1
- package/lib/components/select/src/useSelect.js +1 -1
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/slider/src/composables/use-marks.js +1 -1
- package/lib/components/slider/src/composables/use-marks.js.map +1 -1
- package/lib/components/slot/src/only-child.js +3 -1
- package/lib/components/slot/src/only-child.js.map +1 -1
- package/lib/components/switch/src/switch2.js +2 -1
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/src/table/style-helper.js +3 -3
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-body/render-helper.js +1 -1
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/tree/src/model/node.js +3 -3
- package/lib/components/tree/src/model/node.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-list.js +2 -2
- package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
- package/lib/hooks/use-id/index.js +4 -1
- package/lib/hooks/use-id/index.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 +3 -3
- package/tags.json +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/input.scss +1 -0
- package/theme-chalk/src/select/common.scss +3 -5
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.mjs","sources":["../../../../../../packages/components/pagination/src/pagination.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n mutable,\n} from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { elPaginationKey } from '@element-plus/tokens'\n\nimport Prev from './components/prev.vue'\nimport Next from './components/next.vue'\nimport Sizes from './components/sizes.vue'\nimport Jumper from './components/jumper.vue'\nimport Total from './components/total.vue'\nimport Pager from './components/pager.vue'\n\nimport type { ExtractPropTypes, VNode } from 'vue'\n\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey =\n | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n total: Number,\n pageSize: Number,\n defaultPageSize: Number,\n currentPage: Number,\n defaultCurrentPage: Number,\n pageCount: Number,\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n typeof value === 'number' &&\n Math.trunc(value) === value &&\n value > 4 &&\n value < 22 &&\n value % 2 === 1\n )\n },\n default: 7,\n },\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n popperClass: {\n type: String,\n default: '',\n },\n prevText: {\n type: String,\n default: '',\n },\n nextText: {\n type: String,\n default: '',\n },\n small: Boolean,\n background: Boolean,\n disabled: Boolean,\n hideOnSinglePage: Boolean,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => typeof val === 'number',\n 'update:page-size': (val: number) => typeof val === 'number',\n 'size-change': (val: number) => typeof val === 'number',\n 'current-change': (val: number) => typeof val === 'number',\n 'prev-click': (val: number) => typeof val === 'number',\n 'next-click': (val: number) => typeof val === 'number',\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener =\n 'onUpdate:currentPage' in vnodeProps ||\n 'onUpdate:current-page' in vnodeProps ||\n 'onCurrentChange' in vnodeProps\n const hasPageSizeListener =\n 'onUpdate:pageSize' in vnodeProps ||\n 'onUpdate:page-size' in vnodeProps ||\n 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener) return false\n } else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false\n }\n } else {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val) currentPageBridge.value = val\n })\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled) return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled) return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout) return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n onClick: prev,\n }),\n jumper: h(Jumper),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n size: props.small ? 'small' : 'default',\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n components.forEach((c) => {\n if (c === '->') {\n haveRightWrapper = true\n return\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c])\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n })\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren[rootChildren.length - 1], ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren[rightWrapperChildren.length - 1],\n ns.is('last')\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n role: 'pagination',\n 'aria-label': 'pagination',\n class: [\n ns.b(),\n ns.is('background', props.background),\n {\n [ns.m('small')]: props.small,\n },\n ],\n },\n rootChildren\n )\n }\n },\n})\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination.mjs","sources":["../../../../../../packages/components/pagination/src/pagination.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n mutable,\n} from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { elPaginationKey } from '@element-plus/tokens'\n\nimport Prev from './components/prev.vue'\nimport Next from './components/next.vue'\nimport Sizes from './components/sizes.vue'\nimport Jumper from './components/jumper.vue'\nimport Total from './components/total.vue'\nimport Pager from './components/pager.vue'\n\nimport type { ExtractPropTypes, VNode } from 'vue'\n\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey =\n | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n total: Number,\n pageSize: Number,\n defaultPageSize: Number,\n currentPage: Number,\n defaultCurrentPage: Number,\n pageCount: Number,\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n typeof value === 'number' &&\n Math.trunc(value) === value &&\n value > 4 &&\n value < 22 &&\n value % 2 === 1\n )\n },\n default: 7,\n },\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n popperClass: {\n type: String,\n default: '',\n },\n prevText: {\n type: String,\n default: '',\n },\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n nextText: {\n type: String,\n default: '',\n },\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n small: Boolean,\n background: Boolean,\n disabled: Boolean,\n hideOnSinglePage: Boolean,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => typeof val === 'number',\n 'update:page-size': (val: number) => typeof val === 'number',\n 'size-change': (val: number) => typeof val === 'number',\n 'current-change': (val: number) => typeof val === 'number',\n 'prev-click': (val: number) => typeof val === 'number',\n 'next-click': (val: number) => typeof val === 'number',\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener =\n 'onUpdate:currentPage' in vnodeProps ||\n 'onUpdate:current-page' in vnodeProps ||\n 'onCurrentChange' in vnodeProps\n const hasPageSizeListener =\n 'onUpdate:pageSize' in vnodeProps ||\n 'onUpdate:page-size' in vnodeProps ||\n 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener) return false\n } else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false\n }\n } else {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val) currentPageBridge.value = val\n })\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled) return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled) return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout) return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n size: props.small ? 'small' : 'default',\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n components.forEach((c) => {\n if (c === '->') {\n haveRightWrapper = true\n return\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c])\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n })\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren[rootChildren.length - 1], ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren[rightWrapperChildren.length - 1],\n ns.is('last')\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n role: 'pagination',\n 'aria-label': 'pagination',\n class: [\n ns.b(),\n ns.is('background', props.background),\n {\n [ns.m('small')]: props.small,\n },\n ],\n },\n rootChildren\n )\n }\n },\n})\n"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
38
38
|
return [ns.b(), props.popperClass, { [ns.m("plain")]: !!props.content }];
|
|
39
39
|
});
|
|
40
40
|
const gpuAcceleration = computed(() => {
|
|
41
|
-
return props.transition ===
|
|
41
|
+
return props.transition === `${ns.namespace.value}-fade-in-linear`;
|
|
42
42
|
});
|
|
43
43
|
const hide = () => {
|
|
44
44
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover2.mjs","sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"teleported\"\n :persistent=\"persistent\"\n :gpu-acceleration=\"gpuAcceleration\"\n @update:visible=\"onUpdateVisible\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { addUnit } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { popoverEmits, popoverProps } from './popover'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElPopover',\n})\n\nconst props = defineProps(popoverProps)\nconst emit = defineEmits(popoverEmits)\n\nconst updateEventKeyRaw = `onUpdate:visible` as const\n\nconst onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw]\n})\n\nconst ns = useNamespace('popover')\nconst tooltipRef = ref<TooltipInstance>()\nconst popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n})\n\nconst style = computed(() => {\n return [\n {\n width: addUnit(props.width),\n },\n props.popperStyle!,\n ]\n})\n\nconst kls = computed(() => {\n return [ns.b(), props.popperClass!, { [ns.m('plain')]: !!props.content }]\n})\n\nconst gpuAcceleration = computed(() => {\n return props.transition ===
|
|
1
|
+
{"version":3,"file":"popover2.mjs","sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"teleported\"\n :persistent=\"persistent\"\n :gpu-acceleration=\"gpuAcceleration\"\n @update:visible=\"onUpdateVisible\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { addUnit } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { popoverEmits, popoverProps } from './popover'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElPopover',\n})\n\nconst props = defineProps(popoverProps)\nconst emit = defineEmits(popoverEmits)\n\nconst updateEventKeyRaw = `onUpdate:visible` as const\n\nconst onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw]\n})\n\nconst ns = useNamespace('popover')\nconst tooltipRef = ref<TooltipInstance>()\nconst popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n})\n\nconst style = computed(() => {\n return [\n {\n width: addUnit(props.width),\n },\n props.popperStyle!,\n ]\n})\n\nconst kls = computed(() => {\n return [ns.b(), props.popperClass!, { [ns.m('plain')]: !!props.content }]\n})\n\nconst gpuAcceleration = computed(() => {\n return props.transition === `${ns.namespace.value}-fade-in-linear`\n})\n\nconst hide = () => {\n tooltipRef.value?.hide()\n}\n\nconst beforeEnter = () => {\n emit('before-enter')\n}\nconst beforeLeave = () => {\n emit('before-leave')\n}\n\nconst afterEnter = () => {\n emit('after-enter')\n}\n\nconst afterLeave = () => {\n emit('update:visible', false)\n emit('after-leave')\n}\n\ndefineExpose({\n /** @description popper ref */\n popperRef,\n /** @description hide popover */\n hide,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA4DA,IAAA,MAAA,iBAAA,GAAA,CAAA,gBAAA,CAAA,CAAA;AAEA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,iBAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,QAAA,CAAA,MAAA;AAAA,MACA,OAAA;AAAA,QACA;AAAA,UACA,KAAA,EAAA,OAAA,CAAA,KAAA,CAAA,KAAA,CAAA;AAAA,SACA;AAAA,QACA,KAAA,CAAA,WAAA;AAAA,OACA,CAAA;AAEA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,GAAA,GAAA,QAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,KAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,QAAA,CAAA,MAAA;AAAA,MACA,OAAA,KAAA,CAAA,UAAA,KAAA,CAAA,EAAA,EAAA,CAAA,SAAA,CAAA,KAAA,CAAA,eAAA,CAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA;AAAA,MACA,IAAA,EAAA,CAAA;AAEA,MAAA,CAAA,EAAA,mBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AACA,KAAA,CAAA;AAAA,IACA,MAAA,WAAA,GAAA,MAAA;AACA,MAAA,IAAA,eAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAA,IACA,MAAA,WAAA,GAAA,MAAA;AAEA,MAAA,IAAA,eAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAA,IACA,MAAA,UAAA,GAAA,MAAA;AAEA,MAAA,IAAA,cAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,MAAA;AAAA,MACA,IAAA,CAAA,gBAAA,EAAA,KAAA,CAAA,CAAA;AAEA,MAAA,IAAA,CAAA,aAAA,CAAA,CAAA;AAAA,KAEA,CAAA;AAAA,IAEA,MAAA,CAAA;AAAA,MACA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inject, computed, getCurrentInstance,
|
|
1
|
+
import { inject, computed, getCurrentInstance, toRaw, watch, unref } from 'vue';
|
|
2
2
|
import { get } from 'lodash-unified';
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
4
|
import { selectKey, selectGroupKey } from './token.mjs';
|
|
@@ -41,7 +41,7 @@ function useOption(props, states) {
|
|
|
41
41
|
} else {
|
|
42
42
|
const valueKey = select.props.valueKey;
|
|
43
43
|
return arr && arr.some((item) => {
|
|
44
|
-
return get(item, valueKey) === get(target, valueKey);
|
|
44
|
+
return toRaw(get(item, valueKey)) === get(target, valueKey);
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOption.mjs","sources":["../../../../../../packages/components/select/src/useOption.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, getCurrentInstance, inject, toRaw, unref, watch } from 'vue'\nimport { get } from 'lodash-unified'\nimport { escapeStringRegexp } from '@element-plus/utils'\nimport { selectGroupKey, selectKey } from './token'\n\nimport type { Ref } from 'vue'\nimport type { QueryChangeCtx } from './token'\n\nexport function useOption(props, states) {\n // inject\n const select = inject(selectKey)\n const selectGroup = inject(selectGroupKey, { disabled: false })\n\n // computed\n const isObject = computed(() => {\n return (\n Object.prototype.toString.call(props.value).toLowerCase() ===\n '[object object]'\n )\n })\n\n const itemSelected = computed(() => {\n if (!select.props.multiple) {\n return isEqual(props.value, select.props.modelValue)\n } else {\n return contains(select.props.modelValue as unknown[], props.value)\n }\n })\n\n const limitReached = computed(() => {\n if (select.props.multiple) {\n const modelValue = (select.props.modelValue || []) as unknown[]\n return (\n !itemSelected.value &&\n modelValue.length >= select.props.multipleLimit &&\n select.props.multipleLimit > 0\n )\n } else {\n return false\n }\n })\n\n const currentLabel = computed(() => {\n return props.label || (isObject.value ? '' : props.value)\n })\n\n const currentValue = computed(() => {\n return props.value || props.label || ''\n })\n\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value\n })\n\n const instance = getCurrentInstance()\n\n const contains = (arr = [], target) => {\n if (!isObject.value) {\n return arr && arr.includes(target)\n } else {\n const valueKey = select.props.valueKey\n return (\n arr &&\n arr.some((item) => {\n return get(item, valueKey) === get(target, valueKey)\n })\n )\n }\n }\n\n const isEqual = (a: unknown, b: unknown) => {\n if (!isObject.value) {\n return a === b\n } else {\n const { valueKey } = select.props\n return get(a, valueKey) === get(b, valueKey)\n }\n }\n\n const hoverItem = () => {\n if (!props.disabled && !selectGroup.disabled) {\n select.hoverIndex = select.optionsArray.indexOf(instance.proxy)\n }\n }\n\n watch(\n () => currentLabel.value,\n () => {\n if (!props.created && !select.props.remote) select.setSelected()\n }\n )\n\n watch(\n () => props.value,\n (val, oldVal) => {\n const { remote, valueKey } = select.props\n if (!props.created && !remote) {\n if (\n valueKey &&\n typeof val === 'object' &&\n typeof oldVal === 'object' &&\n val[valueKey] === oldVal[valueKey]\n ) {\n return\n }\n select.setSelected()\n }\n }\n )\n\n watch(\n () => selectGroup.disabled,\n () => {\n states.groupDisabled = selectGroup.disabled\n },\n { immediate: true }\n )\n\n const { queryChange } = toRaw(select)\n watch(queryChange, (changes: Ref<QueryChangeCtx>) => {\n const { query } = unref(changes)\n\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n states.visible = regexp.test(currentLabel.value) || props.created\n if (!states.visible) {\n select.filteredOptionsCount--\n }\n })\n\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n }\n}\n"],"names":[],"mappings":";;;;;;AAIO,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;AACzC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM;AAClC,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC;AAC3F,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM;AACtC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;AAChC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3D,KAAK,MAAM;AACX,MAAM,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5D,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM;AACtC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC/B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;AACvD,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;AACtH,KAAK,MAAM;AACX,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM;AACtC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9D,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM;AACtC,IAAI,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5C,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;AACpC,IAAI,OAAO,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,IAAI,YAAY,CAAC,KAAK,CAAC;AACxE,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,MAAM,KAAK;AACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,KAAK,MAAM;AACX,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACvC,QAAQ,OAAO,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useOption.mjs","sources":["../../../../../../packages/components/select/src/useOption.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, getCurrentInstance, inject, toRaw, unref, watch } from 'vue'\nimport { get } from 'lodash-unified'\nimport { escapeStringRegexp } from '@element-plus/utils'\nimport { selectGroupKey, selectKey } from './token'\n\nimport type { Ref } from 'vue'\nimport type { QueryChangeCtx } from './token'\n\nexport function useOption(props, states) {\n // inject\n const select = inject(selectKey)\n const selectGroup = inject(selectGroupKey, { disabled: false })\n\n // computed\n const isObject = computed(() => {\n return (\n Object.prototype.toString.call(props.value).toLowerCase() ===\n '[object object]'\n )\n })\n\n const itemSelected = computed(() => {\n if (!select.props.multiple) {\n return isEqual(props.value, select.props.modelValue)\n } else {\n return contains(select.props.modelValue as unknown[], props.value)\n }\n })\n\n const limitReached = computed(() => {\n if (select.props.multiple) {\n const modelValue = (select.props.modelValue || []) as unknown[]\n return (\n !itemSelected.value &&\n modelValue.length >= select.props.multipleLimit &&\n select.props.multipleLimit > 0\n )\n } else {\n return false\n }\n })\n\n const currentLabel = computed(() => {\n return props.label || (isObject.value ? '' : props.value)\n })\n\n const currentValue = computed(() => {\n return props.value || props.label || ''\n })\n\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value\n })\n\n const instance = getCurrentInstance()\n\n const contains = (arr = [], target) => {\n if (!isObject.value) {\n return arr && arr.includes(target)\n } else {\n const valueKey = select.props.valueKey\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n }\n\n const isEqual = (a: unknown, b: unknown) => {\n if (!isObject.value) {\n return a === b\n } else {\n const { valueKey } = select.props\n return get(a, valueKey) === get(b, valueKey)\n }\n }\n\n const hoverItem = () => {\n if (!props.disabled && !selectGroup.disabled) {\n select.hoverIndex = select.optionsArray.indexOf(instance.proxy)\n }\n }\n\n watch(\n () => currentLabel.value,\n () => {\n if (!props.created && !select.props.remote) select.setSelected()\n }\n )\n\n watch(\n () => props.value,\n (val, oldVal) => {\n const { remote, valueKey } = select.props\n if (!props.created && !remote) {\n if (\n valueKey &&\n typeof val === 'object' &&\n typeof oldVal === 'object' &&\n val[valueKey] === oldVal[valueKey]\n ) {\n return\n }\n select.setSelected()\n }\n }\n )\n\n watch(\n () => selectGroup.disabled,\n () => {\n states.groupDisabled = selectGroup.disabled\n },\n { immediate: true }\n )\n\n const { queryChange } = toRaw(select)\n watch(queryChange, (changes: Ref<QueryChangeCtx>) => {\n const { query } = unref(changes)\n\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n states.visible = regexp.test(currentLabel.value) || props.created\n if (!states.visible) {\n select.filteredOptionsCount--\n }\n })\n\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { reactive, ref, shallowRef, computed, watch, nextTick, triggerRef } from 'vue';
|
|
1
|
+
import { reactive, ref, shallowRef, computed, watch, nextTick, triggerRef, toRaw } from 'vue';
|
|
2
2
|
import { toRawType, isObject } from '@vue/shared';
|
|
3
3
|
import { isEqual, get, debounce } from 'lodash-unified';
|
|
4
4
|
import { isClient } from '@vueuse/core';
|
|
@@ -459,7 +459,7 @@ const useSelect = (props, states, ctx) => {
|
|
|
459
459
|
const valueKey = props.valueKey;
|
|
460
460
|
let index = -1;
|
|
461
461
|
arr.some((item, i) => {
|
|
462
|
-
if (get(item, valueKey) === get(value, valueKey)) {
|
|
462
|
+
if (toRaw(get(item, valueKey)) === get(value, valueKey)) {
|
|
463
463
|
index = i;
|
|
464
464
|
return true;
|
|
465
465
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelect.mjs","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n reactive,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\nimport { isObject, toRawType } from '@vue/shared'\nimport { get, isEqual, debounce as lodashDebounce } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n debugWarn,\n getComponentSize,\n isKorean,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n useFormItem,\n useLocale,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type ElTooltip from '@element-plus/components/tooltip'\nimport type { QueryChangeCtx, SelectOptionProxy } from './token'\n\nexport function useSelectStates(props) {\n const { t } = useLocale()\n return reactive({\n options: new Map(),\n cachedOptions: new Map(),\n createdLabel: null,\n createdSelected: false,\n selected: props.multiple ? [] : ({} as any),\n inputLength: 20,\n inputWidth: 0,\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n softFocus: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n cachedPlaceHolder: '',\n currentPlaceholder: t('el.select.placeholder'),\n menuVisibleOnFocus: false,\n isOnComposition: false,\n isSilentBlur: false,\n prefixWidth: 11,\n tagInMultiLine: false,\n })\n}\n\ntype States = ReturnType<typeof useSelectStates>\n\nexport const useSelect = (props, states: States, ctx) => {\n const { t } = useLocale()\n const ns = useNamespace('select')\n\n // template refs\n const reference = ref<ComponentPublicInstance<{\n focus: () => void\n blur: () => void\n input: HTMLInputElement\n }> | null>(null)\n const input = ref<HTMLInputElement | null>(null)\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const tags = ref<HTMLElement | null>(null)\n const selectWrapper = ref<HTMLElement | null>(null)\n const scrollbar = ref<{\n handleScroll: () => void\n } | null>(null)\n const hoverOption = ref(-1)\n const queryChange = shallowRef<QueryChangeCtx>({ query: '' })\n const groupQueryChange = shallowRef('')\n\n const { form, formItem } = useFormItem()\n\n const readonly = computed(\n () => !props.filterable || props.multiple || !states.visible\n )\n\n const selectDisabled = computed(() => props.disabled || form?.disabled)\n\n const showClose = computed(() => {\n const hasValue = props.multiple\n ? Array.isArray(props.modelValue) && props.modelValue.length > 0\n : props.modelValue !== undefined &&\n props.modelValue !== null &&\n props.modelValue !== ''\n\n const criteria =\n props.clearable &&\n !selectDisabled.value &&\n states.inputHovering &&\n hasValue\n return criteria\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable ? '' : props.suffixIcon\n )\n const iconReverse = computed(() =>\n ns.is('reverse', iconComponent.value && states.visible)\n )\n\n const debounce = computed(() => (props.remote ? 300 : 0))\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (props.remote && states.query === '' && states.options.size === 0)\n return false\n if (\n props.filterable &&\n states.query &&\n states.options.size > 0 &&\n states.filteredOptionsCount === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const optionsArray = computed(() => Array.from(states.options.values()))\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.query\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.query !== '' &&\n !hasExistingOption\n )\n })\n\n const selectSize = useSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropMenuVisible = computed({\n get() {\n return states.visible && emptyText.value !== false\n },\n set(val: boolean) {\n states.visible = val\n },\n })\n\n // watch\n watch(\n [() => selectDisabled.value, () => selectSize.value, () => form?.size],\n () => {\n nextTick(() => {\n resetInputHeight()\n })\n }\n )\n\n watch(\n () => props.placeholder,\n (val) => {\n states.cachedPlaceHolder = states.currentPlaceholder = val\n }\n )\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n resetInputHeight()\n if ((val && val.length > 0) || (input.value && states.query !== '')) {\n states.currentPlaceholder = ''\n } else {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n if (props.filterable && !props.reserveKeyword) {\n states.query = ''\n handleQueryChange(states.query)\n }\n }\n setSelected()\n if (props.filterable && !props.multiple) {\n states.inputLength = 20\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => states.visible,\n (val) => {\n if (!val) {\n input.value && input.value.blur()\n states.query = ''\n states.previousQuery = null\n states.selectedLabel = ''\n states.inputLength = 20\n states.menuVisibleOnFocus = false\n resetHoverIndex()\n nextTick(() => {\n if (\n input.value &&\n input.value.value === '' &&\n states.selected.length === 0\n ) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n })\n\n if (!props.multiple) {\n if (states.selected) {\n if (\n props.filterable &&\n props.allowCreate &&\n states.createdSelected &&\n states.createdLabel\n ) {\n states.selectedLabel = states.createdLabel\n } else {\n states.selectedLabel = states.selected.currentLabel\n }\n if (props.filterable) states.query = states.selectedLabel\n }\n\n if (props.filterable) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n } else {\n tooltipRef.value?.updatePopper?.()\n\n if (props.filterable) {\n states.filteredOptionsCount = states.optionsCount\n states.query = props.remote ? '' : states.selectedLabel\n if (props.multiple) {\n input.value?.focus()\n } else {\n if (states.selectedLabel) {\n states.currentPlaceholder = `${states.selectedLabel}`\n states.selectedLabel = ''\n }\n }\n handleQueryChange(states.query)\n if (!props.multiple && !props.remote) {\n queryChange.value.query = ''\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n }\n }\n ctx.emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n tooltipRef.value?.updatePopper?.()\n if (props.multiple) {\n resetInputHeight()\n }\n const inputs = selectWrapper.value?.querySelectorAll('input') || []\n if (\n !Array.from(inputs).includes(document.activeElement as HTMLInputElement)\n ) {\n setSelected()\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch(\n () => states.hoverIndex,\n (val) => {\n if (typeof val === 'number' && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n }\n )\n\n // methods\n const resetInputHeight = () => {\n if (props.collapseTags && !props.filterable) return\n nextTick(() => {\n if (!reference.value) return\n const input = reference.value.$el.querySelector(\n 'input'\n ) as HTMLInputElement\n const _tags = tags.value\n\n const sizeInMap = getComponentSize(selectSize.value || form?.size)\n // it's an inner input so reduce it by 2px.\n input.style.height = `${\n (states.selected.length === 0\n ? sizeInMap\n : Math.max(\n _tags\n ? _tags.clientHeight + (_tags.clientHeight > sizeInMap ? 6 : 0)\n : 0,\n sizeInMap\n )) - 2\n }px`\n\n states.tagInMultiLine = Number.parseFloat(input.style.height) >= sizeInMap\n\n if (states.visible && emptyText.value !== false) {\n tooltipRef.value?.updatePopper?.()\n }\n })\n }\n\n const handleQueryChange = (val) => {\n if (states.previousQuery === val || states.isOnComposition) return\n if (\n states.previousQuery === null &&\n (typeof props.filterMethod === 'function' ||\n typeof props.remoteMethod === 'function')\n ) {\n states.previousQuery = val\n return\n }\n states.previousQuery = val\n nextTick(() => {\n if (states.visible) tooltipRef.value?.updatePopper?.()\n })\n states.hoverIndex = -1\n if (props.multiple && props.filterable) {\n nextTick(() => {\n const length = input.value!.value.length * 15 + 20\n states.inputLength = props.collapseTags ? Math.min(50, length) : length\n managePlaceholder()\n resetInputHeight()\n })\n }\n if (props.remote && typeof props.remoteMethod === 'function') {\n states.hoverIndex = -1\n props.remoteMethod(val)\n } else if (typeof props.filterMethod === 'function') {\n props.filterMethod(val)\n triggerRef(groupQueryChange)\n } else {\n states.filteredOptionsCount = states.optionsCount\n queryChange.value.query = val\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n checkDefaultFirstOption()\n }\n }\n\n const managePlaceholder = () => {\n if (states.currentPlaceholder !== '') {\n states.currentPlaceholder = input.value!.value\n ? ''\n : states.cachedPlaceHolder\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoverIndex = getValueIndex(\n optionsArray.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const option = getOption(props.modelValue)\n if (option.props?.created) {\n states.createdLabel = option.props.value\n states.createdSelected = true\n } else {\n states.createdSelected = false\n }\n states.selectedLabel = option.currentLabel\n states.selected = option\n if (props.filterable) states.query = states.selectedLabel\n return\n } else {\n states.selectedLabel = ''\n }\n const result: any[] = []\n if (Array.isArray(props.modelValue)) {\n props.modelValue.forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n nextTick(() => {\n resetInputHeight()\n })\n }\n\n const getOption = (value) => {\n let option\n const isObjectValue = toRawType(value).toLowerCase() === 'object'\n const isNull = toRawType(value).toLowerCase() === 'null'\n const isUndefined = toRawType(value).toLowerCase() === 'undefined'\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n value,\n currentLabel: cachedOption.currentLabel,\n isDisabled: cachedOption.isDisabled,\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue\n ? value.label\n : !isNull && !isUndefined\n ? value\n : ''\n const newOption = {\n value,\n currentLabel: label,\n }\n if (props.multiple) {\n ;(newOption as any).hitState = false\n }\n return newOption\n }\n\n const resetHoverIndex = () => {\n setTimeout(() => {\n const valueKey = props.valueKey\n if (!props.multiple) {\n states.hoverIndex = optionsArray.value.findIndex((item) => {\n return getValueKey(item) === getValueKey(states.selected)\n })\n } else {\n if (states.selected.length > 0) {\n states.hoverIndex = Math.min.apply(\n null,\n states.selected.map((selected) => {\n return optionsArray.value.findIndex((item) => {\n return get(item, valueKey) === get(selected, valueKey)\n })\n })\n )\n } else {\n states.hoverIndex = -1\n }\n }\n }, 300)\n }\n\n const handleResize = () => {\n resetInputWidth()\n tooltipRef.value?.updatePopper?.()\n if (props.multiple && !props.filterable) resetInputHeight()\n }\n\n const resetInputWidth = () => {\n states.inputWidth = reference.value?.$el.getBoundingClientRect().width\n }\n\n const onInputChange = () => {\n if (props.filterable && states.query !== states.selectedLabel) {\n states.query = states.selectedLabel\n handleQueryChange(states.query)\n }\n }\n\n const debouncedOnInputChange = lodashDebounce(() => {\n onInputChange()\n }, debounce.value)\n\n const debouncedQueryChange = lodashDebounce((e) => {\n handleQueryChange(e.target.value)\n }, debounce.value)\n\n const emitChange = (val) => {\n if (!isEqual(props.modelValue, val)) {\n ctx.emit(CHANGE_EVENT, val)\n }\n }\n\n const deletePrevTag = (e) => {\n if (e.target.value.length <= 0 && !toggleLastOptionHitState()) {\n const value = props.modelValue.slice()\n value.pop()\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n }\n\n if (e.target.value.length === 1 && props.modelValue.length === 0) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n\n const deleteTag = (event, tag) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = props.modelValue.slice()\n value.splice(index, 1)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n ctx.emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n }\n\n const deleteSelected = (event) => {\n event.stopPropagation()\n const value: string | any[] = props.multiple ? [] : ''\n if (typeof value !== 'string') {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.visible = false\n ctx.emit('clear')\n }\n\n const handleOptionSelect = (option, byClick) => {\n if (props.multiple) {\n const value = (props.modelValue || []).slice()\n const optionIndex = getValueIndex(value, option.value)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n states.query = ''\n handleQueryChange('')\n states.inputLength = 20\n }\n if (props.filterable) input.value?.focus()\n } else {\n ctx.emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n states.visible = false\n }\n states.isSilentBlur = byClick\n setSoftFocus()\n if (states.visible) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: any[] = [], value) => {\n if (!isObject(value)) return arr.indexOf(value)\n\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (get(item, valueKey) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const setSoftFocus = () => {\n states.softFocus = true\n const _input = input.value || reference.value\n if (_input) {\n _input?.focus()\n }\n }\n\n const scrollToOption = (option) => {\n const targetOption = Array.isArray(option) ? option[0] : option\n let target = null\n\n if (targetOption?.value) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${ns.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbar.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: SelectOptionProxy) => {\n states.optionsCount++\n states.filteredOptionsCount++\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key, vm: SelectOptionProxy) => {\n if (states.options.get(key) === vm) {\n states.optionsCount--\n states.filteredOptionsCount--\n states.options.delete(key)\n }\n }\n\n const resetInputState = (e: KeyboardEvent) => {\n if (e.code !== EVENT_CODE.backspace) toggleLastOptionHitState(false)\n states.inputLength = input.value!.value.length * 15 + 20\n resetInputHeight()\n }\n\n const toggleLastOptionHitState = (hit?: boolean) => {\n if (!Array.isArray(states.selected)) return\n const option = states.selected[states.selected.length - 1]\n if (!option) return\n\n if (hit === true || hit === false) {\n option.hitState = hit\n return hit\n }\n\n option.hitState = !option.hitState\n return option.hitState\n }\n\n const handleComposition = (event) => {\n const text = event.target.value\n if (event.type === 'compositionend') {\n states.isOnComposition = false\n nextTick(() => handleQueryChange(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n states.isOnComposition = !isKorean(lastCharacter)\n }\n }\n\n const handleMenuEnter = () => {\n nextTick(() => scrollToOption(states.selected))\n }\n\n const handleFocus = (event) => {\n if (!states.softFocus) {\n if (props.automaticDropdown || props.filterable) {\n if (props.filterable && !states.visible) {\n states.menuVisibleOnFocus = true\n }\n states.visible = true\n }\n ctx.emit('focus', event)\n } else {\n states.softFocus = false\n }\n }\n\n const blur = () => {\n states.visible = false\n reference.value?.blur()\n }\n\n const handleBlur = (event: Event) => {\n // https://github.com/ElemeFE/element/pull/10822\n nextTick(() => {\n if (states.isSilentBlur) {\n states.isSilentBlur = false\n } else {\n ctx.emit('blur', event)\n }\n })\n states.softFocus = false\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClose = () => {\n states.visible = false\n }\n\n const handleKeydownEscape = (event: KeyboardEvent) => {\n if (states.visible) {\n event.preventDefault()\n event.stopPropagation()\n states.visible = false\n }\n }\n\n const toggleMenu = () => {\n if (!selectDisabled.value) {\n if (states.menuVisibleOnFocus) {\n states.menuVisibleOnFocus = false\n } else {\n states.visible = !states.visible\n }\n if (states.visible) {\n ;(input.value || reference.value)?.focus()\n }\n }\n }\n\n const selectOption = () => {\n if (!states.visible) {\n toggleMenu()\n } else {\n if (optionsArray.value[states.hoverIndex]) {\n handleOptionSelect(optionsArray.value[states.hoverIndex], undefined)\n }\n }\n }\n\n const getValueKey = (item) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.disabled)\n )\n\n const navigateOptions = (direction) => {\n if (!states.visible) {\n states.visible = true\n return\n }\n if (states.options.size === 0 || states.filteredOptionsCount === 0) return\n if (states.isOnComposition) return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoverIndex++\n if (states.hoverIndex === states.options.size) {\n states.hoverIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoverIndex--\n if (states.hoverIndex < 0) {\n states.hoverIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoverIndex]\n if (\n option.disabled === true ||\n option.states.groupDisabled === true ||\n !option.visible\n ) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n return {\n optionsArray,\n selectSize,\n handleResize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n readonly,\n resetInputHeight,\n showClose,\n iconComponent,\n iconReverse,\n showNewOption,\n collapseTagSize,\n setSelected,\n managePlaceholder,\n selectDisabled,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n handleKeydownEscape,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n queryChange,\n groupQueryChange,\n\n // DOM ref\n reference,\n input,\n tooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n }\n}\n"],"names":["debounce","lodashDebounce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSelect.mjs","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n reactive,\n ref,\n shallowRef,\n toRaw,\n triggerRef,\n watch,\n} from 'vue'\nimport { isObject, toRawType } from '@vue/shared'\nimport { get, isEqual, debounce as lodashDebounce } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n debugWarn,\n getComponentSize,\n isKorean,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n useFormItem,\n useLocale,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type ElTooltip from '@element-plus/components/tooltip'\nimport type { QueryChangeCtx, SelectOptionProxy } from './token'\n\nexport function useSelectStates(props) {\n const { t } = useLocale()\n return reactive({\n options: new Map(),\n cachedOptions: new Map(),\n createdLabel: null,\n createdSelected: false,\n selected: props.multiple ? [] : ({} as any),\n inputLength: 20,\n inputWidth: 0,\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n softFocus: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n cachedPlaceHolder: '',\n currentPlaceholder: t('el.select.placeholder'),\n menuVisibleOnFocus: false,\n isOnComposition: false,\n isSilentBlur: false,\n prefixWidth: 11,\n tagInMultiLine: false,\n })\n}\n\ntype States = ReturnType<typeof useSelectStates>\n\nexport const useSelect = (props, states: States, ctx) => {\n const { t } = useLocale()\n const ns = useNamespace('select')\n\n // template refs\n const reference = ref<ComponentPublicInstance<{\n focus: () => void\n blur: () => void\n input: HTMLInputElement\n }> | null>(null)\n const input = ref<HTMLInputElement | null>(null)\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const tags = ref<HTMLElement | null>(null)\n const selectWrapper = ref<HTMLElement | null>(null)\n const scrollbar = ref<{\n handleScroll: () => void\n } | null>(null)\n const hoverOption = ref(-1)\n const queryChange = shallowRef<QueryChangeCtx>({ query: '' })\n const groupQueryChange = shallowRef('')\n\n const { form, formItem } = useFormItem()\n\n const readonly = computed(\n () => !props.filterable || props.multiple || !states.visible\n )\n\n const selectDisabled = computed(() => props.disabled || form?.disabled)\n\n const showClose = computed(() => {\n const hasValue = props.multiple\n ? Array.isArray(props.modelValue) && props.modelValue.length > 0\n : props.modelValue !== undefined &&\n props.modelValue !== null &&\n props.modelValue !== ''\n\n const criteria =\n props.clearable &&\n !selectDisabled.value &&\n states.inputHovering &&\n hasValue\n return criteria\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable ? '' : props.suffixIcon\n )\n const iconReverse = computed(() =>\n ns.is('reverse', iconComponent.value && states.visible)\n )\n\n const debounce = computed(() => (props.remote ? 300 : 0))\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (props.remote && states.query === '' && states.options.size === 0)\n return false\n if (\n props.filterable &&\n states.query &&\n states.options.size > 0 &&\n states.filteredOptionsCount === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const optionsArray = computed(() => Array.from(states.options.values()))\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.query\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.query !== '' &&\n !hasExistingOption\n )\n })\n\n const selectSize = useSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropMenuVisible = computed({\n get() {\n return states.visible && emptyText.value !== false\n },\n set(val: boolean) {\n states.visible = val\n },\n })\n\n // watch\n watch(\n [() => selectDisabled.value, () => selectSize.value, () => form?.size],\n () => {\n nextTick(() => {\n resetInputHeight()\n })\n }\n )\n\n watch(\n () => props.placeholder,\n (val) => {\n states.cachedPlaceHolder = states.currentPlaceholder = val\n }\n )\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n resetInputHeight()\n if ((val && val.length > 0) || (input.value && states.query !== '')) {\n states.currentPlaceholder = ''\n } else {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n if (props.filterable && !props.reserveKeyword) {\n states.query = ''\n handleQueryChange(states.query)\n }\n }\n setSelected()\n if (props.filterable && !props.multiple) {\n states.inputLength = 20\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => states.visible,\n (val) => {\n if (!val) {\n input.value && input.value.blur()\n states.query = ''\n states.previousQuery = null\n states.selectedLabel = ''\n states.inputLength = 20\n states.menuVisibleOnFocus = false\n resetHoverIndex()\n nextTick(() => {\n if (\n input.value &&\n input.value.value === '' &&\n states.selected.length === 0\n ) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n })\n\n if (!props.multiple) {\n if (states.selected) {\n if (\n props.filterable &&\n props.allowCreate &&\n states.createdSelected &&\n states.createdLabel\n ) {\n states.selectedLabel = states.createdLabel\n } else {\n states.selectedLabel = states.selected.currentLabel\n }\n if (props.filterable) states.query = states.selectedLabel\n }\n\n if (props.filterable) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n } else {\n tooltipRef.value?.updatePopper?.()\n\n if (props.filterable) {\n states.filteredOptionsCount = states.optionsCount\n states.query = props.remote ? '' : states.selectedLabel\n if (props.multiple) {\n input.value?.focus()\n } else {\n if (states.selectedLabel) {\n states.currentPlaceholder = `${states.selectedLabel}`\n states.selectedLabel = ''\n }\n }\n handleQueryChange(states.query)\n if (!props.multiple && !props.remote) {\n queryChange.value.query = ''\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n }\n }\n ctx.emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n tooltipRef.value?.updatePopper?.()\n if (props.multiple) {\n resetInputHeight()\n }\n const inputs = selectWrapper.value?.querySelectorAll('input') || []\n if (\n !Array.from(inputs).includes(document.activeElement as HTMLInputElement)\n ) {\n setSelected()\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch(\n () => states.hoverIndex,\n (val) => {\n if (typeof val === 'number' && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n }\n )\n\n // methods\n const resetInputHeight = () => {\n if (props.collapseTags && !props.filterable) return\n nextTick(() => {\n if (!reference.value) return\n const input = reference.value.$el.querySelector(\n 'input'\n ) as HTMLInputElement\n const _tags = tags.value\n\n const sizeInMap = getComponentSize(selectSize.value || form?.size)\n // it's an inner input so reduce it by 2px.\n input.style.height = `${\n (states.selected.length === 0\n ? sizeInMap\n : Math.max(\n _tags\n ? _tags.clientHeight + (_tags.clientHeight > sizeInMap ? 6 : 0)\n : 0,\n sizeInMap\n )) - 2\n }px`\n\n states.tagInMultiLine = Number.parseFloat(input.style.height) >= sizeInMap\n\n if (states.visible && emptyText.value !== false) {\n tooltipRef.value?.updatePopper?.()\n }\n })\n }\n\n const handleQueryChange = (val) => {\n if (states.previousQuery === val || states.isOnComposition) return\n if (\n states.previousQuery === null &&\n (typeof props.filterMethod === 'function' ||\n typeof props.remoteMethod === 'function')\n ) {\n states.previousQuery = val\n return\n }\n states.previousQuery = val\n nextTick(() => {\n if (states.visible) tooltipRef.value?.updatePopper?.()\n })\n states.hoverIndex = -1\n if (props.multiple && props.filterable) {\n nextTick(() => {\n const length = input.value!.value.length * 15 + 20\n states.inputLength = props.collapseTags ? Math.min(50, length) : length\n managePlaceholder()\n resetInputHeight()\n })\n }\n if (props.remote && typeof props.remoteMethod === 'function') {\n states.hoverIndex = -1\n props.remoteMethod(val)\n } else if (typeof props.filterMethod === 'function') {\n props.filterMethod(val)\n triggerRef(groupQueryChange)\n } else {\n states.filteredOptionsCount = states.optionsCount\n queryChange.value.query = val\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n checkDefaultFirstOption()\n }\n }\n\n const managePlaceholder = () => {\n if (states.currentPlaceholder !== '') {\n states.currentPlaceholder = input.value!.value\n ? ''\n : states.cachedPlaceHolder\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoverIndex = getValueIndex(\n optionsArray.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const option = getOption(props.modelValue)\n if (option.props?.created) {\n states.createdLabel = option.props.value\n states.createdSelected = true\n } else {\n states.createdSelected = false\n }\n states.selectedLabel = option.currentLabel\n states.selected = option\n if (props.filterable) states.query = states.selectedLabel\n return\n } else {\n states.selectedLabel = ''\n }\n const result: any[] = []\n if (Array.isArray(props.modelValue)) {\n props.modelValue.forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n nextTick(() => {\n resetInputHeight()\n })\n }\n\n const getOption = (value) => {\n let option\n const isObjectValue = toRawType(value).toLowerCase() === 'object'\n const isNull = toRawType(value).toLowerCase() === 'null'\n const isUndefined = toRawType(value).toLowerCase() === 'undefined'\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n value,\n currentLabel: cachedOption.currentLabel,\n isDisabled: cachedOption.isDisabled,\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue\n ? value.label\n : !isNull && !isUndefined\n ? value\n : ''\n const newOption = {\n value,\n currentLabel: label,\n }\n if (props.multiple) {\n ;(newOption as any).hitState = false\n }\n return newOption\n }\n\n const resetHoverIndex = () => {\n setTimeout(() => {\n const valueKey = props.valueKey\n if (!props.multiple) {\n states.hoverIndex = optionsArray.value.findIndex((item) => {\n return getValueKey(item) === getValueKey(states.selected)\n })\n } else {\n if (states.selected.length > 0) {\n states.hoverIndex = Math.min.apply(\n null,\n states.selected.map((selected) => {\n return optionsArray.value.findIndex((item) => {\n return get(item, valueKey) === get(selected, valueKey)\n })\n })\n )\n } else {\n states.hoverIndex = -1\n }\n }\n }, 300)\n }\n\n const handleResize = () => {\n resetInputWidth()\n tooltipRef.value?.updatePopper?.()\n if (props.multiple && !props.filterable) resetInputHeight()\n }\n\n const resetInputWidth = () => {\n states.inputWidth = reference.value?.$el.getBoundingClientRect().width\n }\n\n const onInputChange = () => {\n if (props.filterable && states.query !== states.selectedLabel) {\n states.query = states.selectedLabel\n handleQueryChange(states.query)\n }\n }\n\n const debouncedOnInputChange = lodashDebounce(() => {\n onInputChange()\n }, debounce.value)\n\n const debouncedQueryChange = lodashDebounce((e) => {\n handleQueryChange(e.target.value)\n }, debounce.value)\n\n const emitChange = (val) => {\n if (!isEqual(props.modelValue, val)) {\n ctx.emit(CHANGE_EVENT, val)\n }\n }\n\n const deletePrevTag = (e) => {\n if (e.target.value.length <= 0 && !toggleLastOptionHitState()) {\n const value = props.modelValue.slice()\n value.pop()\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n }\n\n if (e.target.value.length === 1 && props.modelValue.length === 0) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n\n const deleteTag = (event, tag) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = props.modelValue.slice()\n value.splice(index, 1)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n ctx.emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n }\n\n const deleteSelected = (event) => {\n event.stopPropagation()\n const value: string | any[] = props.multiple ? [] : ''\n if (typeof value !== 'string') {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.visible = false\n ctx.emit('clear')\n }\n\n const handleOptionSelect = (option, byClick) => {\n if (props.multiple) {\n const value = (props.modelValue || []).slice()\n const optionIndex = getValueIndex(value, option.value)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n states.query = ''\n handleQueryChange('')\n states.inputLength = 20\n }\n if (props.filterable) input.value?.focus()\n } else {\n ctx.emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n states.visible = false\n }\n states.isSilentBlur = byClick\n setSoftFocus()\n if (states.visible) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: any[] = [], value) => {\n if (!isObject(value)) return arr.indexOf(value)\n\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (toRaw(get(item, valueKey)) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const setSoftFocus = () => {\n states.softFocus = true\n const _input = input.value || reference.value\n if (_input) {\n _input?.focus()\n }\n }\n\n const scrollToOption = (option) => {\n const targetOption = Array.isArray(option) ? option[0] : option\n let target = null\n\n if (targetOption?.value) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${ns.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbar.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: SelectOptionProxy) => {\n states.optionsCount++\n states.filteredOptionsCount++\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key, vm: SelectOptionProxy) => {\n if (states.options.get(key) === vm) {\n states.optionsCount--\n states.filteredOptionsCount--\n states.options.delete(key)\n }\n }\n\n const resetInputState = (e: KeyboardEvent) => {\n if (e.code !== EVENT_CODE.backspace) toggleLastOptionHitState(false)\n states.inputLength = input.value!.value.length * 15 + 20\n resetInputHeight()\n }\n\n const toggleLastOptionHitState = (hit?: boolean) => {\n if (!Array.isArray(states.selected)) return\n const option = states.selected[states.selected.length - 1]\n if (!option) return\n\n if (hit === true || hit === false) {\n option.hitState = hit\n return hit\n }\n\n option.hitState = !option.hitState\n return option.hitState\n }\n\n const handleComposition = (event) => {\n const text = event.target.value\n if (event.type === 'compositionend') {\n states.isOnComposition = false\n nextTick(() => handleQueryChange(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n states.isOnComposition = !isKorean(lastCharacter)\n }\n }\n\n const handleMenuEnter = () => {\n nextTick(() => scrollToOption(states.selected))\n }\n\n const handleFocus = (event) => {\n if (!states.softFocus) {\n if (props.automaticDropdown || props.filterable) {\n if (props.filterable && !states.visible) {\n states.menuVisibleOnFocus = true\n }\n states.visible = true\n }\n ctx.emit('focus', event)\n } else {\n states.softFocus = false\n }\n }\n\n const blur = () => {\n states.visible = false\n reference.value?.blur()\n }\n\n const handleBlur = (event: Event) => {\n // https://github.com/ElemeFE/element/pull/10822\n nextTick(() => {\n if (states.isSilentBlur) {\n states.isSilentBlur = false\n } else {\n ctx.emit('blur', event)\n }\n })\n states.softFocus = false\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClose = () => {\n states.visible = false\n }\n\n const handleKeydownEscape = (event: KeyboardEvent) => {\n if (states.visible) {\n event.preventDefault()\n event.stopPropagation()\n states.visible = false\n }\n }\n\n const toggleMenu = () => {\n if (!selectDisabled.value) {\n if (states.menuVisibleOnFocus) {\n states.menuVisibleOnFocus = false\n } else {\n states.visible = !states.visible\n }\n if (states.visible) {\n ;(input.value || reference.value)?.focus()\n }\n }\n }\n\n const selectOption = () => {\n if (!states.visible) {\n toggleMenu()\n } else {\n if (optionsArray.value[states.hoverIndex]) {\n handleOptionSelect(optionsArray.value[states.hoverIndex], undefined)\n }\n }\n }\n\n const getValueKey = (item) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.disabled)\n )\n\n const navigateOptions = (direction) => {\n if (!states.visible) {\n states.visible = true\n return\n }\n if (states.options.size === 0 || states.filteredOptionsCount === 0) return\n if (states.isOnComposition) return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoverIndex++\n if (states.hoverIndex === states.options.size) {\n states.hoverIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoverIndex--\n if (states.hoverIndex < 0) {\n states.hoverIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoverIndex]\n if (\n option.disabled === true ||\n option.states.groupDisabled === true ||\n !option.visible\n ) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n return {\n optionsArray,\n selectSize,\n handleResize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n readonly,\n resetInputHeight,\n showClose,\n iconComponent,\n iconReverse,\n showNewOption,\n collapseTagSize,\n setSelected,\n managePlaceholder,\n selectDisabled,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n handleKeydownEscape,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n queryChange,\n groupQueryChange,\n\n // DOM ref\n reference,\n input,\n tooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n }\n}\n"],"names":["debounce","lodashDebounce"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const useMarks = (props) => {
|
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
8
8
|
const marksKeys = Object.keys(props.marks);
|
|
9
|
-
return marksKeys.map(parseFloat).sort((a, b) => a - b).filter((point) => point <= props.max && point >= props.min).map((point) => ({
|
|
9
|
+
return marksKeys.map(Number.parseFloat).sort((a, b) => a - b).filter((point) => point <= props.max && point >= props.min).map((point) => ({
|
|
10
10
|
point,
|
|
11
11
|
position: (point - props.min) * 100 / (props.max - props.min),
|
|
12
12
|
mark: props.marks[point]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-marks.mjs","sources":["../../../../../../../packages/components/slider/src/composables/use-marks.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { SliderProps } from '../slider'\nimport type { SliderMarkerProps } from '../marker'\n\nexport interface Mark extends SliderMarkerProps {\n point: number\n position: number\n}\n\nexport const useMarks = (props: SliderProps) => {\n return computed(() => {\n if (!props.marks) {\n return []\n }\n\n const marksKeys = Object.keys(props.marks)\n return marksKeys\n .map(parseFloat)\n .sort((a, b) => a - b)\n .filter((point) => point <= props.max && point >= props.min)\n .map(\n (point): Mark => ({\n point,\n position: ((point - props.min) * 100) / (props.max - props.min),\n mark: props.marks![point],\n })\n )\n })\n}\n"],"names":[],"mappings":";;AACY,MAAC,QAAQ,GAAG,CAAC,KAAK,KAAK;AACnC,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACtB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;
|
|
1
|
+
{"version":3,"file":"use-marks.mjs","sources":["../../../../../../../packages/components/slider/src/composables/use-marks.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { SliderProps } from '../slider'\nimport type { SliderMarkerProps } from '../marker'\n\nexport interface Mark extends SliderMarkerProps {\n point: number\n position: number\n}\n\nexport const useMarks = (props: SliderProps) => {\n return computed(() => {\n if (!props.marks) {\n return []\n }\n\n const marksKeys = Object.keys(props.marks)\n return marksKeys\n .map(Number.parseFloat)\n .sort((a, b) => a - b)\n .filter((point) => point <= props.max && point >= props.min)\n .map(\n (point): Mark => ({\n point,\n position: ((point - props.min) * 100) / (props.max - props.min),\n mark: props.marks![point],\n })\n )\n })\n}\n"],"names":[],"mappings":";;AACY,MAAC,QAAQ,GAAG,CAAC,KAAK,KAAK;AACnC,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACtB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AAC9I,MAAM,KAAK;AACX,MAAM,QAAQ,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AACnE,MAAM,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9B,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC,CAAC;AACL;;;;"}
|
|
@@ -4,6 +4,7 @@ import '../../../hooks/index.mjs';
|
|
|
4
4
|
import '../../../utils/index.mjs';
|
|
5
5
|
import { FORWARD_REF_INJECTION_KEY, useForwardRefDirective } from '../../../hooks/use-forward-ref/index.mjs';
|
|
6
6
|
import { debugWarn } from '../../../utils/error.mjs';
|
|
7
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
7
8
|
|
|
8
9
|
const NAME = "ElOnlyChild";
|
|
9
10
|
const OnlyChild = defineComponent({
|
|
@@ -56,8 +57,9 @@ function findFirstLegitChild(node) {
|
|
|
56
57
|
return null;
|
|
57
58
|
}
|
|
58
59
|
function wrapTextContent(s) {
|
|
60
|
+
const ns = useNamespace("only-child");
|
|
59
61
|
return createVNode("span", {
|
|
60
|
-
"class": "
|
|
62
|
+
"class": ns.e("content")
|
|
61
63
|
}, [s]);
|
|
62
64
|
}
|
|
63
65
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"only-child.mjs","sources":["../../../../../../packages/components/slot/src/only-child.tsx"],"sourcesContent":["import {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n inject,\n withDirectives,\n} from 'vue'\nimport { NOOP, isObject } from '@vue/shared'\nimport {\n FORWARD_REF_INJECTION_KEY,\n useForwardRefDirective,\n} from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nconst NAME = 'ElOnlyChild'\n\nexport const OnlyChild = defineComponent({\n name: NAME,\n setup(_, { slots, attrs }) {\n const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY)\n const forwardRefDirective = useForwardRefDirective(\n forwardRefInjection?.setForwardRef ?? NOOP\n )\n return () => {\n const defaultSlot = slots.default?.(attrs)\n if (!defaultSlot) return null\n\n if (defaultSlot.length > 1) {\n debugWarn(NAME, 'requires exact only one valid child.')\n return null\n }\n\n const firstLegitNode = findFirstLegitChild(defaultSlot)\n if (!firstLegitNode) {\n debugWarn(NAME, 'no valid child node found')\n return null\n }\n\n return withDirectives(cloneVNode(firstLegitNode!, attrs), [\n [forwardRefDirective],\n ])\n }\n },\n})\n\nfunction findFirstLegitChild(node: VNode[] | undefined): VNode | null {\n if (!node) return null\n const children = node as VNode[]\n for (const child of children) {\n /**\n * when user uses h(Fragment, [text]) to render plain string,\n * this switch case just cannot handle, when the value is primitives\n * we should just return the wrapped string\n */\n if (isObject(child)) {\n switch (child.type) {\n case Comment:\n continue\n case Text:\n case 'svg':\n return wrapTextContent(child)\n case Fragment:\n return findFirstLegitChild(child.children as VNode[])\n default:\n return child\n }\n }\n return wrapTextContent(child)\n }\n return null\n}\n\nfunction wrapTextContent(s: string | VNode) {\n return <span class
|
|
1
|
+
{"version":3,"file":"only-child.mjs","sources":["../../../../../../packages/components/slot/src/only-child.tsx"],"sourcesContent":["import {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n inject,\n withDirectives,\n} from 'vue'\nimport { NOOP, isObject } from '@vue/shared'\nimport {\n FORWARD_REF_INJECTION_KEY,\n useForwardRefDirective,\n useNamespace,\n} from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nconst NAME = 'ElOnlyChild'\n\nexport const OnlyChild = defineComponent({\n name: NAME,\n setup(_, { slots, attrs }) {\n const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY)\n const forwardRefDirective = useForwardRefDirective(\n forwardRefInjection?.setForwardRef ?? NOOP\n )\n return () => {\n const defaultSlot = slots.default?.(attrs)\n if (!defaultSlot) return null\n\n if (defaultSlot.length > 1) {\n debugWarn(NAME, 'requires exact only one valid child.')\n return null\n }\n\n const firstLegitNode = findFirstLegitChild(defaultSlot)\n if (!firstLegitNode) {\n debugWarn(NAME, 'no valid child node found')\n return null\n }\n\n return withDirectives(cloneVNode(firstLegitNode!, attrs), [\n [forwardRefDirective],\n ])\n }\n },\n})\n\nfunction findFirstLegitChild(node: VNode[] | undefined): VNode | null {\n if (!node) return null\n const children = node as VNode[]\n for (const child of children) {\n /**\n * when user uses h(Fragment, [text]) to render plain string,\n * this switch case just cannot handle, when the value is primitives\n * we should just return the wrapped string\n */\n if (isObject(child)) {\n switch (child.type) {\n case Comment:\n continue\n case Text:\n case 'svg':\n return wrapTextContent(child)\n case Fragment:\n return findFirstLegitChild(child.children as VNode[])\n default:\n return child\n }\n }\n return wrapTextContent(child)\n }\n return null\n}\n\nfunction wrapTextContent(s: string | VNode) {\n const ns = useNamespace('only-child')\n return <span class={ns.e('content')}>{s}</span>\n}\n\nexport type OnlyChildExpose = {\n forwardRef: Ref<HTMLElement>\n}\n"],"names":["NAME","OnlyChild","defineComponent","name","slots","attrs","forwardRefInjection","inject","FORWARD_REF_INJECTION_KEY","forwardRefDirective","useForwardRefDirective","setForwardRef","NOOP","defaultSlot","debugWarn","firstLegitNode","findFirstLegitChild","node","children","child","isObject","Fragment","_createVNode"],"mappings":";;;;;;;;AAmBA,MAAMA,IAAI,GAAG,aAAb,CAAA;AAEaC,MAAAA,SAAS,GAAGC,eAAe,CAAC;AACvCC,EAAAA,IAAI,EAAEH,IADiC;;IAElC,KAAA;IAAMI,KAAF;AAASC,GAAAA,EAAAA;AAAT,IAAkB,IAAA,EAAA,CAAA;AACzB,IAAA,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,yBAAD,CAAlC,CAAA;IACA,MAAMC,mBAAmB,GAAGC,sBAAsB,CAChDJ,yBAAqBK,IAAAA,IAAAA,GAAiBC,KAAAA,CADU,GAAlD,mBAAA,CAAA,aAAA,KAAA,IAAA,GAAA,EAAA,GAAA,IAAA,CAAA,CAAA;AAGA,IAAA,OAAO,MAAM;AACX,MAAA,IAAA;AACA,MAAA,MAAKC,WAAa,GAAA,CAAA,GAAA,GAAA,KAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA;;AAElB,QAAA,OAAe,IAAA,CAAA;AACbC,MAAAA,IAAAA,WAAUd,CAAD,MAAO,GAAA,CAAA,EAAA;AAChB,QAAA,SAAA,CAAA,IAAA,EAAA,sCAAA,CAAA,CAAA;AACD,QAAA,OAAA,IAAA,CAAA;;AAED,MAAA,MAAMe,cAAc,GAAGC,mBAAmB,CAACH,WAAD,CAA1C,CAAA;;QACI,2CAAiB,CAAA,CAAA;AACnBC,QAAAA,OAAAA,IAAUd,CAAAA;AACV,OAAA;AACD,MAAA,OAAA,cAAA,CAAA,UAAA,CAAA,cAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,CAAA;;AAED,GAAA;;AAIH,SAAA,mBAAA,CAAA,IAAA,EAAA;;AA1BsC,IAAlC,OAAA,IAAA,CAAA;;AA6BP,EAASgB,KAAAA,MAAAA,KAAAA,IAAAA,QAAoBC,EAAAA;AAC3B,IAAA,IAAKA,QAAM,CAAA,KAAA,CAAA,EAAA;MACLC,QAAAA,KAAWD,CAAjB,IAAA;;AACA,UAAWE,SAASD;AAClB,QAAA,KAAA,IAAA,CAAA;AACJ,QAAA,KAAA,KAAA;AACA,UAAA,OAAA,eAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,KAAA,QAAA;AACA,UAAA,OAAA,mBAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACI,QAAIE;UACMD,OAAAA,KAAR,CAAA;AACE,OAAA;AACE,KAAA;;AACF,GAAA;AACA,EAAA,OAAA,IAAK,CAAL;;;AAEA,EAAA,MAAA,EAAA,GAAKE,YAAL,CAAA,YAAA,CAAA,CAAA;AACE,EAAA,OAAAC,WAA0B,CAAA,MAAA,EAAA;;AAC5B,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACE;;;;"}
|