@coreui/vue-pro 5.8.0 → 5.9.0

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.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/calendar/CCalendar.d.ts +3 -2
  3. package/dist/cjs/components/calendar/CCalendar.js +1 -1
  4. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  5. package/dist/cjs/components/calendar/utils.d.ts +3 -2
  6. package/dist/cjs/components/calendar/utils.js +24 -16
  7. package/dist/cjs/components/calendar/utils.js.map +1 -1
  8. package/dist/cjs/components/date-picker/CDatePicker.d.ts +3 -6
  9. package/dist/cjs/components/date-picker/CDatePicker.js +1 -3
  10. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  11. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +3 -2
  12. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +1 -1
  13. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  14. package/dist/cjs/components/nav/CNavItem.d.ts +2 -0
  15. package/dist/cjs/components/nav/CNavItem.js +8 -2
  16. package/dist/cjs/components/nav/CNavItem.js.map +1 -1
  17. package/dist/cjs/components/range-slider/CRangeSlider.js +19 -13
  18. package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
  19. package/dist/cjs/components/range-slider/utils.d.ts +1 -1
  20. package/dist/cjs/components/range-slider/utils.js +2 -2
  21. package/dist/cjs/components/range-slider/utils.js.map +1 -1
  22. package/dist/esm/components/calendar/CCalendar.d.ts +3 -2
  23. package/dist/esm/components/calendar/CCalendar.js +1 -1
  24. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  25. package/dist/esm/components/calendar/utils.d.ts +3 -2
  26. package/dist/esm/components/calendar/utils.js +24 -16
  27. package/dist/esm/components/calendar/utils.js.map +1 -1
  28. package/dist/esm/components/date-picker/CDatePicker.d.ts +3 -6
  29. package/dist/esm/components/date-picker/CDatePicker.js +1 -3
  30. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  31. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +3 -2
  32. package/dist/esm/components/date-range-picker/CDateRangePicker.js +1 -1
  33. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  34. package/dist/esm/components/nav/CNavItem.d.ts +2 -0
  35. package/dist/esm/components/nav/CNavItem.js +8 -2
  36. package/dist/esm/components/nav/CNavItem.js.map +1 -1
  37. package/dist/esm/components/range-slider/CRangeSlider.js +19 -13
  38. package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
  39. package/dist/esm/components/range-slider/utils.d.ts +1 -1
  40. package/dist/esm/components/range-slider/utils.js +2 -2
  41. package/dist/esm/components/range-slider/utils.js.map +1 -1
  42. package/package.json +4 -4
  43. package/src/components/calendar/CCalendar.ts +3 -1
  44. package/src/components/calendar/utils.ts +31 -18
  45. package/src/components/date-picker/CDatePicker.ts +2 -3
  46. package/src/components/date-range-picker/CDateRangePicker.ts +3 -1
  47. package/src/components/nav/CNavItem.ts +9 -2
  48. package/src/components/range-slider/CRangeSlider.ts +25 -13
  49. package/src/components/range-slider/utils.ts +8 -2
@@ -155,6 +155,7 @@ const CRangeSlider = defineComponent({
155
155
  : [props.value],
156
156
  )
157
157
  const isDragging = ref(false)
158
+ const _isRTL = ref(false)
158
159
  const dragIndex = ref(0)
159
160
  const thumbSize = ref<ThumbSize | null>()
160
161
 
@@ -187,17 +188,18 @@ const CRangeSlider = defineComponent({
187
188
  }
188
189
 
189
190
  if (rangeSliderRef.value) {
191
+ _isRTL.value = isRTL(rangeSliderRef.value)
190
192
  thumbSize.value = getThumbSize(rangeSliderRef.value, props.vertical)
191
193
  }
192
194
  })
193
195
 
194
196
  watch(isDragging, (newVal) => {
195
197
  if (newVal) {
196
- window.addEventListener('mousemove', handleMouseMove)
197
- window.addEventListener('mouseup', handleMouseUp)
198
+ globalThis.addEventListener('mousemove', handleMouseMove)
199
+ globalThis.addEventListener('mouseup', handleMouseUp)
198
200
  } else {
199
- window.removeEventListener('mousemove', handleMouseMove)
200
- window.removeEventListener('mouseup', handleMouseUp)
201
+ globalThis.removeEventListener('mousemove', handleMouseMove)
202
+ globalThis.removeEventListener('mouseup', handleMouseUp)
201
203
  }
202
204
  })
203
205
 
@@ -238,7 +240,7 @@ const CRangeSlider = defineComponent({
238
240
  }
239
241
 
240
242
  const handleInputsContainerMouseDown = (event: MouseEvent) => {
241
- if (!trackRef.value) return
243
+ if (!trackRef.value || event.button !== 0) return
242
244
 
243
245
  const clickValue = calculateClickValue(
244
246
  event,
@@ -247,7 +249,7 @@ const CRangeSlider = defineComponent({
247
249
  props.max,
248
250
  props.step,
249
251
  props.vertical,
250
- isRTL(rangeSliderRef.value),
252
+ _isRTL.value,
251
253
  )
252
254
 
253
255
  const index = getNearestValueIndex(clickValue, currentValue.value)
@@ -257,8 +259,8 @@ const CRangeSlider = defineComponent({
257
259
  updateNearestValue(clickValue)
258
260
  }
259
261
 
260
- const handleLabelClick = (value: number) => {
261
- if (!props.clickableLabels || props.disabled) return
262
+ const handleLabelClick = (event: MouseEvent, value: number) => {
263
+ if (!props.clickableLabels || props.disabled || event.button !== 0) return
262
264
 
263
265
  updateNearestValue(value)
264
266
  }
@@ -273,7 +275,7 @@ const CRangeSlider = defineComponent({
273
275
  props.max,
274
276
  props.step,
275
277
  props.vertical,
276
- isRTL(rangeSliderRef.value),
278
+ _isRTL.value,
277
279
  )
278
280
 
279
281
  const newCurrentValue = updateValue(
@@ -348,7 +350,7 @@ const CRangeSlider = defineComponent({
348
350
  value,
349
351
  thumbSize.value,
350
352
  props.vertical,
351
- isRTL(rangeSliderRef.value),
353
+ _isRTL.value,
352
354
  ),
353
355
  }),
354
356
  },
@@ -363,7 +365,13 @@ const CRangeSlider = defineComponent({
363
365
  h('div', {
364
366
  class: 'range-slider-track',
365
367
  ...(props.track && {
366
- style: updateGradient(props.min, props.max, currentValue.value, props.vertical),
368
+ style: updateGradient(
369
+ props.min,
370
+ props.max,
371
+ currentValue.value,
372
+ props.vertical,
373
+ _isRTL.value,
374
+ ),
367
375
  }),
368
376
  ref: trackRef,
369
377
  }),
@@ -387,7 +395,11 @@ const CRangeSlider = defineComponent({
387
395
  )
388
396
  const labelValue = getLabelValue(props.min, props.max, props.labels, label, index)
389
397
  const labelStyle = {
390
- ...(props.vertical ? { bottom: labelPosition } : { left: labelPosition }),
398
+ ...(props.vertical
399
+ ? { bottom: labelPosition }
400
+ : _isRTL.value
401
+ ? { right: labelPosition }
402
+ : { left: labelPosition }),
391
403
  ...(typeof label === 'object' && 'style' in label ? label.style : {}),
392
404
  }
393
405
 
@@ -402,7 +414,7 @@ const CRangeSlider = defineComponent({
402
414
  typeof label === 'object' && 'className' in label ? label.className : '',
403
415
  ],
404
416
  style: labelStyle,
405
- onMousedown: () => handleLabelClick(labelValue),
417
+ onMousedown: (event) => handleLabelClick(event, labelValue),
406
418
  key: index,
407
419
  ref: (el) => {
408
420
  labelsRef.value[index] = el as HTMLDivElement
@@ -172,14 +172,20 @@ export const roundToStep = (number: number, step: number) => {
172
172
  return Math.round(number / _step) * _step
173
173
  }
174
174
 
175
- export const updateGradient = (min: number, max: number, values: number[], vertical: boolean) => {
175
+ export const updateGradient = (
176
+ min: number,
177
+ max: number,
178
+ values: number[],
179
+ vertical: boolean,
180
+ rtl: boolean,
181
+ ) => {
176
182
  const minVal = Math.min(...values)
177
183
  const maxVal = Math.max(...values)
178
184
 
179
185
  const from = ((minVal - min) / (max - min)) * 100
180
186
  const to = ((maxVal - min) / (max - min)) * 100
181
187
 
182
- const direction = vertical ? 'to top' : 'to right'
188
+ const direction = vertical ? 'to top' : rtl ? 'to left' : 'to right'
183
189
 
184
190
  return {
185
191
  backgroundImage: