shared.mjs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { buildProps, definePropType } from '../../../../utils/vue/props/runtime.mjs';
  2. import { datePickTypes } from '../../../../constants/date.mjs';
  3. import { isArray } from '@vue/shared';
  4. const selectionModes = [
  5. "date",
  6. "dates",
  7. "year",
  8. "years",
  9. "month",
  10. "months",
  11. "week",
  12. "range"
  13. ];
  14. const datePickerSharedProps = buildProps({
  15. disabledDate: {
  16. type: definePropType(Function)
  17. },
  18. date: {
  19. type: definePropType(Object),
  20. required: true
  21. },
  22. minDate: {
  23. type: definePropType(Object)
  24. },
  25. maxDate: {
  26. type: definePropType(Object)
  27. },
  28. parsedValue: {
  29. type: definePropType([Object, Array])
  30. },
  31. rangeState: {
  32. type: definePropType(Object),
  33. default: () => ({
  34. endDate: null,
  35. selecting: false
  36. })
  37. }
  38. });
  39. const panelSharedProps = buildProps({
  40. type: {
  41. type: definePropType(String),
  42. required: true,
  43. values: datePickTypes
  44. },
  45. dateFormat: String,
  46. timeFormat: String,
  47. showNow: {
  48. type: Boolean,
  49. default: true
  50. }
  51. });
  52. const panelRangeSharedProps = buildProps({
  53. unlinkPanels: Boolean,
  54. parsedValue: {
  55. type: definePropType(Array)
  56. }
  57. });
  58. const selectionModeWithDefault = (mode) => {
  59. return {
  60. type: String,
  61. values: selectionModes,
  62. default: mode
  63. };
  64. };
  65. const rangePickerSharedEmits = {
  66. pick: (range) => isArray(range)
  67. };
  68. export { datePickerSharedProps, panelRangeSharedProps, panelSharedProps, rangePickerSharedEmits, selectionModeWithDefault };
  69. //# sourceMappingURL=shared.mjs.map