@koi-design/uxd-ui 14.0.6 → 14.0.7
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/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/Table/BaseTable.vue.d.ts +0 -19
- package/es/components/Table/BodyTable.vue.d.ts +0 -19
- package/es/components/Table/HeadTable.vue.d.ts +0 -19
- package/es/components/Table/Table.vue.d.ts +0 -38
- package/es/components/Table/TableBox.vue.d.ts +0 -38
- package/es/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
- package/es/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
- package/es/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
- package/es/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
- 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/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/Table/BaseTable.vue.d.ts +0 -19
- package/lib/components/Table/BodyTable.vue.d.ts +0 -19
- package/lib/components/Table/HeadTable.vue.d.ts +0 -19
- package/lib/components/Table/Table.vue.d.ts +0 -38
- package/lib/components/Table/TableBox.vue.d.ts +0 -38
- package/lib/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
- package/lib/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
- package/lib/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
- package/lib/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
- 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/cascader/index.css +1 -1
- 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 +39 -69
- package/styles/components/modal/index.css +1 -1
- 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/cssVariable.css +1 -1
- package/styles/cssVariable.less +8 -7
- package/styles/index.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/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/Table/BaseTable.vue.d.ts +0 -19
- package/types/components/Table/BodyTable.vue.d.ts +0 -19
- package/types/components/Table/HeadTable.vue.d.ts +0 -19
- package/types/components/Table/Table.vue.d.ts +0 -38
- package/types/components/Table/TableBox.vue.d.ts +0 -38
- package/types/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
- package/types/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
- package/types/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
- package/types/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
- 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 +373 -406
- package/uxd-ui.umd.js +372 -405
- package/uxd-ui.umd.min.js +6 -6
|
@@ -14,14 +14,14 @@ export declare const UCard: {
|
|
|
14
14
|
type: BooleanConstructor;
|
|
15
15
|
default: boolean;
|
|
16
16
|
};
|
|
17
|
-
padding: {
|
|
18
|
-
type: NumberConstructor;
|
|
19
|
-
default: number;
|
|
20
|
-
};
|
|
21
17
|
title: {
|
|
22
18
|
type: StringConstructor;
|
|
23
19
|
default: string;
|
|
24
20
|
};
|
|
21
|
+
description: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
default: string;
|
|
24
|
+
};
|
|
25
25
|
icon: {
|
|
26
26
|
type: import("vue").PropType<import("../..").IconPropType>;
|
|
27
27
|
};
|
|
@@ -30,12 +30,12 @@ export declare const UCard: {
|
|
|
30
30
|
default: number;
|
|
31
31
|
};
|
|
32
32
|
}>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
33
|
+
description: string;
|
|
33
34
|
grid: number;
|
|
34
35
|
title: string;
|
|
35
36
|
bordered: boolean;
|
|
36
37
|
disHover: boolean;
|
|
37
38
|
shadow: boolean;
|
|
38
|
-
padding: number;
|
|
39
39
|
}, true, {}, {}, {
|
|
40
40
|
URender: {
|
|
41
41
|
(props: import("../base/Render").RenderProps): import("vue").VNodeChild | import("vue/jsx-runtime").JSX.Element;
|
|
@@ -196,14 +196,14 @@ export declare const UCard: {
|
|
|
196
196
|
type: BooleanConstructor;
|
|
197
197
|
default: boolean;
|
|
198
198
|
};
|
|
199
|
-
padding: {
|
|
200
|
-
type: NumberConstructor;
|
|
201
|
-
default: number;
|
|
202
|
-
};
|
|
203
199
|
title: {
|
|
204
200
|
type: StringConstructor;
|
|
205
201
|
default: string;
|
|
206
202
|
};
|
|
203
|
+
description: {
|
|
204
|
+
type: StringConstructor;
|
|
205
|
+
default: string;
|
|
206
|
+
};
|
|
207
207
|
icon: {
|
|
208
208
|
type: import("vue").PropType<import("../..").IconPropType>;
|
|
209
209
|
};
|
|
@@ -212,12 +212,12 @@ export declare const UCard: {
|
|
|
212
212
|
default: number;
|
|
213
213
|
};
|
|
214
214
|
}>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
|
|
215
|
+
description: string;
|
|
215
216
|
grid: number;
|
|
216
217
|
title: string;
|
|
217
218
|
bordered: boolean;
|
|
218
219
|
disHover: boolean;
|
|
219
220
|
shadow: boolean;
|
|
220
|
-
padding: number;
|
|
221
221
|
}>;
|
|
222
222
|
__isFragment?: never;
|
|
223
223
|
__isTeleport?: never;
|
|
@@ -235,14 +235,14 @@ export declare const UCard: {
|
|
|
235
235
|
type: BooleanConstructor;
|
|
236
236
|
default: boolean;
|
|
237
237
|
};
|
|
238
|
-
padding: {
|
|
239
|
-
type: NumberConstructor;
|
|
240
|
-
default: number;
|
|
241
|
-
};
|
|
242
238
|
title: {
|
|
243
239
|
type: StringConstructor;
|
|
244
240
|
default: string;
|
|
245
241
|
};
|
|
242
|
+
description: {
|
|
243
|
+
type: StringConstructor;
|
|
244
|
+
default: string;
|
|
245
|
+
};
|
|
246
246
|
icon: {
|
|
247
247
|
type: import("vue").PropType<import("../..").IconPropType>;
|
|
248
248
|
};
|
|
@@ -251,12 +251,12 @@ export declare const UCard: {
|
|
|
251
251
|
default: number;
|
|
252
252
|
};
|
|
253
253
|
}>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
254
|
+
description: string;
|
|
254
255
|
grid: number;
|
|
255
256
|
title: string;
|
|
256
257
|
bordered: boolean;
|
|
257
258
|
disHover: boolean;
|
|
258
259
|
shadow: boolean;
|
|
259
|
-
padding: number;
|
|
260
260
|
}, {}, string, {}, {
|
|
261
261
|
URender: {
|
|
262
262
|
(props: import("../base/Render").RenderProps): import("vue").VNodeChild | import("vue/jsx-runtime").JSX.Element;
|
|
@@ -224,13 +224,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
224
224
|
"disabled-date": _ctx.disabledDate,
|
|
225
225
|
"disabled-time": _ctx.disabledTime,
|
|
226
226
|
"time-options": _ctx.timeOptions,
|
|
227
|
-
"show-confirm": _ctx.showConfirm,
|
|
228
227
|
shortcuts: _ctx.shortcuts,
|
|
229
228
|
"show-time-clear": _ctx.showTimeClear,
|
|
230
229
|
direction: _ctx.computedDirection,
|
|
231
230
|
onSelect: _ctx.onSelected,
|
|
232
231
|
onPanelChange: _ctx.onPanelChange
|
|
233
|
-
}, null, 8, ["prefix-cls", "locale", "value", "open", "mode", "disabled-date", "disabled-time", "time-options", "
|
|
232
|
+
}, null, 8, ["prefix-cls", "locale", "value", "open", "mode", "disabled-date", "disabled-time", "time-options", "shortcuts", "show-time-clear", "direction", "onSelect", "onPanelChange"])) : (vue.openBlock(), vue.createBlock(_component_DateRangePanel, {
|
|
234
233
|
key: 1,
|
|
235
234
|
ref: "panelRef",
|
|
236
235
|
"prefix-cls": _ctx.prefixCls,
|
|
@@ -241,7 +240,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
241
240
|
"disabled-time": _ctx.disabledTime,
|
|
242
241
|
"time-options": _ctx.timeOptions,
|
|
243
242
|
"default-time": _ctx.defaultTime,
|
|
244
|
-
"show-confirm": _ctx.showConfirm,
|
|
245
243
|
mode: _ctx.singeType,
|
|
246
244
|
shortcuts: _ctx.shortcuts,
|
|
247
245
|
"limit-duration": _ctx.limitDuration,
|
|
@@ -249,7 +247,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
249
247
|
direction: _ctx.computedDirection,
|
|
250
248
|
onSelect: _ctx.onSelected,
|
|
251
249
|
onPanelChange: _ctx.onPanelChange
|
|
252
|
-
}, null, 8, ["prefix-cls", "locale", "value", "open", "disabled-date", "disabled-time", "time-options", "default-time", "
|
|
250
|
+
}, null, 8, ["prefix-cls", "locale", "value", "open", "disabled-date", "disabled-time", "time-options", "default-time", "mode", "shortcuts", "limit-duration", "show-time-clear", "direction", "onSelect", "onPanelChange"]))
|
|
253
251
|
]),
|
|
254
252
|
default: vue.withCtx(() => [
|
|
255
253
|
vue.createElementVNode("div", vue.mergeProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../../src/components/DatePicker/DatePicker.vue"],"sourcesContent":["<template>\n <Popup\n :visible=\"stateOpen\"\n :prefix-cls=\"`${prefixCls}-dropdown`\"\n :placement=\"computedPlacement\"\n transition-name=\"slide-up\"\n :popup-class=\"`${dropdownMenuClass || ''}`\"\n :click-outside=\"onClickOutside\"\n :get-popup-container=\"getPopupContainer\"\n :modifiers=\"modifiers\"\n >\n <div\n :class=\"{\n [`${prefixCls}-picker`]: true,\n [`${prefixCls}-picker-variant-${variant}`]: true,\n [`${prefixCls}-picker-disabled`]: disabled,\n [`${prefixCls}-picker-${size}`]: size,\n [`${prefixCls}-picker-open`]: stateOpen,\n [`${prefixCls}-picker-range`]: isRange,\n [`${prefixCls}-picker-clearable`]: showClear,\n [`${prefixCls}-picker-rlt`]: computedDirection === 'rtl'\n }\"\n v-bind=\"$attrs\"\n @click=\"onInputContainerClick\"\n >\n <label\n v-if=\"label\"\n :class=\"{\n [`${prefixCls}-picker-label`]: true,\n [`${prefixCls}-picker-label-colon`]: labelColon,\n [`${prefixCls}-picker-label-required`]: required\n }\"\n >\n {{ label }}\n </label>\n\n <slot :size=\"size\" :mode=\"singeType\" :value=\"(stateValue as any)\" :change=\"onInputChange\" :clear=\"onClear\">\n <DateRangeInput\n v-if=\"isRange\"\n ref=\"inputRef\"\n :prefix-cls=\"prefixCls\"\n :format=\"format\"\n :separator=\"$slots.separator ? $slots.separator : separator\"\n :disabled=\"disabled\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :size=\"size\"\n :mode=\"singeType\"\n :locale=\"computedLocale\"\n :placeholder=\"Array.isArray(placeholder) ? placeholder : undefined\"\n :value=\"(stateValue as any)\"\n :limit-duration=\"limitDuration\"\n @change=\"onInputChange\"\n />\n\n <DatePickerInput\n v-else\n ref=\"inputRef\"\n :prefix-cls=\"prefixCls\"\n :format=\"format\"\n :disabled=\"disabled\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :size=\"size\"\n :mode=\"singeType\"\n :open=\"stateOpen\"\n :locale=\"computedLocale\"\n :placeholder=\"!Array.isArray(placeholder) ? placeholder : undefined\"\n :value=\"(stateValue as any)\"\n :panel=\"statePanel\"\n @change=\"onInputChange\"\n @focus=\"onInputFocus\"\n @blur=\"onInputBlur\"\n />\n </slot>\n <template v-if=\"!$slots.default\">\n <span v-if=\"showClear\" :class=\"`${prefixCls}-picker-clear`\" @mousedown.prevent @click=\"onClear\">\n <UIcon>\n <component :is=\"clearIcon\" v-if=\"clearIcon\" />\n <CircleX v-else />\n </UIcon>\n </span>\n <span :class=\"`${prefixCls}-picker-icon`\">\n <UIcon>\n <component :is=\"suffixIcon\" v-if=\"suffixIcon\" />\n <Calendar v-else />\n </UIcon>\n </span>\n </template>\n </div>\n <template #popup>\n <DatePickerPanel\n v-if=\"!isRange\"\n ref=\"panelRef\"\n :prefix-cls=\"prefixCls\"\n :locale=\"computedLocale\"\n :value=\"(stateValue as any)\"\n :open=\"stateOpen\"\n :mode=\"singeType\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :time-options=\"timeOptions\"\n :show-confirm=\"showConfirm\"\n :shortcuts=\"shortcuts\"\n :show-time-clear=\"showTimeClear\"\n :direction=\"computedDirection\"\n @select=\"onSelected\"\n @panel-change=\"onPanelChange\"\n />\n <DateRangePanel\n v-else\n ref=\"panelRef\"\n :prefix-cls=\"prefixCls\"\n :locale=\"computedLocale\"\n :value=\"(stateValue as any)\"\n :open=\"stateOpen\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :time-options=\"timeOptions\"\n :default-time=\"defaultTime\"\n :show-confirm=\"showConfirm\"\n :mode=\"singeType\"\n :shortcuts=\"shortcuts\"\n :limit-duration=\"limitDuration\"\n :show-time-clear=\"showTimeClear\"\n :direction=\"computedDirection\"\n @select=\"onSelected\"\n @panel-change=\"onPanelChange\"\n />\n </template>\n </Popup>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, watch, computed, onMounted, provide, inject, watchEffect } from 'vue';\nimport { CircleX, Calendar } from 'lucide-vue-next';\n\nimport Popup from '@uxd-ui/components/Popup';\nimport UIcon from '@uxd-ui/components/Icon';\n\nimport warning from '../../utils/warn';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport DatePickerInput from './Trigger/DatePickerInput.vue';\nimport DateRangeInput from './Trigger/DateRangeInput.vue';\nimport DatePickerPanel from './Panel/DatePickerPanel.vue';\nimport DateRangePanel from './Panel/DateRangePanel.vue';\nimport { FormItemKey } from '../Form';\nimport { datePickerProps, datePickerEmits } from './DatePicker.type';\nimport type { DatePickerSingleValueType, DatePickerValueType, DatePickerSingleType } from './DatePicker.type';\nimport type { FormItemContext } from '../Form/Form.type';\nimport { formatDate } from './hooks/useFormat';\n\nexport default defineComponent({\n name: 'UDatePicker',\n components: {\n Popup,\n UIcon,\n DatePickerInput,\n DateRangeInput,\n DatePickerPanel,\n DateRangePanel,\n CircleX,\n Calendar\n },\n inheritAttrs: false,\n props: datePickerProps,\n emits: datePickerEmits,\n setup(props, { emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('date-picker');\n const inputRef = ref<any | null>(null);\n const panelRef = ref(null);\n\n // ========== computed ==============\n // #region\n const computedLocale = computed(() => {\n return props.locale || globalConfig.locale.datePicker;\n });\n\n const isRange = computed(() => {\n return props.type.indexOf('Range') > 0;\n });\n\n const singeType = computed(() => {\n return (isRange.value ? props.type.replace('Range', '') : props.type) as DatePickerSingleType;\n });\n\n const stateValue = ref<DatePickerValueType>();\n\n const showClear = computed(() => {\n if (props.disabled) {\n return false;\n }\n if (!isRange.value) {\n return props.clearable && stateValue.value !== null;\n }\n return props.clearable && (stateValue.value as DatePickerSingleValueType[]).every((x) => !!x);\n });\n\n const computedDirection = computed<'ltr' | 'rtl'>(() => {\n return props.direction || globalConfig.direction || 'ltr';\n });\n\n const computedPlacement = computed(() => {\n if (props.placement) {\n return props.placement;\n }\n return computedDirection.value === 'rtl' ? 'bottom-end' : 'bottom-start';\n });\n\n // #endregion\n\n // ============ open =================\n // #region\n const stateOpen = ref(props.open);\n const setOpened = (val: boolean, isConfirm = false) => {\n if (props.open === undefined) {\n stateOpen.value = val;\n }\n emit('update:open', val);\n emit('open-change', val);\n if (isConfirm) {\n emit('confirm');\n }\n };\n\n onMounted(() => {\n watch(\n () => props.open,\n (val) => {\n stateOpen.value = val;\n if (val && inputRef.value) {\n (inputRef.value as any).focus();\n }\n }\n );\n });\n\n const onClickOutside = () => {\n setOpened(false);\n };\n\n const onInputContainerClick = () => {\n if (props.disabled) {\n return;\n }\n if (!stateOpen.value) {\n setOpened(true);\n }\n };\n // #endregion\n\n // ========== value ==============\n // #region\n // watch(\n // () => props.modelValue,\n // (val) => {\n // if (val) {\n // if (isRange.value && !Array.isArray(val)) {\n // warning(' modeValue must be array when type is Range');\n // stateValue.value = [null, null];\n // return;\n // }\n // stateValue.value = val;\n // } else {\n // stateValue.value = isRange.value ? [null, null] : null;\n // }\n // },\n // { immediate: true }\n // )\n // FIX 2021-09-22\n watchEffect(() => {\n const val = props.modelValue;\n if (val) {\n if (isRange.value && !Array.isArray(val)) {\n warning(' modeValue must be array when type is Range');\n stateValue.value = [null, null];\n return;\n }\n stateValue.value = val;\n } else {\n stateValue.value = isRange.value ? [null, null] : null;\n }\n });\n\n const { onFieldChange } = inject<FormItemContext>(FormItemKey, {} as FormItemContext);\n const setValue = (val: Date | null | (Date | null)[]) => {\n let rst: DatePickerValueType = val;\n if (props.valueFormat) {\n if (Array.isArray(val)) {\n rst = val.map((x) => formatDate(x, props.valueFormat));\n } else {\n rst = formatDate(val, props.valueFormat);\n }\n }\n\n if (props.modelValue === undefined) {\n stateValue.value = rst;\n }\n\n emit('update:modelValue', rst);\n emit('change', rst);\n if (onFieldChange) {\n onFieldChange(val);\n }\n };\n\n const onSelected = (val: Date | null | (Date | null)[]) => {\n setValue(val);\n if (props.autoClose && !props.type.includes('dateTime')) {\n setOpened(false);\n }\n };\n\n const onClear = () => {\n setValue(isRange.value ? [null, null] : null);\n setOpened(false);\n emit('clear');\n };\n\n // #endregion\n\n // ======= input event ==========\n // #region\n const onInputChange = (value: Date | null | (Date | null)[]) => {\n setValue(value);\n };\n\n const onInputFocus = (e: Event) => {\n // setOpened(true);\n emit('focus', e);\n };\n\n const onInputBlur = (e: Event) => {\n emit('blur', e);\n };\n\n // #endregion\n\n // ======== panel ============\n // #region\n const statePanel = ref();\n const initPanel = props.type.replace('Range', '');\n if (isRange.value) {\n statePanel.value = [initPanel, initPanel];\n } else {\n statePanel.value = initPanel;\n }\n const onPanelChange = (panel: string, side?: string) => {\n if (!side) {\n statePanel.value = panel;\n } else {\n const index = side === 'left' ? 0 : 1;\n statePanel.value = statePanel.value.splice(index, 1, panel);\n }\n };\n // #endregion\n\n provide('datePickerContext', {\n setOpened\n });\n\n return {\n prefixCls,\n panelRef,\n inputRef,\n computedLocale,\n stateOpen,\n computedPlacement,\n computedDirection,\n stateValue,\n statePanel,\n showClear,\n isRange,\n singeType,\n onClear,\n onInputContainerClick,\n onClickOutside,\n onInputChange,\n onInputFocus,\n onInputBlur,\n onSelected,\n onPanelChange\n };\n }\n});\n</script>\n"],"names":["defineComponent","Popup","UIcon","DatePickerInput","DateRangeInput","DatePickerPanel","DateRangePanel","CircleX","Calendar","datePickerProps","datePickerEmits","useGlobalConfig","ref","computed","inject","FormItemKey","formatDate","_createBlock","_withCtx","_createElementVNode","_mergeProps","_createElementBlock","_normalizeClass","_renderSlot","_Fragment","_createVNode","_resolveDynamicComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../../src/components/DatePicker/DatePicker.vue"],"sourcesContent":["<template>\n <Popup\n :visible=\"stateOpen\"\n :prefix-cls=\"`${prefixCls}-dropdown`\"\n :placement=\"computedPlacement\"\n transition-name=\"slide-up\"\n :popup-class=\"`${dropdownMenuClass || ''}`\"\n :click-outside=\"onClickOutside\"\n :get-popup-container=\"getPopupContainer\"\n :modifiers=\"modifiers\"\n >\n <div\n :class=\"{\n [`${prefixCls}-picker`]: true,\n [`${prefixCls}-picker-variant-${variant}`]: true,\n [`${prefixCls}-picker-disabled`]: disabled,\n [`${prefixCls}-picker-${size}`]: size,\n [`${prefixCls}-picker-open`]: stateOpen,\n [`${prefixCls}-picker-range`]: isRange,\n [`${prefixCls}-picker-clearable`]: showClear,\n [`${prefixCls}-picker-rlt`]: computedDirection === 'rtl'\n }\"\n v-bind=\"$attrs\"\n @click=\"onInputContainerClick\"\n >\n <label\n v-if=\"label\"\n :class=\"{\n [`${prefixCls}-picker-label`]: true,\n [`${prefixCls}-picker-label-colon`]: labelColon,\n [`${prefixCls}-picker-label-required`]: required\n }\"\n >\n {{ label }}\n </label>\n\n <slot :size=\"size\" :mode=\"singeType\" :value=\"(stateValue as any)\" :change=\"onInputChange\" :clear=\"onClear\">\n <DateRangeInput\n v-if=\"isRange\"\n ref=\"inputRef\"\n :prefix-cls=\"prefixCls\"\n :format=\"format\"\n :separator=\"$slots.separator ? $slots.separator : separator\"\n :disabled=\"disabled\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :size=\"size\"\n :mode=\"singeType\"\n :locale=\"computedLocale\"\n :placeholder=\"Array.isArray(placeholder) ? placeholder : undefined\"\n :value=\"(stateValue as any)\"\n :limit-duration=\"limitDuration\"\n @change=\"onInputChange\"\n />\n\n <DatePickerInput\n v-else\n ref=\"inputRef\"\n :prefix-cls=\"prefixCls\"\n :format=\"format\"\n :disabled=\"disabled\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :size=\"size\"\n :mode=\"singeType\"\n :open=\"stateOpen\"\n :locale=\"computedLocale\"\n :placeholder=\"!Array.isArray(placeholder) ? placeholder : undefined\"\n :value=\"(stateValue as any)\"\n :panel=\"statePanel\"\n @change=\"onInputChange\"\n @focus=\"onInputFocus\"\n @blur=\"onInputBlur\"\n />\n </slot>\n <template v-if=\"!$slots.default\">\n <span v-if=\"showClear\" :class=\"`${prefixCls}-picker-clear`\" @mousedown.prevent @click=\"onClear\">\n <UIcon>\n <component :is=\"clearIcon\" v-if=\"clearIcon\" />\n <CircleX v-else />\n </UIcon>\n </span>\n <span :class=\"`${prefixCls}-picker-icon`\">\n <UIcon>\n <component :is=\"suffixIcon\" v-if=\"suffixIcon\" />\n <Calendar v-else />\n </UIcon>\n </span>\n </template>\n </div>\n <template #popup>\n <DatePickerPanel\n v-if=\"!isRange\"\n ref=\"panelRef\"\n :prefix-cls=\"prefixCls\"\n :locale=\"computedLocale\"\n :value=\"(stateValue as any)\"\n :open=\"stateOpen\"\n :mode=\"singeType\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :time-options=\"timeOptions\"\n :shortcuts=\"shortcuts\"\n :show-time-clear=\"showTimeClear\"\n :direction=\"computedDirection\"\n @select=\"onSelected\"\n @panel-change=\"onPanelChange\"\n />\n <DateRangePanel\n v-else\n ref=\"panelRef\"\n :prefix-cls=\"prefixCls\"\n :locale=\"computedLocale\"\n :value=\"(stateValue as any)\"\n :open=\"stateOpen\"\n :disabled-date=\"disabledDate\"\n :disabled-time=\"disabledTime\"\n :time-options=\"timeOptions\"\n :default-time=\"defaultTime\"\n :mode=\"singeType\"\n :shortcuts=\"shortcuts\"\n :limit-duration=\"limitDuration\"\n :show-time-clear=\"showTimeClear\"\n :direction=\"computedDirection\"\n @select=\"onSelected\"\n @panel-change=\"onPanelChange\"\n />\n </template>\n </Popup>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, watch, computed, onMounted, provide, inject, watchEffect } from 'vue';\nimport { CircleX, Calendar } from 'lucide-vue-next';\n\nimport Popup from '@uxd-ui/components/Popup';\nimport UIcon from '@uxd-ui/components/Icon';\n\nimport warning from '../../utils/warn';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport DatePickerInput from './Trigger/DatePickerInput.vue';\nimport DateRangeInput from './Trigger/DateRangeInput.vue';\nimport DatePickerPanel from './Panel/DatePickerPanel.vue';\nimport DateRangePanel from './Panel/DateRangePanel.vue';\nimport { FormItemKey } from '../Form';\nimport { datePickerProps, datePickerEmits } from './DatePicker.type';\nimport type { DatePickerSingleValueType, DatePickerValueType, DatePickerSingleType } from './DatePicker.type';\nimport type { FormItemContext } from '../Form/Form.type';\nimport { formatDate } from './hooks/useFormat';\n\nexport default defineComponent({\n name: 'UDatePicker',\n components: {\n Popup,\n UIcon,\n DatePickerInput,\n DateRangeInput,\n DatePickerPanel,\n DateRangePanel,\n CircleX,\n Calendar\n },\n inheritAttrs: false,\n props: datePickerProps,\n emits: datePickerEmits,\n setup(props, { emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('date-picker');\n const inputRef = ref<any | null>(null);\n const panelRef = ref(null);\n\n // ========== computed ==============\n // #region\n const computedLocale = computed(() => {\n return props.locale || globalConfig.locale.datePicker;\n });\n\n const isRange = computed(() => {\n return props.type.indexOf('Range') > 0;\n });\n\n const singeType = computed(() => {\n return (isRange.value ? props.type.replace('Range', '') : props.type) as DatePickerSingleType;\n });\n\n const stateValue = ref<DatePickerValueType>();\n\n const showClear = computed(() => {\n if (props.disabled) {\n return false;\n }\n if (!isRange.value) {\n return props.clearable && stateValue.value !== null;\n }\n return props.clearable && (stateValue.value as DatePickerSingleValueType[]).every((x) => !!x);\n });\n\n const computedDirection = computed<'ltr' | 'rtl'>(() => {\n return props.direction || globalConfig.direction || 'ltr';\n });\n\n const computedPlacement = computed(() => {\n if (props.placement) {\n return props.placement;\n }\n return computedDirection.value === 'rtl' ? 'bottom-end' : 'bottom-start';\n });\n\n // #endregion\n\n // ============ open =================\n // #region\n const stateOpen = ref(props.open);\n const setOpened = (val: boolean, isConfirm = false) => {\n if (props.open === undefined) {\n stateOpen.value = val;\n }\n emit('update:open', val);\n emit('open-change', val);\n if (isConfirm) {\n emit('confirm');\n }\n };\n\n onMounted(() => {\n watch(\n () => props.open,\n (val) => {\n stateOpen.value = val;\n if (val && inputRef.value) {\n (inputRef.value as any).focus();\n }\n }\n );\n });\n\n const onClickOutside = () => {\n setOpened(false);\n };\n\n const onInputContainerClick = () => {\n if (props.disabled) {\n return;\n }\n if (!stateOpen.value) {\n setOpened(true);\n }\n };\n // #endregion\n\n // ========== value ==============\n // #region\n // watch(\n // () => props.modelValue,\n // (val) => {\n // if (val) {\n // if (isRange.value && !Array.isArray(val)) {\n // warning(' modeValue must be array when type is Range');\n // stateValue.value = [null, null];\n // return;\n // }\n // stateValue.value = val;\n // } else {\n // stateValue.value = isRange.value ? [null, null] : null;\n // }\n // },\n // { immediate: true }\n // )\n // FIX 2021-09-22\n watchEffect(() => {\n const val = props.modelValue;\n if (val) {\n if (isRange.value && !Array.isArray(val)) {\n warning(' modeValue must be array when type is Range');\n stateValue.value = [null, null];\n return;\n }\n stateValue.value = val;\n } else {\n stateValue.value = isRange.value ? [null, null] : null;\n }\n });\n\n const { onFieldChange } = inject<FormItemContext>(FormItemKey, {} as FormItemContext);\n const setValue = (val: Date | null | (Date | null)[]) => {\n let rst: DatePickerValueType = val;\n if (props.valueFormat) {\n if (Array.isArray(val)) {\n rst = val.map((x) => formatDate(x, props.valueFormat));\n } else {\n rst = formatDate(val, props.valueFormat);\n }\n }\n\n if (props.modelValue === undefined) {\n stateValue.value = rst;\n }\n\n emit('update:modelValue', rst);\n emit('change', rst);\n if (onFieldChange) {\n onFieldChange(val);\n }\n };\n\n const onSelected = (val: Date | null | (Date | null)[]) => {\n setValue(val);\n if (props.autoClose && !props.type.includes('dateTime')) {\n setOpened(false);\n }\n };\n\n const onClear = () => {\n setValue(isRange.value ? [null, null] : null);\n setOpened(false);\n emit('clear');\n };\n\n // #endregion\n\n // ======= input event ==========\n // #region\n const onInputChange = (value: Date | null | (Date | null)[]) => {\n setValue(value);\n };\n\n const onInputFocus = (e: Event) => {\n // setOpened(true);\n emit('focus', e);\n };\n\n const onInputBlur = (e: Event) => {\n emit('blur', e);\n };\n\n // #endregion\n\n // ======== panel ============\n // #region\n const statePanel = ref();\n const initPanel = props.type.replace('Range', '');\n if (isRange.value) {\n statePanel.value = [initPanel, initPanel];\n } else {\n statePanel.value = initPanel;\n }\n const onPanelChange = (panel: string, side?: string) => {\n if (!side) {\n statePanel.value = panel;\n } else {\n const index = side === 'left' ? 0 : 1;\n statePanel.value = statePanel.value.splice(index, 1, panel);\n }\n };\n // #endregion\n\n provide('datePickerContext', {\n setOpened\n });\n\n return {\n prefixCls,\n panelRef,\n inputRef,\n computedLocale,\n stateOpen,\n computedPlacement,\n computedDirection,\n stateValue,\n statePanel,\n showClear,\n isRange,\n singeType,\n onClear,\n onInputContainerClick,\n onClickOutside,\n onInputChange,\n onInputFocus,\n onInputBlur,\n onSelected,\n onPanelChange\n };\n }\n});\n</script>\n"],"names":["defineComponent","Popup","UIcon","DatePickerInput","DateRangeInput","DatePickerPanel","DateRangePanel","CircleX","Calendar","datePickerProps","datePickerEmits","useGlobalConfig","ref","computed","inject","FormItemKey","formatDate","_createBlock","_withCtx","_createElementVNode","_mergeProps","_createElementBlock","_normalizeClass","_renderSlot","_Fragment","_createVNode","_resolveDynamicComponent"],"mappings":"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"}
|
|
@@ -226,6 +226,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
226
226
|
options: _ctx.shortcuts.map((shortcut) => ({ label: shortcut.text, value: shortcut.text, func: shortcut.value })),
|
|
227
227
|
placeholder: _ctx.locale.shortcutsPlaceholder,
|
|
228
228
|
onChange: _cache[1] || (_cache[1] = (value, option) => _ctx.onShortcutClick({
|
|
229
|
+
text: value,
|
|
229
230
|
value: option.func
|
|
230
231
|
}))
|
|
231
232
|
}, null, 8, ["modelValue", "options", "placeholder"])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerPanel.js","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":["defineComponent","DatePanel","MonthPanel","YearPanel","QuarterPanel","USelect","ref","dayjs","inject","computed","getTodayTime","isAllowedDateTime","_createElementBlock","_normalizeClass","_createCommentVNode","_createVNode","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerPanel.js","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":["defineComponent","DatePanel","MonthPanel","YearPanel","QuarterPanel","USelect","ref","dayjs","inject","computed","getTodayTime","isAllowedDateTime","_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
|
};
|
|
@@ -15,7 +15,7 @@ const siderProps = {
|
|
|
15
15
|
type: Boolean,
|
|
16
16
|
default: void 0
|
|
17
17
|
},
|
|
18
|
-
|
|
18
|
+
isRight: {
|
|
19
19
|
type: Boolean,
|
|
20
20
|
default: false
|
|
21
21
|
},
|
|
@@ -33,7 +33,7 @@ const siderProps = {
|
|
|
33
33
|
type: [Number, String],
|
|
34
34
|
default: 200
|
|
35
35
|
},
|
|
36
|
-
|
|
36
|
+
collapsedWidth: {
|
|
37
37
|
type: [Number, String],
|
|
38
38
|
default: 80
|
|
39
39
|
},
|
|
@@ -41,11 +41,6 @@ const siderProps = {
|
|
|
41
41
|
type: String,
|
|
42
42
|
validator: propsValidators.oneOf(responsiveObserve.responsiveArray)
|
|
43
43
|
},
|
|
44
|
-
theme: {
|
|
45
|
-
type: String,
|
|
46
|
-
default: "dark",
|
|
47
|
-
validator: propsValidators.oneOf(siderTheme)
|
|
48
|
-
},
|
|
49
44
|
background: {
|
|
50
45
|
type: String
|
|
51
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.type.js","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.js","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":["oneOf","responsiveArray"],"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,WAAWA,sBAAMC,iCAAe;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;;;;;;"}
|
|
@@ -23,7 +23,10 @@ const _sfc_main = vue.defineComponent({
|
|
|
23
23
|
name: "USider",
|
|
24
24
|
components: {
|
|
25
25
|
UIcon: index.UIcon,
|
|
26
|
-
PanelLeft: lucideVueNext.PanelLeft
|
|
26
|
+
PanelLeft: lucideVueNext.PanelLeft,
|
|
27
|
+
PanelRight: lucideVueNext.PanelRight,
|
|
28
|
+
ChevronLeft: lucideVueNext.ChevronLeft,
|
|
29
|
+
ChevronRight: lucideVueNext.ChevronRight
|
|
27
30
|
},
|
|
28
31
|
props: Layout_type.siderProps,
|
|
29
32
|
emits: Layout_type.siderEmits,
|
|
@@ -50,7 +53,6 @@ const _sfc_main = vue.defineComponent({
|
|
|
50
53
|
const isBreakpoint = vue.ref(false);
|
|
51
54
|
let mql;
|
|
52
55
|
const responsiveHandler = ({ matches }) => {
|
|
53
|
-
emit("breakpoint", matches);
|
|
54
56
|
isBreakpoint.value = matches;
|
|
55
57
|
if (matches !== stateCollapse.value) {
|
|
56
58
|
setCollapsed(matches, "responsive");
|
|
@@ -58,7 +60,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
58
60
|
};
|
|
59
61
|
vue.onMounted(() => {
|
|
60
62
|
vue.nextTick(() => {
|
|
61
|
-
if (typeof window
|
|
63
|
+
if (typeof window !== "undefined") {
|
|
62
64
|
if (!!matchMedia && props.breakpoint) {
|
|
63
65
|
mql = matchMedia(responsiveObserve.breakpointMap[props.breakpoint]);
|
|
64
66
|
}
|
|
@@ -67,7 +69,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
67
69
|
} catch (error) {
|
|
68
70
|
mql == null ? void 0 : mql.addListener(responsiveHandler);
|
|
69
71
|
}
|
|
70
|
-
|
|
72
|
+
if (mql) {
|
|
73
|
+
responsiveHandler(mql);
|
|
74
|
+
}
|
|
71
75
|
}
|
|
72
76
|
if (siderHook.attachSider) {
|
|
73
77
|
siderHook.attachSider(uniqueId);
|
|
@@ -89,12 +93,12 @@ const _sfc_main = vue.defineComponent({
|
|
|
89
93
|
const siderWidth = vue.computed(() => {
|
|
90
94
|
let ret = getPixer(props.width);
|
|
91
95
|
if (stateCollapse.value) {
|
|
92
|
-
ret = getPixer(props.
|
|
96
|
+
ret = getPixer(props.collapsedWidth);
|
|
93
97
|
}
|
|
94
98
|
return ret;
|
|
95
99
|
});
|
|
96
100
|
const isZeroCollapse = vue.computed(() => {
|
|
97
|
-
return parseFloat(String(props.
|
|
101
|
+
return parseFloat(String(props.collapsedWidth)) === 0 || props.zeroTrigger;
|
|
98
102
|
});
|
|
99
103
|
const showZeroTrigger = vue.computed(() => {
|
|
100
104
|
return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && isZeroCollapse.value;
|
|
@@ -106,16 +110,16 @@ const _sfc_main = vue.defineComponent({
|
|
|
106
110
|
if (props.triggerIcon) {
|
|
107
111
|
return props.triggerIcon;
|
|
108
112
|
}
|
|
109
|
-
return props.
|
|
113
|
+
return props.isRight ? lucideVueNext.PanelLeft : lucideVueNext.PanelRight;
|
|
110
114
|
});
|
|
111
115
|
const handleToggle = () => {
|
|
112
116
|
const collapsed = !stateCollapse.value;
|
|
113
117
|
setCollapsed(collapsed, "triggerClick");
|
|
114
118
|
};
|
|
115
|
-
const {
|
|
119
|
+
const { collapsedWidth } = vue.toRefs(props);
|
|
116
120
|
vue.provide("layoutSiderContext", {
|
|
117
121
|
collapsed: stateCollapse,
|
|
118
|
-
|
|
122
|
+
collapsedWidth
|
|
119
123
|
});
|
|
120
124
|
return {
|
|
121
125
|
prefixCls,
|
|
@@ -131,7 +135,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
131
135
|
});
|
|
132
136
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
133
137
|
var _a;
|
|
134
|
-
const
|
|
138
|
+
const _component_ChevronRight = vue.resolveComponent("ChevronRight");
|
|
139
|
+
const _component_ChevronLeft = vue.resolveComponent("ChevronLeft");
|
|
135
140
|
const _component_UIcon = vue.resolveComponent("UIcon");
|
|
136
141
|
return vue.openBlock(), vue.createElementBlock("aside", {
|
|
137
142
|
style: vue.normalizeStyle({
|
|
@@ -143,8 +148,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
143
148
|
}),
|
|
144
149
|
class: vue.normalizeClass([
|
|
145
150
|
_ctx.prefixCls,
|
|
146
|
-
`${_ctx.prefixCls}-${_ctx.
|
|
147
|
-
`${_ctx.prefixCls}-${_ctx.reverseArrow ? "right" : "left"}`,
|
|
151
|
+
`${_ctx.prefixCls}-${_ctx.isRight ? "right" : "left"}`,
|
|
148
152
|
{
|
|
149
153
|
[`${_ctx.prefixCls}-collapsed`]: !!_ctx.stateCollapse,
|
|
150
154
|
[`${_ctx.prefixCls}-has-trigger`]: _ctx.collapsible && !_ctx.hideTrigger && !_ctx.isZeroCollapse,
|
|
@@ -154,12 +158,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
154
158
|
}, [
|
|
155
159
|
_ctx.showZeroTrigger ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
156
160
|
key: 0,
|
|
157
|
-
class: vue.normalizeClass([`${_ctx.prefixCls}-zero-trigger`, `${_ctx.prefixCls}-zero-trigger-${_ctx.
|
|
161
|
+
class: vue.normalizeClass([`${_ctx.prefixCls}-zero-trigger`, `${_ctx.prefixCls}-zero-trigger-${_ctx.isRight ? "right" : "left"}`]),
|
|
158
162
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleToggle && _ctx.handleToggle(...args))
|
|
159
163
|
}, [
|
|
160
164
|
vue.createVNode(_component_UIcon, null, {
|
|
161
165
|
default: vue.withCtx(() => [
|
|
162
|
-
_ctx.
|
|
166
|
+
_ctx.isRight ? (vue.openBlock(), vue.createBlock(_component_ChevronRight, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_ChevronLeft, { key: 1 }))
|
|
163
167
|
]),
|
|
164
168
|
_: 1
|
|
165
169
|
})
|
|
@@ -174,7 +178,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
174
178
|
], 2),
|
|
175
179
|
_ctx.showBottomTrigger ? vue.renderSlot(_ctx.$slots, "trigger", { key: 1 }, () => [
|
|
176
180
|
vue.createElementVNode("div", {
|
|
177
|
-
class: vue.normalizeClass([`${_ctx.prefixCls}-trigger`, `${_ctx.prefixCls}-trigger-${_ctx.
|
|
181
|
+
class: vue.normalizeClass([`${_ctx.prefixCls}-trigger`, `${_ctx.prefixCls}-trigger-${_ctx.isRight ? "right" : "left"}`]),
|
|
178
182
|
style: vue.normalizeStyle({ width: _ctx.siderWidth }),
|
|
179
183
|
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleToggle && _ctx.handleToggle(...args))
|
|
180
184
|
}, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sider.js","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.js","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":["isNumeric","defineComponent","UIcon","PanelLeft","PanelRight","ChevronLeft","ChevronRight","siderProps","siderEmits","useGlobalConfig","inject","ref","breakpointMap","computed","toRefs","_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;
|