@coreui/vue-pro 4.9.0-rc.0 → 5.0.0-alpha.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.
- package/README.md +1 -1
- package/dist/components/dropdown/CDropdown.d.ts +2 -2
- package/dist/components/form/CFormCheck.d.ts +27 -3
- package/dist/components/form/CFormControl.d.ts +1 -1
- package/dist/components/form/CFormInput.d.ts +8 -20
- package/dist/components/form/CFormTextarea.d.ts +2 -2
- package/dist/components/multi-select/CMultiSelect.d.ts +7 -7
- package/dist/components/multi-select/CMultiSelectNativeSelect.d.ts +1 -1
- package/dist/components/multi-select/CMultiSelectSelection.d.ts +1 -1
- package/dist/components/picker/CPicker.d.ts +3 -3
- package/dist/components/popover/CPopover.d.ts +6 -6
- package/dist/components/tooltip/CTooltip.d.ts +6 -6
- package/dist/composables/index.d.ts +2 -1
- package/dist/index.es.js +2986 -2921
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +2985 -2919
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
- package/src/components/date-range-picker/CDateRangePicker.ts +61 -79
- package/src/components/dropdown/CDropdown.ts +1 -1
- package/src/components/form/CFormCheck.ts +53 -4
- package/src/components/multi-select/CMultiSelect.ts +67 -58
- package/src/components/multi-select/CMultiSelectSelection.ts +11 -10
- package/src/components/picker/CPicker.ts +7 -22
- package/src/components/popover/CPopover.ts +3 -3
- package/src/components/time-picker/CTimePicker.ts +11 -29
- package/src/components/tooltip/CTooltip.ts +3 -3
- package/src/composables/index.ts +2 -1
- package/src/composables/useColorModes.ts +63 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { defineComponent, h, ref, watch } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { CButton } from '../button'
|
|
4
|
-
import { CInputGroup } from '../form'
|
|
5
4
|
import { CFormControlWrapper } from '../form/CFormControlWrapper'
|
|
6
5
|
import { CPicker } from '../picker'
|
|
7
6
|
|
|
@@ -392,10 +391,10 @@ const CTimePicker = defineComponent({
|
|
|
392
391
|
}
|
|
393
392
|
|
|
394
393
|
const InputGroup = () =>
|
|
395
|
-
h(
|
|
394
|
+
h('div', { class: 'time-picker-input-group' }, [
|
|
396
395
|
h('input', {
|
|
397
396
|
autocomplete: 'off',
|
|
398
|
-
class: '
|
|
397
|
+
class: 'time-picker-input',
|
|
399
398
|
disabled: props.disabled,
|
|
400
399
|
onInput: (event: Event) => {
|
|
401
400
|
if (isValidTime((event.target as HTMLInputElement).value)) {
|
|
@@ -413,31 +412,13 @@ const CTimePicker = defineComponent({
|
|
|
413
412
|
})
|
|
414
413
|
: '',
|
|
415
414
|
}),
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
},
|
|
424
|
-
slots.indicator
|
|
425
|
-
? slots.indicator()
|
|
426
|
-
: h('span', { class: 'picker-input-group-icon time-picker-input-icon' }),
|
|
427
|
-
),
|
|
428
|
-
props.cleaner &&
|
|
429
|
-
h(
|
|
430
|
-
'span',
|
|
431
|
-
{
|
|
432
|
-
class: 'picker-input-group-cleaner',
|
|
433
|
-
onClick: (event: Event) => handleClear(event),
|
|
434
|
-
role: 'button',
|
|
435
|
-
},
|
|
436
|
-
slots.cleaner
|
|
437
|
-
? slots.cleaner()
|
|
438
|
-
: h('span', { class: 'picker-input-group-icon time-picker-cleaner-icon' }),
|
|
439
|
-
),
|
|
440
|
-
]),
|
|
415
|
+
props.indicator && h('div', { class: 'time-picker-indicator' }),
|
|
416
|
+
props.cleaner &&
|
|
417
|
+
date.value &&
|
|
418
|
+
h('div', {
|
|
419
|
+
class: 'time-picker-cleaner',
|
|
420
|
+
onClick: (event: Event) => handleClear(event),
|
|
421
|
+
}),
|
|
441
422
|
])
|
|
442
423
|
|
|
443
424
|
const TimePickerSelect = () => [
|
|
@@ -587,6 +568,7 @@ const CTimePicker = defineComponent({
|
|
|
587
568
|
class: [
|
|
588
569
|
'time-picker',
|
|
589
570
|
{
|
|
571
|
+
[`time-picker-${props.size}`]: props.size,
|
|
590
572
|
disabled: props.disabled,
|
|
591
573
|
'is-invalid': isValid.value === false ? true : false,
|
|
592
574
|
'is-valid': isValid.value,
|
|
@@ -632,7 +614,7 @@ const CTimePicker = defineComponent({
|
|
|
632
614
|
props.variant === 'select' ? TimePickerSelect() : TimePickerRoll(),
|
|
633
615
|
),
|
|
634
616
|
footer: () =>
|
|
635
|
-
h('div', { class: 'picker-footer' }, [
|
|
617
|
+
h('div', { class: 'time-picker-footer' }, [
|
|
636
618
|
props.cancelButton &&
|
|
637
619
|
h(
|
|
638
620
|
CButton,
|
|
@@ -12,7 +12,7 @@ const CTooltip = defineComponent({
|
|
|
12
12
|
/**
|
|
13
13
|
* Apply a CSS fade transition to the tooltip.
|
|
14
14
|
*
|
|
15
|
-
* @since 4.9.0
|
|
15
|
+
* @since 4.9.0
|
|
16
16
|
*/
|
|
17
17
|
animation: {
|
|
18
18
|
type: Boolean,
|
|
@@ -25,7 +25,7 @@ const CTooltip = defineComponent({
|
|
|
25
25
|
/**
|
|
26
26
|
* The delay for displaying and hiding the popover (in milliseconds). When a numerical value is provided, the delay applies to both the hide and show actions. The object structure for specifying the delay is as follows: delay: `{ 'show': 500, 'hide': 100 }`.
|
|
27
27
|
*
|
|
28
|
-
* @since 4.9.0
|
|
28
|
+
* @since 4.9.0
|
|
29
29
|
*/
|
|
30
30
|
delay: {
|
|
31
31
|
type: [Number, Object] as PropType<number | { show: number; hide: number }>,
|
|
@@ -34,7 +34,7 @@ const CTooltip = defineComponent({
|
|
|
34
34
|
/**
|
|
35
35
|
* Specify the desired order of fallback placements by providing a list of placements as an array. The placements should be prioritized based on preference.
|
|
36
36
|
*
|
|
37
|
-
* @since 4.9.0
|
|
37
|
+
* @since 4.9.0
|
|
38
38
|
*/
|
|
39
39
|
fallbackPlacements: {
|
|
40
40
|
type: [String, Array] as PropType<Placements | Placements[]>,
|
package/src/composables/index.ts
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { onBeforeMount, ref, watch } from 'vue'
|
|
2
|
+
|
|
3
|
+
const getStoredTheme = (localStorageItemName: string) =>
|
|
4
|
+
typeof window !== 'undefined' && localStorage.getItem(localStorageItemName)
|
|
5
|
+
|
|
6
|
+
const setStoredTheme = (localStorageItemName: string, colorMode: string) =>
|
|
7
|
+
localStorage.setItem(localStorageItemName, colorMode)
|
|
8
|
+
|
|
9
|
+
const getPreferredColorScheme = (localStorageItemName: string) => {
|
|
10
|
+
if (typeof window === 'undefined') {
|
|
11
|
+
return
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const storedTheme = getStoredTheme(localStorageItemName)
|
|
15
|
+
|
|
16
|
+
if (storedTheme) {
|
|
17
|
+
return storedTheme
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const setTheme = (colorMode: string) => {
|
|
24
|
+
document.documentElement.dataset.coreuiTheme =
|
|
25
|
+
colorMode === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches
|
|
26
|
+
? 'dark'
|
|
27
|
+
: colorMode
|
|
28
|
+
|
|
29
|
+
const event = new Event('ColorSchemeChange')
|
|
30
|
+
document.documentElement.dispatchEvent(event)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const useColorModes = (localStorageItemName = 'coreui-vue-color-scheme') => {
|
|
34
|
+
const colorMode = ref(getPreferredColorScheme(localStorageItemName))
|
|
35
|
+
|
|
36
|
+
watch(colorMode, () => {
|
|
37
|
+
if (colorMode.value) {
|
|
38
|
+
setStoredTheme(localStorageItemName, colorMode.value)
|
|
39
|
+
setTheme(colorMode.value)
|
|
40
|
+
}
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
onBeforeMount(() => {
|
|
44
|
+
if (typeof getStoredTheme(localStorageItemName) === 'string' && colorMode.value) {
|
|
45
|
+
setTheme(colorMode.value)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
|
49
|
+
const storedTheme = getStoredTheme(localStorageItemName)
|
|
50
|
+
if (storedTheme !== 'light' && storedTheme !== 'dark' && colorMode.value) {
|
|
51
|
+
setTheme(colorMode.value)
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
colorMode,
|
|
58
|
+
isColorModeSet: () => Boolean(getStoredTheme(localStorageItemName)),
|
|
59
|
+
setColorMode: (mode: string) => {
|
|
60
|
+
colorMode.value = mode
|
|
61
|
+
},
|
|
62
|
+
}
|
|
63
|
+
}
|