@koi-design/uxd-ui 14.0.6 → 14.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/Card/Card.d.ts +9 -9
- package/es/components/Card/Card.mjs +19 -26
- package/es/components/Card/Card.mjs.map +1 -1
- package/es/components/Card/Card.type.d.ts +4 -4
- package/es/components/Card/Card.type.mjs +4 -4
- package/es/components/Card/Card.type.mjs.map +1 -1
- package/es/components/Card/index.d.ts +15 -15
- package/es/components/Cascader/Cascader.d.ts +3 -3
- package/es/components/Cascader/Cascader.mjs +2 -4
- package/es/components/Cascader/Cascader.mjs.map +1 -1
- package/es/components/Cascader/Cascader.type.d.ts +1 -1
- package/es/components/Cascader/Cascader.type.mjs +1 -1
- package/es/components/Cascader/Cascader.type.mjs.map +1 -1
- package/es/components/Cascader/CascaderMenu.mjs +4 -4
- package/es/components/Cascader/CascaderMenu.mjs.map +1 -1
- package/es/components/Cascader/index.d.ts +6 -6
- package/es/components/Checkbox/Checkbox.mjs +1 -0
- package/es/components/Checkbox/Checkbox.mjs.map +1 -1
- package/es/components/Checkbox/Checkbox.type.d.ts +1 -0
- package/es/components/Checkbox/Checkbox.type.mjs +2 -1
- package/es/components/Checkbox/Checkbox.type.mjs.map +1 -1
- package/es/components/Checkbox/Checkbox.vue.d.ts +2 -0
- package/es/components/Checkbox/CheckboxGroup.vue.d.ts +2 -0
- package/es/components/Checkbox/index.d.ts +7 -0
- package/es/components/DatePicker/DatePicker.mjs +2 -4
- package/es/components/DatePicker/DatePicker.mjs.map +1 -1
- package/es/components/DatePicker/Panel/DatePickerPanel.mjs +1 -0
- package/es/components/DatePicker/Panel/DatePickerPanel.mjs.map +1 -1
- package/es/components/Layout/Layout.type.d.ts +2 -7
- package/es/components/Layout/Layout.type.mjs +2 -7
- package/es/components/Layout/Layout.type.mjs.map +1 -1
- package/es/components/Layout/Sider.mjs +20 -16
- package/es/components/Layout/Sider.mjs.map +1 -1
- package/es/components/Layout/Sider.vue.d.ts +9 -17
- package/es/components/Layout/index.d.ts +9 -17
- package/es/components/Menu/Menu.d.ts +0 -11
- package/es/components/Menu/Menu.mjs +1 -3
- package/es/components/Menu/Menu.mjs.map +1 -1
- package/es/components/Menu/Menu.type.d.ts +0 -6
- package/es/components/Menu/Menu.type.mjs +0 -5
- package/es/components/Menu/Menu.type.mjs.map +1 -1
- package/es/components/Menu/SubMenu.mjs +1 -3
- package/es/components/Menu/SubMenu.mjs.map +1 -1
- package/es/components/Menu/SubMenu.vue.d.ts +0 -1
- package/es/components/Menu/index.d.ts +0 -19
- package/es/components/Progress/Circle.mjs +1 -3
- package/es/components/Progress/Circle.mjs.map +1 -1
- package/es/components/Progress/Progress.mjs +2 -3
- package/es/components/Progress/Progress.mjs.map +1 -1
- package/es/components/Progress/Progress.type.d.ts +1 -6
- package/es/components/Progress/Progress.type.mjs +0 -6
- package/es/components/Progress/Progress.type.mjs.map +1 -1
- package/es/components/Progress/Progress.vue.d.ts +0 -16
- package/es/components/Progress/index.d.ts +0 -33
- package/es/components/Select/RefSelect.vue.d.ts +7 -0
- package/es/components/Table/BaseTable.vue.d.ts +7 -19
- package/es/components/Table/BodyTable.vue.d.ts +7 -19
- package/es/components/Table/HeadTable.vue.d.ts +7 -19
- package/es/components/Table/Table.vue.d.ts +14 -38
- package/es/components/Table/TableBox.vue.d.ts +14 -38
- package/es/components/Table/tableUnits/FilterDropdown.vue.d.ts +7 -19
- package/es/components/Table/tableUnits/SelectionBox.vue.d.ts +7 -0
- package/es/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +7 -19
- package/es/components/Table/tableUnits/TableHeader.vue.d.ts +7 -19
- package/es/components/Table/tableUnits/TableHeaderRow.vue.d.ts +7 -19
- package/es/components/Transfer/Operation.mjs +6 -4
- package/es/components/Transfer/Operation.mjs.map +1 -1
- package/es/components/Transfer/Transfer.mjs +2 -4
- package/es/components/Transfer/Transfer.mjs.map +1 -1
- package/es/components/Transfer/Transfer.type.d.ts +0 -5
- package/es/components/Transfer/Transfer.type.mjs +1 -8
- package/es/components/Transfer/Transfer.type.mjs.map +1 -1
- package/es/components/Transfer/Transfer.vue.d.ts +42 -11
- package/es/components/Transfer/TransferList.mjs +14 -10
- package/es/components/Transfer/TransferList.mjs.map +1 -1
- package/es/components/Transfer/TransferList.vue.d.ts +14 -0
- package/es/components/Transfer/TransferListItem.vue.d.ts +7 -0
- package/es/components/Transfer/index.d.ts +112 -18
- package/es/components/Tree/SubTree.vue.d.ts +7 -0
- package/es/components/Tree/Tree.vue.d.ts +7 -0
- package/es/components/Tree/TreeNode.vue.d.ts +7 -0
- package/es/components/Tree/index.d.ts +14 -0
- package/es/components/TreeSelect/TreeSelect.vue.d.ts +14 -0
- package/es/components/TreeSelect/index.d.ts +28 -0
- package/es/components/Upload/UploadList.vue.d.ts +0 -33
- package/es/components/base/CollapseTransition.mjs +0 -16
- package/es/components/base/CollapseTransition.mjs.map +1 -1
- package/es/components/base/hooks/useGlobalConfig.d.ts +1 -0
- package/es/components/locale/default.d.ts +1 -0
- package/es/components/locale/default.mjs.map +1 -1
- package/lib/components/Card/Card.d.ts +9 -9
- package/lib/components/Card/Card.js +22 -29
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/Card.type.d.ts +4 -4
- package/lib/components/Card/Card.type.js +4 -4
- package/lib/components/Card/Card.type.js.map +1 -1
- package/lib/components/Card/index.d.ts +15 -15
- package/lib/components/Cascader/Cascader.d.ts +3 -3
- package/lib/components/Cascader/Cascader.js +2 -4
- package/lib/components/Cascader/Cascader.js.map +1 -1
- package/lib/components/Cascader/Cascader.type.d.ts +1 -1
- package/lib/components/Cascader/Cascader.type.js +1 -1
- package/lib/components/Cascader/Cascader.type.js.map +1 -1
- package/lib/components/Cascader/CascaderMenu.js +3 -3
- package/lib/components/Cascader/CascaderMenu.js.map +1 -1
- package/lib/components/Cascader/index.d.ts +6 -6
- package/lib/components/Checkbox/Checkbox.js +1 -0
- package/lib/components/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/Checkbox/Checkbox.type.d.ts +1 -0
- package/lib/components/Checkbox/Checkbox.type.js +2 -1
- package/lib/components/Checkbox/Checkbox.type.js.map +1 -1
- package/lib/components/Checkbox/Checkbox.vue.d.ts +2 -0
- package/lib/components/Checkbox/CheckboxGroup.vue.d.ts +2 -0
- package/lib/components/Checkbox/index.d.ts +7 -0
- package/lib/components/DatePicker/DatePicker.js +2 -4
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/DatePicker/Panel/DatePickerPanel.js +1 -0
- package/lib/components/DatePicker/Panel/DatePickerPanel.js.map +1 -1
- package/lib/components/Layout/Layout.type.d.ts +2 -7
- package/lib/components/Layout/Layout.type.js +2 -7
- package/lib/components/Layout/Layout.type.js.map +1 -1
- package/lib/components/Layout/Sider.js +19 -15
- package/lib/components/Layout/Sider.js.map +1 -1
- package/lib/components/Layout/Sider.vue.d.ts +9 -17
- package/lib/components/Layout/index.d.ts +9 -17
- package/lib/components/Menu/Menu.d.ts +0 -11
- package/lib/components/Menu/Menu.js +1 -3
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/Menu.type.d.ts +0 -6
- package/lib/components/Menu/Menu.type.js +0 -5
- package/lib/components/Menu/Menu.type.js.map +1 -1
- package/lib/components/Menu/SubMenu.js +1 -3
- package/lib/components/Menu/SubMenu.js.map +1 -1
- package/lib/components/Menu/SubMenu.vue.d.ts +0 -1
- package/lib/components/Menu/index.d.ts +0 -19
- package/lib/components/Progress/Circle.js +1 -3
- package/lib/components/Progress/Circle.js.map +1 -1
- package/lib/components/Progress/Progress.js +2 -3
- package/lib/components/Progress/Progress.js.map +1 -1
- package/lib/components/Progress/Progress.type.d.ts +1 -6
- package/lib/components/Progress/Progress.type.js +0 -6
- package/lib/components/Progress/Progress.type.js.map +1 -1
- package/lib/components/Progress/Progress.vue.d.ts +0 -16
- package/lib/components/Progress/index.d.ts +0 -33
- package/lib/components/Select/RefSelect.vue.d.ts +7 -0
- package/lib/components/Table/BaseTable.vue.d.ts +7 -19
- package/lib/components/Table/BodyTable.vue.d.ts +7 -19
- package/lib/components/Table/HeadTable.vue.d.ts +7 -19
- package/lib/components/Table/Table.vue.d.ts +14 -38
- package/lib/components/Table/TableBox.vue.d.ts +14 -38
- package/lib/components/Table/tableUnits/FilterDropdown.vue.d.ts +7 -19
- package/lib/components/Table/tableUnits/SelectionBox.vue.d.ts +7 -0
- package/lib/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +7 -19
- package/lib/components/Table/tableUnits/TableHeader.vue.d.ts +7 -19
- package/lib/components/Table/tableUnits/TableHeaderRow.vue.d.ts +7 -19
- package/lib/components/Transfer/Operation.js +6 -4
- package/lib/components/Transfer/Operation.js.map +1 -1
- package/lib/components/Transfer/Transfer.js +2 -4
- package/lib/components/Transfer/Transfer.js.map +1 -1
- package/lib/components/Transfer/Transfer.type.d.ts +0 -5
- package/lib/components/Transfer/Transfer.type.js +0 -7
- package/lib/components/Transfer/Transfer.type.js.map +1 -1
- package/lib/components/Transfer/Transfer.vue.d.ts +42 -11
- package/lib/components/Transfer/TransferList.js +14 -10
- package/lib/components/Transfer/TransferList.js.map +1 -1
- package/lib/components/Transfer/TransferList.vue.d.ts +14 -0
- package/lib/components/Transfer/TransferListItem.vue.d.ts +7 -0
- package/lib/components/Transfer/index.d.ts +112 -18
- package/lib/components/Tree/SubTree.vue.d.ts +7 -0
- package/lib/components/Tree/Tree.vue.d.ts +7 -0
- package/lib/components/Tree/TreeNode.vue.d.ts +7 -0
- package/lib/components/Tree/index.d.ts +14 -0
- package/lib/components/TreeSelect/TreeSelect.vue.d.ts +14 -0
- package/lib/components/TreeSelect/index.d.ts +28 -0
- package/lib/components/Upload/UploadList.vue.d.ts +0 -33
- package/lib/components/base/CollapseTransition.js +0 -16
- package/lib/components/base/CollapseTransition.js.map +1 -1
- package/lib/components/base/hooks/useGlobalConfig.d.ts +1 -0
- package/lib/components/locale/default.d.ts +1 -0
- package/lib/components/locale/default.js.map +1 -1
- package/package.json +1 -1
- package/styles/components/alert/index.css +1 -1
- package/styles/components/autoComplete/index.css +1 -1
- package/styles/components/avatar/index.css +1 -1
- package/styles/components/breadcrumb/index.css +1 -1
- package/styles/components/breadcrumb/index.less +5 -6
- package/styles/components/breadcrumb/var.less +4 -6
- package/styles/components/button/index.css +1 -1
- package/styles/components/card/index.css +1 -1
- package/styles/components/card/index.less +64 -70
- package/styles/components/card/var.less +4 -13
- package/styles/components/carousel/index.css +1 -1
- package/styles/components/carousel/index.less +38 -35
- package/styles/components/carousel/var.less +6 -19
- package/styles/components/cascader/index.css +1 -1
- package/styles/components/cascader/index.less +20 -32
- package/styles/components/datePicker/index.css +1 -1
- package/styles/components/form/index.css +1 -1
- package/styles/components/icon/index.css +1 -1
- package/styles/components/input/index.css +1 -1
- package/styles/components/inputNumber/index.css +1 -1
- package/styles/components/layout/index.css +1 -1
- package/styles/components/layout/index.less +40 -55
- package/styles/components/layout/var.less +9 -41
- package/styles/components/link/index.css +1 -1
- package/styles/components/mentions/index.css +1 -1
- package/styles/components/menu/index.css +1 -1
- package/styles/components/menu/index.less +63 -207
- package/styles/components/menu/var.less +40 -69
- package/styles/components/modal/index.css +1 -1
- package/styles/components/progress/index.css +1 -1
- package/styles/components/progress/index.less +42 -56
- package/styles/components/progress/var.less +3 -4
- package/styles/components/select/index.css +1 -1
- package/styles/components/spin/index.css +1 -1
- package/styles/components/timePicker/index.css +1 -1
- package/styles/components/transfer/index.css +1 -1
- package/styles/components/transfer/index.less +38 -42
- package/styles/components/transfer/var.less +8 -42
- package/styles/components/tree/index.css +1 -1
- package/styles/components/tree/index.less +17 -27
- package/styles/components/tree/var.less +5 -16
- package/styles/cssVariable.css +1 -1
- package/styles/cssVariable.less +8 -8
- package/styles/index.css +1 -1
- package/styles/tokens/typography.css +1 -1
- package/types/components/Card/Card.d.ts +9 -9
- package/types/components/Card/Card.type.d.ts +4 -4
- package/types/components/Card/index.d.ts +15 -15
- package/types/components/Cascader/Cascader.d.ts +3 -3
- package/types/components/Cascader/Cascader.type.d.ts +1 -1
- package/types/components/Cascader/index.d.ts +6 -6
- package/types/components/Checkbox/Checkbox.type.d.ts +1 -0
- package/types/components/Checkbox/Checkbox.vue.d.ts +2 -0
- package/types/components/Checkbox/CheckboxGroup.vue.d.ts +2 -0
- package/types/components/Checkbox/index.d.ts +7 -0
- package/types/components/Layout/Layout.type.d.ts +2 -7
- package/types/components/Layout/Sider.vue.d.ts +9 -17
- package/types/components/Layout/index.d.ts +9 -17
- package/types/components/Menu/Menu.d.ts +0 -11
- package/types/components/Menu/Menu.type.d.ts +0 -6
- package/types/components/Menu/SubMenu.vue.d.ts +0 -1
- package/types/components/Menu/index.d.ts +0 -19
- package/types/components/Progress/Progress.type.d.ts +1 -6
- package/types/components/Progress/Progress.vue.d.ts +0 -16
- package/types/components/Progress/index.d.ts +0 -33
- package/types/components/Select/RefSelect.vue.d.ts +7 -0
- package/types/components/Table/BaseTable.vue.d.ts +7 -19
- package/types/components/Table/BodyTable.vue.d.ts +7 -19
- package/types/components/Table/HeadTable.vue.d.ts +7 -19
- package/types/components/Table/Table.vue.d.ts +14 -38
- package/types/components/Table/TableBox.vue.d.ts +14 -38
- package/types/components/Table/tableUnits/FilterDropdown.vue.d.ts +7 -19
- package/types/components/Table/tableUnits/SelectionBox.vue.d.ts +7 -0
- package/types/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +7 -19
- package/types/components/Table/tableUnits/TableHeader.vue.d.ts +7 -19
- package/types/components/Table/tableUnits/TableHeaderRow.vue.d.ts +7 -19
- package/types/components/Transfer/Transfer.type.d.ts +0 -5
- package/types/components/Transfer/Transfer.vue.d.ts +42 -11
- package/types/components/Transfer/TransferList.vue.d.ts +14 -0
- package/types/components/Transfer/TransferListItem.vue.d.ts +7 -0
- package/types/components/Transfer/index.d.ts +112 -18
- package/types/components/Tree/SubTree.vue.d.ts +7 -0
- package/types/components/Tree/Tree.vue.d.ts +7 -0
- package/types/components/Tree/TreeNode.vue.d.ts +7 -0
- package/types/components/Tree/index.d.ts +14 -0
- package/types/components/TreeSelect/TreeSelect.vue.d.ts +14 -0
- package/types/components/TreeSelect/index.d.ts +28 -0
- package/types/components/Upload/UploadList.vue.d.ts +0 -33
- package/types/components/base/hooks/useGlobalConfig.d.ts +1 -0
- package/types/components/locale/default.d.ts +1 -0
- package/uxd-ui.css +1 -1
- package/uxd-ui.esm.min.mjs +6 -6
- package/uxd-ui.esm.mjs +513 -555
- package/uxd-ui.umd.js +512 -554
- package/uxd-ui.umd.min.js +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerPanel.mjs","sources":["../../../../../src/components/DatePicker/Panel/DatePickerPanel.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n prefixCls,\n {\n [`${prefixCls}-time`]: showTime,\n [`${prefixCls}-week`]: weekMode,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }\n ]\"\n >\n <div v-if=\"shortcuts\" :class=\"`${prefixCls}-shortcut-container`\">\n <!-- <a v-for=\"(shortcut, index) in shortcuts\" :key=\"index\" :class=\"`${prefixCls}-shortcut-item`\" @click=\"onShortcutClick(shortcut)\">\n {{ shortcut.text }}\n </a> -->\n <USelect\n v-model=\"selectedShortcut\"\n size=\"small\"\n :options=\"shortcuts.map((shortcut: any) => ({ label: shortcut.text, value: shortcut.text, func: shortcut.value }))\"\n :placeholder=\"locale.shortcutsPlaceholder\"\n @change=\"(value: any, option: any) => onShortcutClick({\n value: option.func\n })\"\n />\n </div>\n <div>\n <DatePanel\n v-if=\"statePanel !== 'quarter'\"\n :prefix-cls=\"prefixCls\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :has-time-picker=\"showTime\"\n :show-time-picker=\"showTimePicker\"\n :week-mode=\"weekMode\"\n :time-options=\"timeOptions\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n @current-change=\"onCurrentChange\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n <QuarterPanel\n v-if=\"statePanel === 'quarter'\"\n :prefix-cls=\"`${prefixCls}-quarter-panel`\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :disabled-date=\"disabledDate\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n <MonthPanel\n v-if=\"statePanel === 'month'\"\n :prefix-cls=\"`${prefixCls}-month-panel`\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :disabled-date=\"disabledDate\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n <YearPanel\n v-if=\"statePanel === 'year'\"\n :prefix-cls=\"`${prefixCls}-year-panel`\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :disabled-date=\"disabledDate\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, watch, computed, inject } from 'vue';\nimport type { PropType } from 'vue';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport USelect from '@uxd-ui/components/Select';\nimport DatePanel from './DatePanel/DatePanel.vue';\nimport MonthPanel from './MonthPanel/MonthPanel.vue';\nimport YearPanel from './YearPanel/YearPanel.vue';\nimport QuarterPanel from './QuarterPanel';\nimport { getTodayTime, isAllowedDateTime } from '../utils';\nimport type {\n DatePickerContext,\n DatePickerShortcut,\n DatePickerSingleValueType,\n DisabledTimeFunction,\n DatePickerSingleType\n} from '../DatePicker.type';\nimport type { DisabledDateFunction } from '../../Calendar/Calendar.type';\nimport type { DatePickerLocal } from '../../locale/default';\n\nexport default defineComponent({\n name: 'DatePickerPanel',\n components: {\n DatePanel,\n MonthPanel,\n YearPanel,\n QuarterPanel,\n USelect\n },\n props: {\n prefixCls: {\n type: String\n },\n value: {\n type: [String, Date, Object] as PropType<DatePickerSingleValueType>\n },\n mode: {\n type: String as PropType<DatePickerSingleType>,\n default: 'date'\n },\n locale: {\n type: Object as PropType<DatePickerLocal>,\n required: true\n },\n open: {\n type: Boolean,\n default: false\n },\n\n showConfirm: {\n type: Boolean,\n default: false\n },\n timeOptions: {\n type: Object as PropType<Record<string, any>>\n },\n disabledDate: {\n type: Function as PropType<DisabledDateFunction>\n },\n disabledTime: {\n type: Function as PropType<DisabledTimeFunction>\n },\n shortcuts: {\n type: Array as PropType<DatePickerShortcut[]>\n },\n showTimeClear: {\n type: Boolean,\n default: true\n },\n direction: {\n type: String as PropType<'ltr' | 'rtl'>,\n default: 'ltr'\n }\n },\n emits: {\n select: (v: Date | null, close?: boolean) => (v === null || v instanceof Date) && typeof close === 'boolean',\n close: () => true,\n 'panel-change': (p: string) => typeof p === 'string'\n },\n setup(props, { emit }) {\n const currentDate = ref(dayjs());\n const selectedDate = ref<Dayjs | null>(null);\n const statePanel = ref(props.mode);\n const selectedShortcut = ref<string>('');\n const { setOpened } = inject<DatePickerContext>('datePickerContext', {} as DatePickerContext);\n\n watch(\n () => props.value,\n (val) => {\n selectedDate.value = val ? dayjs(val) : null;\n currentDate.value = val ? dayjs(val) : dayjs().startOf('day');\n },\n { immediate: true }\n );\n\n const showTime = computed(() => {\n return props.mode === 'dateTime';\n });\n\n const weekMode = computed(() => {\n return props.mode === 'week';\n });\n\n const onCurrentChange = (date: Dayjs) => {\n currentDate.value = date;\n };\n\n const fireChangePanel = (panel: DatePickerSingleType) => {\n statePanel.value = panel;\n emit('panel-change', panel);\n };\n\n const onPanelChange = (panel: DatePickerSingleType) => {\n fireChangePanel(panel);\n };\n\n const showTimePicker = computed(() => {\n return props.mode === 'dateTime' && statePanel.value === 'dateTime';\n });\n\n const onSelectedChange = ({ type, value }: { type: string; value: any }) => {\n if (type === 'date' || type === 'time') {\n emit('select', value.toDate());\n } else if (type === 'month') {\n if (props.mode !== 'month') {\n currentDate.value = value;\n fireChangePanel(props.mode === 'dateTime' ? 'dateTime' : 'date');\n } else {\n emit('select', value.startOf('month').toDate());\n }\n } else if (type === 'year') {\n if (props.mode === 'quarter') {\n currentDate.value = currentDate.value.year(value);\n fireChangePanel('quarter');\n } else if (props.mode !== 'year') {\n currentDate.value = currentDate.value.year(value);\n fireChangePanel('month');\n } else {\n const date = dayjs().year(value).startOf('year');\n emit('select', date.toDate());\n }\n } else if (type === 'quarter') {\n // const date = dayjs().quarter(value).startOf('quarter');\n emit('select', value.startOf('quarter').toDate());\n }\n };\n\n watch(\n () => props.open,\n (val) => {\n selectedShortcut.value = '';\n if (val) {\n currentDate.value = props.value ? dayjs(props.value) : dayjs().startOf('day');\n fireChangePanel(props.mode || 'date');\n }\n }\n );\n\n // ============ footer btn =================\n\n // const onToggleTime = () => {\n // if (selectedDate.value) {\n // showTimePicker.value = !showTimePicker.value;\n // }\n // };\n const disabledToday = computed(() => {\n const today = getTodayTime();\n if (props.disabledDate && props.disabledDate(today.toDate())) {\n return true;\n }\n return false;\n });\n\n const okDisabled = computed(() => {\n if (!selectedDate.value) {\n return true;\n }\n return !isAllowedDateTime(selectedDate.value, props.disabledDate, props.disabledTime);\n });\n\n const onSelectToday = () => {\n onSelectedChange({ type: 'date', value: getTodayTime() });\n };\n\n const onOk = () => {\n if (!okDisabled.value) {\n setOpened(false);\n }\n };\n\n const onClear = () => {\n if (!okDisabled.value) {\n emit('select', null, false);\n }\n };\n\n const onShortcutClick = (shortcut: DatePickerShortcut) => {\n if (typeof shortcut.value === 'function') {\n const date = shortcut.value();\n\n onSelectedChange({\n type: 'date',\n value: dayjs((date as DatePickerSingleValueType) || undefined)\n });\n }\n };\n\n return {\n currentDate,\n selectedDate,\n selectedShortcut,\n statePanel,\n showTime,\n weekMode,\n showTimePicker,\n disabledToday,\n okDisabled,\n onSelectToday,\n onOk,\n onClear,\n // onToggleTime,\n onCurrentChange,\n onPanelChange,\n onSelectedChange,\n onShortcutClick\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createCommentVNode","_createVNode","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerPanel.mjs","sources":["../../../../../src/components/DatePicker/Panel/DatePickerPanel.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n prefixCls,\n {\n [`${prefixCls}-time`]: showTime,\n [`${prefixCls}-week`]: weekMode,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }\n ]\"\n >\n <div v-if=\"shortcuts\" :class=\"`${prefixCls}-shortcut-container`\">\n <!-- <a v-for=\"(shortcut, index) in shortcuts\" :key=\"index\" :class=\"`${prefixCls}-shortcut-item`\" @click=\"onShortcutClick(shortcut)\">\n {{ shortcut.text }}\n </a> -->\n <USelect\n v-model=\"selectedShortcut\"\n size=\"small\"\n :options=\"shortcuts.map((shortcut: any) => ({ label: shortcut.text, value: shortcut.text, func: shortcut.value }))\"\n :placeholder=\"locale.shortcutsPlaceholder\"\n @change=\"(value: any, option: any) => onShortcutClick({\n text: value,\n value: option.func\n })\"\n />\n </div>\n <div>\n <DatePanel\n v-if=\"statePanel !== 'quarter'\"\n :prefix-cls=\"prefixCls\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :has-time-picker=\"showTime\"\n :show-time-picker=\"showTimePicker\"\n :week-mode=\"weekMode\"\n :time-options=\"timeOptions\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n @current-change=\"onCurrentChange\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n <QuarterPanel\n v-if=\"statePanel === 'quarter'\"\n :prefix-cls=\"`${prefixCls}-quarter-panel`\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :disabled-date=\"disabledDate\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n <MonthPanel\n v-if=\"statePanel === 'month'\"\n :prefix-cls=\"`${prefixCls}-month-panel`\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :disabled-date=\"disabledDate\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n <YearPanel\n v-if=\"statePanel === 'year'\"\n :prefix-cls=\"`${prefixCls}-year-panel`\"\n :locale=\"locale\"\n :current-date=\"currentDate\"\n :selected-date=\"selectedDate\"\n :disabled-date=\"disabledDate\"\n @selected-change=\"onSelectedChange\"\n @panel-change=\"onPanelChange\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, watch, computed, inject } from 'vue';\nimport type { PropType } from 'vue';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport USelect from '@uxd-ui/components/Select';\nimport DatePanel from './DatePanel/DatePanel.vue';\nimport MonthPanel from './MonthPanel/MonthPanel.vue';\nimport YearPanel from './YearPanel/YearPanel.vue';\nimport QuarterPanel from './QuarterPanel';\nimport { getTodayTime, isAllowedDateTime } from '../utils';\nimport type {\n DatePickerContext,\n DatePickerShortcut,\n DatePickerSingleValueType,\n DisabledTimeFunction,\n DatePickerSingleType\n} from '../DatePicker.type';\nimport type { DisabledDateFunction } from '../../Calendar/Calendar.type';\nimport type { DatePickerLocal } from '../../locale/default';\n\nexport default defineComponent({\n name: 'DatePickerPanel',\n components: {\n DatePanel,\n MonthPanel,\n YearPanel,\n QuarterPanel,\n USelect\n },\n props: {\n prefixCls: {\n type: String\n },\n value: {\n type: [String, Date, Object] as PropType<DatePickerSingleValueType>\n },\n mode: {\n type: String as PropType<DatePickerSingleType>,\n default: 'date'\n },\n locale: {\n type: Object as PropType<DatePickerLocal>,\n required: true\n },\n open: {\n type: Boolean,\n default: false\n },\n\n showConfirm: {\n type: Boolean,\n default: false\n },\n timeOptions: {\n type: Object as PropType<Record<string, any>>\n },\n disabledDate: {\n type: Function as PropType<DisabledDateFunction>\n },\n disabledTime: {\n type: Function as PropType<DisabledTimeFunction>\n },\n shortcuts: {\n type: Array as PropType<DatePickerShortcut[]>\n },\n showTimeClear: {\n type: Boolean,\n default: true\n },\n direction: {\n type: String as PropType<'ltr' | 'rtl'>,\n default: 'ltr'\n }\n },\n emits: {\n select: (v: Date | null, close?: boolean) => (v === null || v instanceof Date) && typeof close === 'boolean',\n close: () => true,\n 'panel-change': (p: string) => typeof p === 'string'\n },\n setup(props, { emit }) {\n const currentDate = ref(dayjs());\n const selectedDate = ref<Dayjs | null>(null);\n const statePanel = ref(props.mode);\n const selectedShortcut = ref<string>('');\n const { setOpened } = inject<DatePickerContext>('datePickerContext', {} as DatePickerContext);\n\n watch(\n () => props.value,\n (val) => {\n selectedDate.value = val ? dayjs(val) : null;\n currentDate.value = val ? dayjs(val) : dayjs().startOf('day');\n },\n { immediate: true }\n );\n\n const showTime = computed(() => {\n return props.mode === 'dateTime';\n });\n\n const weekMode = computed(() => {\n return props.mode === 'week';\n });\n\n const onCurrentChange = (date: Dayjs) => {\n currentDate.value = date;\n };\n\n const fireChangePanel = (panel: DatePickerSingleType) => {\n statePanel.value = panel;\n emit('panel-change', panel);\n };\n\n const onPanelChange = (panel: DatePickerSingleType) => {\n fireChangePanel(panel);\n };\n\n const showTimePicker = computed(() => {\n return props.mode === 'dateTime' && statePanel.value === 'dateTime';\n });\n\n const onSelectedChange = ({ type, value }: { type: string; value: any }) => {\n if (type === 'date' || type === 'time') {\n emit('select', value.toDate());\n } else if (type === 'month') {\n if (props.mode !== 'month') {\n currentDate.value = value;\n fireChangePanel(props.mode === 'dateTime' ? 'dateTime' : 'date');\n } else {\n emit('select', value.startOf('month').toDate());\n }\n } else if (type === 'year') {\n if (props.mode === 'quarter') {\n currentDate.value = currentDate.value.year(value);\n fireChangePanel('quarter');\n } else if (props.mode !== 'year') {\n currentDate.value = currentDate.value.year(value);\n fireChangePanel('month');\n } else {\n const date = dayjs().year(value).startOf('year');\n emit('select', date.toDate());\n }\n } else if (type === 'quarter') {\n // const date = dayjs().quarter(value).startOf('quarter');\n emit('select', value.startOf('quarter').toDate());\n }\n };\n\n watch(\n () => props.open,\n (val) => {\n selectedShortcut.value = '';\n if (val) {\n currentDate.value = props.value ? dayjs(props.value) : dayjs().startOf('day');\n fireChangePanel(props.mode || 'date');\n }\n }\n );\n\n // ============ footer btn =================\n\n // const onToggleTime = () => {\n // if (selectedDate.value) {\n // showTimePicker.value = !showTimePicker.value;\n // }\n // };\n const disabledToday = computed(() => {\n const today = getTodayTime();\n if (props.disabledDate && props.disabledDate(today.toDate())) {\n return true;\n }\n return false;\n });\n\n const okDisabled = computed(() => {\n if (!selectedDate.value) {\n return true;\n }\n return !isAllowedDateTime(selectedDate.value, props.disabledDate, props.disabledTime);\n });\n\n const onSelectToday = () => {\n onSelectedChange({ type: 'date', value: getTodayTime() });\n };\n\n const onOk = () => {\n if (!okDisabled.value) {\n setOpened(false);\n }\n };\n\n const onClear = () => {\n if (!okDisabled.value) {\n emit('select', null, false);\n }\n };\n\n const onShortcutClick = (shortcut: DatePickerShortcut) => {\n if (typeof shortcut.value === 'function') {\n const date = shortcut.value();\n\n onSelectedChange({\n type: 'date',\n value: dayjs((date as DatePickerSingleValueType) || undefined)\n });\n }\n };\n\n return {\n currentDate,\n selectedDate,\n selectedShortcut,\n statePanel,\n showTime,\n weekMode,\n showTimePicker,\n disabledToday,\n okDisabled,\n onSelectToday,\n onOk,\n onClear,\n // onToggleTime,\n onCurrentChange,\n onPanelChange,\n onSelectedChange,\n onShortcutClick\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createCommentVNode","_createVNode","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export declare const siderProps: {
|
|
|
15
15
|
type: BooleanConstructor;
|
|
16
16
|
default: undefined;
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
isRight: {
|
|
19
19
|
type: BooleanConstructor;
|
|
20
20
|
default: boolean;
|
|
21
21
|
};
|
|
@@ -33,7 +33,7 @@ export declare const siderProps: {
|
|
|
33
33
|
type: (StringConstructor | NumberConstructor)[];
|
|
34
34
|
default: number;
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
collapsedWidth: {
|
|
37
37
|
type: (StringConstructor | NumberConstructor)[];
|
|
38
38
|
default: number;
|
|
39
39
|
};
|
|
@@ -41,11 +41,6 @@ export declare const siderProps: {
|
|
|
41
41
|
type: PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
42
42
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
43
43
|
};
|
|
44
|
-
theme: {
|
|
45
|
-
type: PropType<"light" | "dark">;
|
|
46
|
-
default: string;
|
|
47
|
-
validator: (val: "light" | "dark") => boolean;
|
|
48
|
-
};
|
|
49
44
|
background: {
|
|
50
45
|
type: StringConstructor;
|
|
51
46
|
};
|
|
@@ -11,7 +11,7 @@ const siderProps = {
|
|
|
11
11
|
type: Boolean,
|
|
12
12
|
default: void 0
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
isRight: {
|
|
15
15
|
type: Boolean,
|
|
16
16
|
default: false
|
|
17
17
|
},
|
|
@@ -29,7 +29,7 @@ const siderProps = {
|
|
|
29
29
|
type: [Number, String],
|
|
30
30
|
default: 200
|
|
31
31
|
},
|
|
32
|
-
|
|
32
|
+
collapsedWidth: {
|
|
33
33
|
type: [Number, String],
|
|
34
34
|
default: 80
|
|
35
35
|
},
|
|
@@ -37,11 +37,6 @@ const siderProps = {
|
|
|
37
37
|
type: String,
|
|
38
38
|
validator: oneOf(responsiveArray)
|
|
39
39
|
},
|
|
40
|
-
theme: {
|
|
41
|
-
type: String,
|
|
42
|
-
default: "dark",
|
|
43
|
-
validator: oneOf(siderTheme)
|
|
44
|
-
},
|
|
45
40
|
background: {
|
|
46
41
|
type: String
|
|
47
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.type.mjs","sources":["../../../../src/components/Layout/Layout.type.ts"],"sourcesContent":["import type { PropType, Ref, ExtractPropTypes } from 'vue';\nimport type { IconPropType } from '../../utils/globalType';\nimport { responsiveArray, type ResponsiveKeys } from '../../utils/responsiveObserve';\nimport { oneOf } from '../../utils/propsValidators';\n\nexport interface SiderHooks {\n attachSider: (id: string) => void;\n removeSider: (id: string) => void;\n}\n\nexport const siderTheme = ['light', 'dark'] as const;\nexport type SiderTheme = (typeof siderTheme)[number];\n\nexport const siderProps = {\n collapsible: {\n type: Boolean,\n default: false\n },\n collapsed: {\n type: Boolean,\n default: undefined as undefined\n },\n
|
|
1
|
+
{"version":3,"file":"Layout.type.mjs","sources":["../../../../src/components/Layout/Layout.type.ts"],"sourcesContent":["import type { PropType, Ref, ExtractPropTypes } from 'vue';\nimport type { IconPropType } from '../../utils/globalType';\nimport { responsiveArray, type ResponsiveKeys } from '../../utils/responsiveObserve';\nimport { oneOf } from '../../utils/propsValidators';\n\nexport interface SiderHooks {\n attachSider: (id: string) => void;\n removeSider: (id: string) => void;\n}\n\nexport const siderTheme = ['light', 'dark'] as const;\nexport type SiderTheme = (typeof siderTheme)[number];\n\nexport const siderProps = {\n collapsible: {\n type: Boolean,\n default: false\n },\n collapsed: {\n type: Boolean,\n default: undefined as undefined\n },\n isRight: {\n type: Boolean,\n default: false\n },\n hideTrigger: {\n type: Boolean,\n default: false\n },\n zeroTrigger: {\n type: Boolean\n },\n triggerIcon: {\n type: [String, Object] as PropType<IconPropType>\n },\n width: {\n type: [Number, String],\n default: 200\n },\n collapsedWidth: {\n type: [Number, String],\n default: 80\n },\n breakpoint: {\n type: String as PropType<ResponsiveKeys>,\n\n validator: oneOf(responsiveArray)\n },\n background: {\n type: String\n }\n};\nexport type SiderProps = ExtractPropTypes<typeof siderProps>;\n\nexport const siderEmits = {\n 'update:collapsed': (v: boolean) => typeof v === 'boolean',\n collapse: (v: boolean, type: string) => typeof v === 'boolean' && typeof type === 'string',\n breakpoint: (v: boolean) => typeof v === 'boolean'\n};\n\nexport type SiderEmits = typeof siderEmits;\n\nexport interface LayoutSiderContext {\n collapsed: Ref<boolean>;\n collapseWidth: Ref<number | string>;\n}\n"],"names":[],"mappings":";;;MAUa,aAAa,CAAC,SAAS,MAAM;MAG7B,aAAa;AAAA,EACxB,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,aAAa;AAAA,IACX,MAAM;AAAA;AACR,EACA,aAAa;AAAA,IACX,MAAM,CAAC,QAAQ,MAAM;AAAA;AACvB,EACA,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA;AACX,EACA,gBAAgB;AAAA,IACd,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA;AACX,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IAEN,WAAW,MAAM,eAAe;AAAA;AAClC,EACA,YAAY;AAAA,IACV,MAAM;AAAA;AAEV;MAGa,aAAa;AAAA,EACxB,oBAAoB,CAAC,MAAe,OAAO,MAAM;AAAA,EACjD,UAAU,CAAC,GAAY,SAAiB,OAAO,MAAM,aAAa,OAAO,SAAS;AAAA,EAClF,YAAY,CAAC,MAAe,OAAO,MAAM;AAC3C;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, inject, ref, watch, onMounted, nextTick, onUnmounted, computed, toRefs, provide, resolveComponent, openBlock, createElementBlock, normalizeStyle, normalizeClass, createVNode, withCtx, createBlock, createCommentVNode, createElementVNode, renderSlot, resolveDynamicComponent } from 'vue';
|
|
2
|
-
import { PanelLeft } from 'lucide-vue-next';
|
|
2
|
+
import { PanelLeft, PanelRight, ChevronLeft, ChevronRight } from 'lucide-vue-next';
|
|
3
3
|
import { UIcon } from '../Icon/index.mjs';
|
|
4
4
|
import useGlobalConfig from '../base/hooks/useGlobalConfig.mjs';
|
|
5
5
|
import { breakpointMap } from '../../utils/responsiveObserve.mjs';
|
|
@@ -19,7 +19,10 @@ const _sfc_main = defineComponent({
|
|
|
19
19
|
name: "USider",
|
|
20
20
|
components: {
|
|
21
21
|
UIcon,
|
|
22
|
-
PanelLeft
|
|
22
|
+
PanelLeft,
|
|
23
|
+
PanelRight,
|
|
24
|
+
ChevronLeft,
|
|
25
|
+
ChevronRight
|
|
23
26
|
},
|
|
24
27
|
props: siderProps,
|
|
25
28
|
emits: siderEmits,
|
|
@@ -46,7 +49,6 @@ const _sfc_main = defineComponent({
|
|
|
46
49
|
const isBreakpoint = ref(false);
|
|
47
50
|
let mql;
|
|
48
51
|
const responsiveHandler = ({ matches }) => {
|
|
49
|
-
emit("breakpoint", matches);
|
|
50
52
|
isBreakpoint.value = matches;
|
|
51
53
|
if (matches !== stateCollapse.value) {
|
|
52
54
|
setCollapsed(matches, "responsive");
|
|
@@ -54,7 +56,7 @@ const _sfc_main = defineComponent({
|
|
|
54
56
|
};
|
|
55
57
|
onMounted(() => {
|
|
56
58
|
nextTick(() => {
|
|
57
|
-
if (typeof window
|
|
59
|
+
if (typeof window !== "undefined") {
|
|
58
60
|
if (!!matchMedia && props.breakpoint) {
|
|
59
61
|
mql = matchMedia(breakpointMap[props.breakpoint]);
|
|
60
62
|
}
|
|
@@ -63,7 +65,9 @@ const _sfc_main = defineComponent({
|
|
|
63
65
|
} catch (error) {
|
|
64
66
|
mql == null ? void 0 : mql.addListener(responsiveHandler);
|
|
65
67
|
}
|
|
66
|
-
|
|
68
|
+
if (mql) {
|
|
69
|
+
responsiveHandler(mql);
|
|
70
|
+
}
|
|
67
71
|
}
|
|
68
72
|
if (siderHook.attachSider) {
|
|
69
73
|
siderHook.attachSider(uniqueId);
|
|
@@ -85,12 +89,12 @@ const _sfc_main = defineComponent({
|
|
|
85
89
|
const siderWidth = computed(() => {
|
|
86
90
|
let ret = getPixer(props.width);
|
|
87
91
|
if (stateCollapse.value) {
|
|
88
|
-
ret = getPixer(props.
|
|
92
|
+
ret = getPixer(props.collapsedWidth);
|
|
89
93
|
}
|
|
90
94
|
return ret;
|
|
91
95
|
});
|
|
92
96
|
const isZeroCollapse = computed(() => {
|
|
93
|
-
return parseFloat(String(props.
|
|
97
|
+
return parseFloat(String(props.collapsedWidth)) === 0 || props.zeroTrigger;
|
|
94
98
|
});
|
|
95
99
|
const showZeroTrigger = computed(() => {
|
|
96
100
|
return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && isZeroCollapse.value;
|
|
@@ -102,16 +106,16 @@ const _sfc_main = defineComponent({
|
|
|
102
106
|
if (props.triggerIcon) {
|
|
103
107
|
return props.triggerIcon;
|
|
104
108
|
}
|
|
105
|
-
return props.
|
|
109
|
+
return props.isRight ? PanelLeft : PanelRight;
|
|
106
110
|
});
|
|
107
111
|
const handleToggle = () => {
|
|
108
112
|
const collapsed = !stateCollapse.value;
|
|
109
113
|
setCollapsed(collapsed, "triggerClick");
|
|
110
114
|
};
|
|
111
|
-
const {
|
|
115
|
+
const { collapsedWidth } = toRefs(props);
|
|
112
116
|
provide("layoutSiderContext", {
|
|
113
117
|
collapsed: stateCollapse,
|
|
114
|
-
|
|
118
|
+
collapsedWidth
|
|
115
119
|
});
|
|
116
120
|
return {
|
|
117
121
|
prefixCls,
|
|
@@ -127,7 +131,8 @@ const _sfc_main = defineComponent({
|
|
|
127
131
|
});
|
|
128
132
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
129
133
|
var _a;
|
|
130
|
-
const
|
|
134
|
+
const _component_ChevronRight = resolveComponent("ChevronRight");
|
|
135
|
+
const _component_ChevronLeft = resolveComponent("ChevronLeft");
|
|
131
136
|
const _component_UIcon = resolveComponent("UIcon");
|
|
132
137
|
return openBlock(), createElementBlock("aside", {
|
|
133
138
|
style: normalizeStyle({
|
|
@@ -139,8 +144,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
139
144
|
}),
|
|
140
145
|
class: normalizeClass([
|
|
141
146
|
_ctx.prefixCls,
|
|
142
|
-
`${_ctx.prefixCls}-${_ctx.
|
|
143
|
-
`${_ctx.prefixCls}-${_ctx.reverseArrow ? "right" : "left"}`,
|
|
147
|
+
`${_ctx.prefixCls}-${_ctx.isRight ? "right" : "left"}`,
|
|
144
148
|
{
|
|
145
149
|
[`${_ctx.prefixCls}-collapsed`]: !!_ctx.stateCollapse,
|
|
146
150
|
[`${_ctx.prefixCls}-has-trigger`]: _ctx.collapsible && !_ctx.hideTrigger && !_ctx.isZeroCollapse,
|
|
@@ -150,12 +154,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
150
154
|
}, [
|
|
151
155
|
_ctx.showZeroTrigger ? (openBlock(), createElementBlock("span", {
|
|
152
156
|
key: 0,
|
|
153
|
-
class: normalizeClass([`${_ctx.prefixCls}-zero-trigger`, `${_ctx.prefixCls}-zero-trigger-${_ctx.
|
|
157
|
+
class: normalizeClass([`${_ctx.prefixCls}-zero-trigger`, `${_ctx.prefixCls}-zero-trigger-${_ctx.isRight ? "right" : "left"}`]),
|
|
154
158
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleToggle && _ctx.handleToggle(...args))
|
|
155
159
|
}, [
|
|
156
160
|
createVNode(_component_UIcon, null, {
|
|
157
161
|
default: withCtx(() => [
|
|
158
|
-
_ctx.
|
|
162
|
+
_ctx.isRight ? (openBlock(), createBlock(_component_ChevronRight, { key: 0 })) : (openBlock(), createBlock(_component_ChevronLeft, { key: 1 }))
|
|
159
163
|
]),
|
|
160
164
|
_: 1
|
|
161
165
|
})
|
|
@@ -170,7 +174,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
170
174
|
], 2),
|
|
171
175
|
_ctx.showBottomTrigger ? renderSlot(_ctx.$slots, "trigger", { key: 1 }, () => [
|
|
172
176
|
createElementVNode("div", {
|
|
173
|
-
class: normalizeClass([`${_ctx.prefixCls}-trigger`, `${_ctx.prefixCls}-trigger-${_ctx.
|
|
177
|
+
class: normalizeClass([`${_ctx.prefixCls}-trigger`, `${_ctx.prefixCls}-trigger-${_ctx.isRight ? "right" : "left"}`]),
|
|
174
178
|
style: normalizeStyle({ width: _ctx.siderWidth }),
|
|
175
179
|
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleToggle && _ctx.handleToggle(...args))
|
|
176
180
|
}, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sider.mjs","sources":["../../../../src/components/Layout/Sider.vue"],"sourcesContent":["<template>\n <aside\n :style=\"{\n width: `${siderWidth}`,\n minWidth: `${siderWidth}`,\n maxWidth: `${siderWidth}`,\n flex: `0 0 ${siderWidth}`,\n ...(background ? { background } : {})\n }\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${
|
|
1
|
+
{"version":3,"file":"Sider.mjs","sources":["../../../../src/components/Layout/Sider.vue"],"sourcesContent":["<template>\n <aside\n :style=\"{\n width: `${siderWidth}`,\n minWidth: `${siderWidth}`,\n maxWidth: `${siderWidth}`,\n flex: `0 0 ${siderWidth}`,\n ...(background ? { background } : {})\n }\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${isRight ? 'right' : 'left'}`,\n {\n [`${prefixCls}-collapsed`]: !!stateCollapse,\n [`${prefixCls}-has-trigger`]: collapsible && !hideTrigger && !isZeroCollapse,\n [`${prefixCls}-zero`]: parseFloat(String(siderWidth)) === 0\n }\n ]\"\n >\n <span\n v-if=\"showZeroTrigger\"\n :class=\"[`${prefixCls}-zero-trigger`, `${prefixCls}-zero-trigger-${isRight ? 'right' : 'left'}`]\"\n @click=\"handleToggle\"\n >\n <UIcon>\n <ChevronRight v-if=\"isRight\" />\n <ChevronLeft v-else />\n </UIcon>\n </span>\n\n <div\n :class=\"{\n [`${prefixCls}-children`]: true,\n [`${String($attrs.class)?.split(' ')[0]}-inner`]: !!$attrs.class\n }\"\n >\n <slot />\n </div>\n\n <slot v-if=\"showBottomTrigger\" name=\"trigger\">\n <div\n :class=\"[`${prefixCls}-trigger`, `${prefixCls}-trigger-${isRight ? 'right' : 'left'}`]\"\n :style=\"{ width: siderWidth }\"\n @click=\"handleToggle\"\n >\n <UIcon>\n <component :is=\"triggerType\" />\n </UIcon>\n </div>\n </slot>\n </aside>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, onMounted, onUnmounted, nextTick, toRefs, ref, computed, watch, provide } from 'vue';\nimport { ChevronLeft, ChevronRight, PanelLeft, PanelRight } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport { breakpointMap } from '../../utils/responsiveObserve';\nimport { isNumeric } from '../../utils/isValid';\nimport { siderEmits, siderProps, type SiderHooks } from './Layout.type';\n\nlet i = 0;\nconst generateId = (prefix: string) => {\n i += 1;\n return `${prefix}-${i}`;\n};\n\nconst getPixer = (val: string | number) => {\n return isNumeric(val) ? `${val}px` : val;\n};\n\nexport default defineComponent({\n name: 'USider',\n components: {\n UIcon,\n PanelLeft,\n PanelRight,\n ChevronLeft,\n ChevronRight\n },\n props: siderProps,\n emits: siderEmits,\n setup(props, { emit }) {\n const { prefixCls, getPrefixCls } = useGlobalConfig('layout-sider');\n const prefix = getPrefixCls('sider');\n const uniqueId = generateId(prefix);\n const siderHook = inject<SiderHooks>('siderHook', {} as SiderHooks);\n\n // #region for state collapse\n\n const stateCollapse = ref();\n watch(\n () => props.collapsed,\n (val) => {\n stateCollapse.value = !!val;\n },\n { immediate: true }\n );\n\n const setCollapsed = (collapsed: boolean, type: string) => {\n if (props.collapsed === undefined) {\n stateCollapse.value = collapsed;\n }\n emit('update:collapsed', collapsed);\n emit('collapse', collapsed, type);\n };\n // #endregion\n\n // #region lifecircle\n const isBreakpoint = ref(false);\n let mql: MediaQueryList;\n const responsiveHandler = ({ matches }: { matches: boolean }) => {\n isBreakpoint.value = matches;\n if (matches !== stateCollapse.value) {\n setCollapsed(matches, 'responsive');\n }\n };\n\n onMounted(() => {\n nextTick(() => {\n if (typeof window !== 'undefined') {\n if (!!matchMedia && props.breakpoint) {\n mql = matchMedia(breakpointMap[props.breakpoint]);\n }\n try {\n mql?.addEventListener('change', responsiveHandler);\n } catch (error) {\n mql?.addListener(responsiveHandler);\n }\n if (mql) {\n responsiveHandler(mql);\n }\n }\n\n if (siderHook.attachSider) {\n siderHook.attachSider(uniqueId);\n }\n });\n });\n onUnmounted(() => {\n nextTick(() => {\n try {\n mql?.removeEventListener('change', responsiveHandler);\n } catch (error) {\n mql?.removeListener(responsiveHandler);\n }\n\n if (siderHook.removeSider) {\n siderHook.removeSider(uniqueId);\n }\n });\n });\n // #endregion\n\n // #region computed\n\n const siderWidth = computed(() => {\n let ret = getPixer(props.width);\n if (stateCollapse.value) {\n ret = getPixer(props.collapsedWidth);\n }\n return ret;\n });\n\n const isZeroCollapse = computed(() => {\n return parseFloat(String(props.collapsedWidth)) === 0 || props.zeroTrigger;\n });\n\n const showZeroTrigger = computed(() => {\n return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && isZeroCollapse.value;\n });\n\n const showBottomTrigger = computed(() => {\n return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && !isZeroCollapse.value;\n });\n\n const triggerType = computed(() => {\n if (props.triggerIcon) {\n return props.triggerIcon;\n }\n\n return props.isRight ? PanelLeft : PanelRight;\n });\n // #endregion\n\n // #region event\n const handleToggle = () => {\n const collapsed = !stateCollapse.value;\n setCollapsed(collapsed, 'triggerClick');\n };\n // #endregion\n const { collapsedWidth } = toRefs(props);\n provide('layoutSiderContext', {\n collapsed: stateCollapse,\n collapsedWidth\n });\n\n return {\n prefixCls,\n stateCollapse,\n siderWidth,\n isZeroCollapse,\n showZeroTrigger,\n showBottomTrigger,\n triggerType,\n handleToggle\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeStyle","_normalizeClass","_createVNode","_createBlock","_createElementVNode","_renderSlot","_resolveDynamicComponent"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
7
7
|
type: BooleanConstructor;
|
|
8
8
|
default: undefined;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
isRight: {
|
|
11
11
|
type: BooleanConstructor;
|
|
12
12
|
default: boolean;
|
|
13
13
|
};
|
|
@@ -25,7 +25,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
25
25
|
type: (StringConstructor | NumberConstructor)[];
|
|
26
26
|
default: number;
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
collapsedWidth: {
|
|
29
29
|
type: (StringConstructor | NumberConstructor)[];
|
|
30
30
|
default: number;
|
|
31
31
|
};
|
|
@@ -33,11 +33,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
33
33
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
34
34
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
35
35
|
};
|
|
36
|
-
theme: {
|
|
37
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
38
|
-
default: string;
|
|
39
|
-
validator: (val: "light" | "dark") => boolean;
|
|
40
|
-
};
|
|
41
36
|
background: {
|
|
42
37
|
type: StringConstructor;
|
|
43
38
|
};
|
|
@@ -63,7 +58,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
58
|
type: BooleanConstructor;
|
|
64
59
|
default: undefined;
|
|
65
60
|
};
|
|
66
|
-
|
|
61
|
+
isRight: {
|
|
67
62
|
type: BooleanConstructor;
|
|
68
63
|
default: boolean;
|
|
69
64
|
};
|
|
@@ -81,7 +76,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
81
76
|
type: (StringConstructor | NumberConstructor)[];
|
|
82
77
|
default: number;
|
|
83
78
|
};
|
|
84
|
-
|
|
79
|
+
collapsedWidth: {
|
|
85
80
|
type: (StringConstructor | NumberConstructor)[];
|
|
86
81
|
default: number;
|
|
87
82
|
};
|
|
@@ -89,11 +84,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
89
84
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
90
85
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
91
86
|
};
|
|
92
|
-
theme: {
|
|
93
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
94
|
-
default: string;
|
|
95
|
-
validator: (val: "light" | "dark") => boolean;
|
|
96
|
-
};
|
|
97
87
|
background: {
|
|
98
88
|
type: StringConstructor;
|
|
99
89
|
};
|
|
@@ -105,11 +95,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
105
95
|
width: string | number;
|
|
106
96
|
collapsible: boolean;
|
|
107
97
|
collapsed: boolean;
|
|
108
|
-
|
|
98
|
+
isRight: boolean;
|
|
109
99
|
hideTrigger: boolean;
|
|
110
100
|
zeroTrigger: boolean;
|
|
111
|
-
|
|
112
|
-
theme: "light" | "dark";
|
|
101
|
+
collapsedWidth: string | number;
|
|
113
102
|
}, {}, {
|
|
114
103
|
UIcon: {
|
|
115
104
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -243,5 +232,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
243
232
|
spin: boolean;
|
|
244
233
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]> & Record<string, any>;
|
|
245
234
|
PanelLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
235
|
+
PanelRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
236
|
+
ChevronLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
237
|
+
ChevronRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
246
238
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
247
239
|
export default _default;
|
|
@@ -56,7 +56,7 @@ export declare const ULayout: {
|
|
|
56
56
|
type: BooleanConstructor;
|
|
57
57
|
default: undefined;
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
isRight: {
|
|
60
60
|
type: BooleanConstructor;
|
|
61
61
|
default: boolean;
|
|
62
62
|
};
|
|
@@ -74,7 +74,7 @@ export declare const ULayout: {
|
|
|
74
74
|
type: (StringConstructor | NumberConstructor)[];
|
|
75
75
|
default: number;
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
collapsedWidth: {
|
|
78
78
|
type: (StringConstructor | NumberConstructor)[];
|
|
79
79
|
default: number;
|
|
80
80
|
};
|
|
@@ -82,11 +82,6 @@ export declare const ULayout: {
|
|
|
82
82
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
83
83
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
84
84
|
};
|
|
85
|
-
theme: {
|
|
86
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
87
|
-
default: string;
|
|
88
|
-
validator: (val: "light" | "dark") => boolean;
|
|
89
|
-
};
|
|
90
85
|
background: {
|
|
91
86
|
type: StringConstructor;
|
|
92
87
|
};
|
|
@@ -112,7 +107,7 @@ export declare const ULayout: {
|
|
|
112
107
|
type: BooleanConstructor;
|
|
113
108
|
default: undefined;
|
|
114
109
|
};
|
|
115
|
-
|
|
110
|
+
isRight: {
|
|
116
111
|
type: BooleanConstructor;
|
|
117
112
|
default: boolean;
|
|
118
113
|
};
|
|
@@ -130,7 +125,7 @@ export declare const ULayout: {
|
|
|
130
125
|
type: (StringConstructor | NumberConstructor)[];
|
|
131
126
|
default: number;
|
|
132
127
|
};
|
|
133
|
-
|
|
128
|
+
collapsedWidth: {
|
|
134
129
|
type: (StringConstructor | NumberConstructor)[];
|
|
135
130
|
default: number;
|
|
136
131
|
};
|
|
@@ -138,11 +133,6 @@ export declare const ULayout: {
|
|
|
138
133
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
139
134
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
140
135
|
};
|
|
141
|
-
theme: {
|
|
142
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
143
|
-
default: string;
|
|
144
|
-
validator: (val: "light" | "dark") => boolean;
|
|
145
|
-
};
|
|
146
136
|
background: {
|
|
147
137
|
type: StringConstructor;
|
|
148
138
|
};
|
|
@@ -154,11 +144,10 @@ export declare const ULayout: {
|
|
|
154
144
|
width: string | number;
|
|
155
145
|
collapsible: boolean;
|
|
156
146
|
collapsed: boolean;
|
|
157
|
-
|
|
147
|
+
isRight: boolean;
|
|
158
148
|
hideTrigger: boolean;
|
|
159
149
|
zeroTrigger: boolean;
|
|
160
|
-
|
|
161
|
-
theme: "light" | "dark";
|
|
150
|
+
collapsedWidth: string | number;
|
|
162
151
|
}, {}, {
|
|
163
152
|
UIcon: {
|
|
164
153
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -292,6 +281,9 @@ export declare const ULayout: {
|
|
|
292
281
|
spin: boolean;
|
|
293
282
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]> & Record<string, any>;
|
|
294
283
|
PanelLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
284
|
+
PanelRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
285
|
+
ChevronLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
286
|
+
ChevronRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
295
287
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
296
288
|
Content: import("vue").DefineComponent<{}, {
|
|
297
289
|
prefixCls: import("vue").ComputedRef<string>;
|
|
@@ -5,11 +5,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5
5
|
default: string;
|
|
6
6
|
validator: (val: "inline" | "horizontal" | "vertical" | "vertical-left" | "vertical-right") => boolean;
|
|
7
7
|
};
|
|
8
|
-
theme: {
|
|
9
|
-
type: import("vue").PropType<"dark" | "light">;
|
|
10
|
-
default: string;
|
|
11
|
-
validator: (val: "dark" | "light") => boolean;
|
|
12
|
-
};
|
|
13
8
|
selectedKeys: {
|
|
14
9
|
type: import("vue").PropType<(string | number)[]>;
|
|
15
10
|
validator: (val: any[]) => boolean;
|
|
@@ -63,11 +58,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
58
|
default: string;
|
|
64
59
|
validator: (val: "inline" | "horizontal" | "vertical" | "vertical-left" | "vertical-right") => boolean;
|
|
65
60
|
};
|
|
66
|
-
theme: {
|
|
67
|
-
type: import("vue").PropType<"dark" | "light">;
|
|
68
|
-
default: string;
|
|
69
|
-
validator: (val: "dark" | "light") => boolean;
|
|
70
|
-
};
|
|
71
61
|
selectedKeys: {
|
|
72
62
|
type: import("vue").PropType<(string | number)[]>;
|
|
73
63
|
validator: (val: any[]) => boolean;
|
|
@@ -112,7 +102,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
112
102
|
}>, {
|
|
113
103
|
multiple: boolean;
|
|
114
104
|
mode: "inline" | "horizontal" | "vertical" | "vertical-left" | "vertical-right";
|
|
115
|
-
theme: "dark" | "light";
|
|
116
105
|
openKeys: (string | number)[];
|
|
117
106
|
subMenuOpenDelay: number;
|
|
118
107
|
subMenuCloseDelay: number;
|
|
@@ -27,7 +27,6 @@ var Menu = defineComponent({
|
|
|
27
27
|
} = useGlobalConfig(inDrop ? "dropdown-menu" : "menu");
|
|
28
28
|
const {
|
|
29
29
|
mode,
|
|
30
|
-
theme,
|
|
31
30
|
subMenuOpenDelay,
|
|
32
31
|
subMenuCloseDelay,
|
|
33
32
|
inlineCollapsed
|
|
@@ -160,7 +159,6 @@ var Menu = defineComponent({
|
|
|
160
159
|
provide("menuStore", {
|
|
161
160
|
mode: computedMode,
|
|
162
161
|
originalMode: mode,
|
|
163
|
-
theme,
|
|
164
162
|
selectedKeys,
|
|
165
163
|
openKeys,
|
|
166
164
|
subMenuOpenDelay,
|
|
@@ -191,7 +189,7 @@ var Menu = defineComponent({
|
|
|
191
189
|
return createVNode("ul", {
|
|
192
190
|
"ref": "rootMenu",
|
|
193
191
|
"role": this.role || "menu",
|
|
194
|
-
"class": [`${this.computedPrefixCls}`, `${this.computedPrefixCls}-${this.computedMode}`, `${this.computedPrefixCls}-root`,
|
|
192
|
+
"class": [`${this.computedPrefixCls}`, `${this.computedPrefixCls}-${this.computedMode}`, `${this.computedPrefixCls}-root`, {
|
|
195
193
|
[`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed
|
|
196
194
|
}]
|
|
197
195
|
}, [this.renderChild()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.mjs","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { defineComponent, provide, inject, ref, toRefs, watch, computed } from 'vue';\nimport warn from '../../utils/warn';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport Render from '../base/Render';\nimport useWrapDom from './hooks/useWrapDom';\nimport type { DropdownContext } from '../Dropdown/Dropdown.type';\nimport type { LayoutSiderContext } from '../Layout/Layout.type';\nimport { menuProps, menuEmits, type MenuItemClickEvent, type MenuClickEvent, type MenuOpenEvent } from './Menu.type';\n\nexport default defineComponent({\n name: 'UMenu',\n components: { Render },\n props: menuProps,\n emits: menuEmits,\n setup(props, { emit, slots }) {\n const dropdownContext = inject<DropdownContext | undefined>('dropdownContext', undefined);\n const layoutSiderContext = inject<LayoutSiderContext>('layoutSiderContext', {} as LayoutSiderContext);\n const inDrop = dropdownContext !== undefined;\n const { collapsed: layoutSiderCollapsed } = layoutSiderContext;\n const { prefixCls: statePrefixCls } = useGlobalConfig(inDrop ? 'dropdown-menu' : 'menu');\n const { mode, theme, subMenuOpenDelay, subMenuCloseDelay, inlineCollapsed } = toRefs(props);\n\n const computedPrefixCls = computed(() => props.prefixCls || statePrefixCls.value);\n if (props.mode !== 'inline' && props.inlineCollapsed !== undefined) {\n warn('inlineCollapsed only use in inline mode!');\n }\n const selectedKeys = ref(props.selectedKeys || []);\n const openKeys = ref(!props.inlineCollapsed && props.openKeys ? props.openKeys : []);\n const inlineOpenKeys = ref(props.inlineCollapsed ? props.openKeys : []);\n\n const rootMenu = ref<any | null>(null);\n let keypath: (string | number)[] = [];\n\n // const computedMode = computed(() => {\n // if (props.mode === 'inline') {\n // return props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n // }\n // return props.mode;\n // });\n const computedMode = ref(props.mode);\n const setInlineMode = () => {\n if (props.mode === 'inline') {\n computedMode.value = props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n }\n };\n setInlineMode();\n const collapsed = ref(false);\n // const handleTransitionEnd = (e: any) => {\n // if (e.target !== rootMenu.value || e.propertyName !== 'width') {\n // return;\n // }\n // if (props.mode === 'inline') {\n // if (props.inlineCollapsed || layoutSiderCollapsed?.value) {\n // computedMode.value = 'vertical';\n // inlineOpenKeys.value = openKeys.value;\n // openKeys.value = [];\n // collapsed.value = true;\n // } else {\n // computedMode.value = 'inline';\n // openKeys.value = inlineOpenKeys.value;\n // inlineOpenKeys.value = [];\n // collapsed.value = false;\n // }\n // }\n // };\n\n // #region methods\n const collapsedChange = (val: boolean) => {\n setTimeout(() => {\n setInlineMode();\n }, 300);\n\n if (val) {\n inlineOpenKeys.value = openKeys.value;\n openKeys.value = [];\n collapsed.value = true;\n } else {\n openKeys.value = inlineOpenKeys.value;\n inlineOpenKeys.value = [];\n collapsed.value = false;\n }\n };\n\n const updateKeyPath = (key: string | number, type: string) => {\n if (type === 'item') {\n keypath = [key];\n } else if (type === 'sub') {\n keypath.push(key);\n }\n };\n\n const fireMenuClick = (event: MenuItemClickEvent) => {\n const info: MenuClickEvent = {\n ...event,\n keypath\n };\n emit('click', info);\n if (dropdownContext && dropdownContext.fireItemClick && info.key) {\n dropdownContext.fireItemClick(info);\n }\n };\n\n const selectable = computed(() => {\n return !inDrop || !!props.selectable;\n });\n\n const fireMenuDeselect = (event: MenuItemClickEvent) => {\n if (selectable.value && props.multiple) {\n const _selectedKeys = selectedKeys.value.filter((x) => x !== event.key);\n\n emit('deselect', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuSelect = (event: MenuItemClickEvent) => {\n if (selectable.value) {\n let _selectedKeys = [] as (string | number)[];\n if (props.multiple) {\n _selectedKeys = [...selectedKeys.value, event.key];\n } else {\n _selectedKeys = [event.key];\n }\n emit('select', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuOpenChange = (event: MenuOpenEvent) => {\n const { open, key } = event;\n let _openKeys = openKeys.value;\n if (open) {\n _openKeys = [..._openKeys, key];\n } else {\n _openKeys = _openKeys.filter((x) => x !== key);\n }\n emit('open-change', _openKeys, event);\n openKeys.value = _openKeys;\n emit('update:openKeys', _openKeys);\n };\n // #endregion\n\n watch(\n () => props.selectedKeys,\n (val) => {\n selectedKeys.value = val || [];\n }\n );\n\n watch(\n () => props.openKeys,\n (val) => {\n openKeys.value = val;\n }\n );\n watch(\n () => props.inlineCollapsed,\n (val) => {\n if (val !== undefined) {\n collapsedChange(val);\n }\n }\n );\n\n if (layoutSiderContext && layoutSiderCollapsed) {\n watch(layoutSiderCollapsed, (val) => {\n collapsedChange(val);\n });\n }\n\n // #region provides\n // just children to use it\n provide('parentMenu', {\n isRootMenu: true,\n getPopupContainer: () => {\n if (dropdownContext) {\n return rootMenu.value?.parentNode;\n }\n return document.body;\n }\n });\n // rootMenu's props supply to descendants use\n provide('menuStore', {\n mode: computedMode,\n originalMode: mode,\n theme,\n selectedKeys,\n openKeys,\n subMenuOpenDelay,\n subMenuCloseDelay,\n rootPrefixCls: computedPrefixCls,\n updateKeyPath,\n // inlineIndent,\n inlineCollapsed,\n collapsed\n });\n // descendants trigger rootMenu's events\n provide('menuEvent', {\n fireMenuClick,\n fireMenuDeselect,\n fireMenuSelect,\n fireMenuOpenChange\n });\n // #endregion\n\n const { renderChild } = useWrapDom(props.mode, rootMenu, slots);\n\n return {\n rootMenu,\n computedPrefixCls,\n computedMode,\n layoutSiderCollapsed,\n renderChild\n };\n },\n render() {\n return (\n <ul\n ref=\"rootMenu\"\n role={this.role || 'menu'}\n class={[\n `${this.computedPrefixCls}`,\n `${this.computedPrefixCls}-${this.computedMode}`,\n `${this.computedPrefixCls}-root`,\n `${this.computedPrefixCls}-${this.theme}`,\n {\n [`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed\n }\n ]}\n >\n {this.renderChild()}\n </ul>\n );\n }\n});\n"],"names":["defineComponent","name","components","Render","props","menuProps","emits","menuEmits","setup","emit","slots","dropdownContext","inject","undefined","layoutSiderContext","inDrop","collapsed","layoutSiderCollapsed","prefixCls","statePrefixCls","useGlobalConfig","mode","theme","subMenuOpenDelay","subMenuCloseDelay","inlineCollapsed","toRefs","computedPrefixCls","computed","value","warn","selectedKeys","ref","openKeys","inlineOpenKeys","rootMenu","keypath","computedMode","setInlineMode","collapsedChange","val","setTimeout","updateKeyPath","key","type","push","fireMenuClick","event","info","fireItemClick","selectable","fireMenuDeselect","multiple","_selectedKeys","filter","x","item","fireMenuSelect","fireMenuOpenChange","open","_openKeys","watch","provide","isRootMenu","getPopupContainer","parentNode","document","body","originalMode","rootPrefixCls","renderChild","useWrapDom","render","_createVNode","role"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.mjs","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { defineComponent, provide, inject, ref, toRefs, watch, computed } from 'vue';\nimport warn from '../../utils/warn';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport Render from '../base/Render';\nimport useWrapDom from './hooks/useWrapDom';\nimport type { DropdownContext } from '../Dropdown/Dropdown.type';\nimport type { LayoutSiderContext } from '../Layout/Layout.type';\nimport { menuProps, menuEmits, type MenuItemClickEvent, type MenuClickEvent, type MenuOpenEvent } from './Menu.type';\n\nexport default defineComponent({\n name: 'UMenu',\n components: { Render },\n props: menuProps,\n emits: menuEmits,\n setup(props, { emit, slots }) {\n const dropdownContext = inject<DropdownContext | undefined>('dropdownContext', undefined);\n const layoutSiderContext = inject<LayoutSiderContext>('layoutSiderContext', {} as LayoutSiderContext);\n const inDrop = dropdownContext !== undefined;\n const { collapsed: layoutSiderCollapsed } = layoutSiderContext;\n const { prefixCls: statePrefixCls } = useGlobalConfig(inDrop ? 'dropdown-menu' : 'menu');\n const { mode, subMenuOpenDelay, subMenuCloseDelay, inlineCollapsed } = toRefs(props);\n\n const computedPrefixCls = computed(() => props.prefixCls || statePrefixCls.value);\n if (props.mode !== 'inline' && props.inlineCollapsed !== undefined) {\n warn('inlineCollapsed only use in inline mode!');\n }\n const selectedKeys = ref(props.selectedKeys || []);\n const openKeys = ref(!props.inlineCollapsed && props.openKeys ? props.openKeys : []);\n const inlineOpenKeys = ref(props.inlineCollapsed ? props.openKeys : []);\n\n const rootMenu = ref<any | null>(null);\n let keypath: (string | number)[] = [];\n\n // const computedMode = computed(() => {\n // if (props.mode === 'inline') {\n // return props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n // }\n // return props.mode;\n // });\n const computedMode = ref(props.mode);\n const setInlineMode = () => {\n if (props.mode === 'inline') {\n computedMode.value = props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n }\n };\n setInlineMode();\n const collapsed = ref(false);\n // const handleTransitionEnd = (e: any) => {\n // if (e.target !== rootMenu.value || e.propertyName !== 'width') {\n // return;\n // }\n // if (props.mode === 'inline') {\n // if (props.inlineCollapsed || layoutSiderCollapsed?.value) {\n // computedMode.value = 'vertical';\n // inlineOpenKeys.value = openKeys.value;\n // openKeys.value = [];\n // collapsed.value = true;\n // } else {\n // computedMode.value = 'inline';\n // openKeys.value = inlineOpenKeys.value;\n // inlineOpenKeys.value = [];\n // collapsed.value = false;\n // }\n // }\n // };\n\n // #region methods\n const collapsedChange = (val: boolean) => {\n setTimeout(() => {\n setInlineMode();\n }, 300);\n\n if (val) {\n inlineOpenKeys.value = openKeys.value;\n openKeys.value = [];\n collapsed.value = true;\n } else {\n openKeys.value = inlineOpenKeys.value;\n inlineOpenKeys.value = [];\n collapsed.value = false;\n }\n };\n\n const updateKeyPath = (key: string | number, type: string) => {\n if (type === 'item') {\n keypath = [key];\n } else if (type === 'sub') {\n keypath.push(key);\n }\n };\n\n const fireMenuClick = (event: MenuItemClickEvent) => {\n const info: MenuClickEvent = {\n ...event,\n keypath\n };\n emit('click', info);\n if (dropdownContext && dropdownContext.fireItemClick && info.key) {\n dropdownContext.fireItemClick(info);\n }\n };\n\n const selectable = computed(() => {\n return !inDrop || !!props.selectable;\n });\n\n const fireMenuDeselect = (event: MenuItemClickEvent) => {\n if (selectable.value && props.multiple) {\n const _selectedKeys = selectedKeys.value.filter((x) => x !== event.key);\n\n emit('deselect', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuSelect = (event: MenuItemClickEvent) => {\n if (selectable.value) {\n let _selectedKeys = [] as (string | number)[];\n if (props.multiple) {\n _selectedKeys = [...selectedKeys.value, event.key];\n } else {\n _selectedKeys = [event.key];\n }\n emit('select', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuOpenChange = (event: MenuOpenEvent) => {\n const { open, key } = event;\n let _openKeys = openKeys.value;\n if (open) {\n _openKeys = [..._openKeys, key];\n } else {\n _openKeys = _openKeys.filter((x) => x !== key);\n }\n emit('open-change', _openKeys, event);\n openKeys.value = _openKeys;\n emit('update:openKeys', _openKeys);\n };\n // #endregion\n\n watch(\n () => props.selectedKeys,\n (val) => {\n selectedKeys.value = val || [];\n }\n );\n\n watch(\n () => props.openKeys,\n (val) => {\n openKeys.value = val;\n }\n );\n watch(\n () => props.inlineCollapsed,\n (val) => {\n if (val !== undefined) {\n collapsedChange(val);\n }\n }\n );\n\n if (layoutSiderContext && layoutSiderCollapsed) {\n watch(layoutSiderCollapsed, (val) => {\n collapsedChange(val);\n });\n }\n\n // #region provides\n // just children to use it\n provide('parentMenu', {\n isRootMenu: true,\n getPopupContainer: () => {\n if (dropdownContext) {\n return rootMenu.value?.parentNode;\n }\n return document.body;\n }\n });\n // rootMenu's props supply to descendants use\n provide('menuStore', {\n mode: computedMode,\n originalMode: mode,\n selectedKeys,\n openKeys,\n subMenuOpenDelay,\n subMenuCloseDelay,\n rootPrefixCls: computedPrefixCls,\n updateKeyPath,\n // inlineIndent,\n inlineCollapsed,\n collapsed\n });\n // descendants trigger rootMenu's events\n provide('menuEvent', {\n fireMenuClick,\n fireMenuDeselect,\n fireMenuSelect,\n fireMenuOpenChange\n });\n // #endregion\n\n const { renderChild } = useWrapDom(props.mode, rootMenu, slots);\n\n return {\n rootMenu,\n computedPrefixCls,\n computedMode,\n layoutSiderCollapsed,\n renderChild\n };\n },\n render() {\n return (\n <ul\n ref=\"rootMenu\"\n role={this.role || 'menu'}\n class={[\n `${this.computedPrefixCls}`,\n `${this.computedPrefixCls}-${this.computedMode}`,\n `${this.computedPrefixCls}-root`,\n {\n [`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed\n }\n ]}\n >\n {this.renderChild()}\n </ul>\n );\n }\n});\n"],"names":["defineComponent","name","components","Render","props","menuProps","emits","menuEmits","setup","emit","slots","dropdownContext","inject","undefined","layoutSiderContext","inDrop","collapsed","layoutSiderCollapsed","prefixCls","statePrefixCls","useGlobalConfig","mode","subMenuOpenDelay","subMenuCloseDelay","inlineCollapsed","toRefs","computedPrefixCls","computed","value","warn","selectedKeys","ref","openKeys","inlineOpenKeys","rootMenu","keypath","computedMode","setInlineMode","collapsedChange","val","setTimeout","updateKeyPath","key","type","push","fireMenuClick","event","info","fireItemClick","selectable","fireMenuDeselect","multiple","_selectedKeys","filter","x","item","fireMenuSelect","fireMenuOpenChange","open","_openKeys","watch","provide","isRootMenu","getPopupContainer","parentNode","document","body","originalMode","rootPrefixCls","renderChild","useWrapDom","render","_createVNode","role"],"mappings":"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"}
|
|
@@ -15,11 +15,6 @@ export declare const menuProps: {
|
|
|
15
15
|
default: string;
|
|
16
16
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
17
17
|
};
|
|
18
|
-
theme: {
|
|
19
|
-
type: PropType<"light" | "dark">;
|
|
20
|
-
default: string;
|
|
21
|
-
validator: (val: "light" | "dark") => boolean;
|
|
22
|
-
};
|
|
23
18
|
selectedKeys: {
|
|
24
19
|
type: PropType<(string | number)[]>;
|
|
25
20
|
validator: (val: any[]) => boolean;
|
|
@@ -67,7 +62,6 @@ export interface ParentMenu {
|
|
|
67
62
|
export interface MenuStore {
|
|
68
63
|
mode: ComputedRef<MenuMode>;
|
|
69
64
|
originalMode: Ref<MenuMode>;
|
|
70
|
-
theme: Ref<MenuTheme>;
|
|
71
65
|
selectedKeys: Ref<(string | number)[]>;
|
|
72
66
|
openKeys: Ref<(string | number)[]>;
|
|
73
67
|
subMenuOpenDelay: Ref<number>;
|