slider2.mjs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { placements } from '@popperjs/core';
  2. import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
  3. import { useSizeProp } from '../../../hooks/use-size/index.mjs';
  4. import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
  5. import { UPDATE_MODEL_EVENT, INPUT_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
  6. import { isNumber } from '../../../utils/types.mjs';
  7. import { isArray } from '@vue/shared';
  8. const sliderProps = buildProps({
  9. modelValue: {
  10. type: definePropType([Number, Array]),
  11. default: 0
  12. },
  13. id: {
  14. type: String,
  15. default: void 0
  16. },
  17. min: {
  18. type: Number,
  19. default: 0
  20. },
  21. max: {
  22. type: Number,
  23. default: 100
  24. },
  25. step: {
  26. type: Number,
  27. default: 1
  28. },
  29. showInput: Boolean,
  30. showInputControls: {
  31. type: Boolean,
  32. default: true
  33. },
  34. size: useSizeProp,
  35. inputSize: useSizeProp,
  36. showStops: Boolean,
  37. showTooltip: {
  38. type: Boolean,
  39. default: true
  40. },
  41. formatTooltip: {
  42. type: definePropType(Function),
  43. default: void 0
  44. },
  45. disabled: Boolean,
  46. range: Boolean,
  47. vertical: Boolean,
  48. height: String,
  49. rangeStartLabel: {
  50. type: String,
  51. default: void 0
  52. },
  53. rangeEndLabel: {
  54. type: String,
  55. default: void 0
  56. },
  57. formatValueText: {
  58. type: definePropType(Function),
  59. default: void 0
  60. },
  61. tooltipClass: {
  62. type: String,
  63. default: void 0
  64. },
  65. placement: {
  66. type: String,
  67. values: placements,
  68. default: "top"
  69. },
  70. marks: {
  71. type: definePropType(Object)
  72. },
  73. validateEvent: {
  74. type: Boolean,
  75. default: true
  76. },
  77. persistent: {
  78. type: Boolean,
  79. default: true
  80. },
  81. ...useAriaProps(["ariaLabel"])
  82. });
  83. const isValidValue = (value) => isNumber(value) || isArray(value) && value.every(isNumber);
  84. const sliderEmits = {
  85. [UPDATE_MODEL_EVENT]: isValidValue,
  86. [INPUT_EVENT]: isValidValue,
  87. [CHANGE_EVENT]: isValidValue
  88. };
  89. export { sliderEmits, sliderProps };
  90. //# sourceMappingURL=slider2.mjs.map