@coreui/vue-pro 4.8.2 → 4.9.0-beta.1
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/accordion/CAccordion.d.ts +1 -1
- package/dist/components/accordion/CAccordionBody.d.ts +1 -1
- package/dist/components/accordion/CAccordionButton.d.ts +1 -1
- package/dist/components/accordion/CAccordionHeader.d.ts +1 -1
- package/dist/components/accordion/CAccordionItem.d.ts +1 -1
- package/dist/components/alert/CAlert.d.ts +1 -1
- package/dist/components/alert/CAlertHeading.d.ts +1 -1
- package/dist/components/alert/CAlertLink.d.ts +1 -1
- package/dist/components/avatar/CAvatar.d.ts +1 -1
- package/dist/components/backdrop/CBackdrop.d.ts +1 -1
- package/dist/components/badge/CBadge.d.ts +1 -1
- package/dist/components/breadcrumb/CBreadcrumb.d.ts +1 -1
- package/dist/components/breadcrumb/CBreadcrumbItem.d.ts +1 -1
- package/dist/components/button/CButton.d.ts +1 -1
- package/dist/components/button-group/CButtonGroup.d.ts +1 -1
- package/dist/components/button-group/CButtonToolbar.d.ts +1 -1
- package/dist/components/calendar/CCalendar.d.ts +33 -1
- package/dist/components/callout/CCallout.d.ts +1 -1
- package/dist/components/card/CCard.d.ts +1 -1
- package/dist/components/card/CCardBody.d.ts +1 -1
- package/dist/components/card/CCardFooter.d.ts +1 -1
- package/dist/components/card/CCardGroup.d.ts +1 -1
- package/dist/components/card/CCardHeader.d.ts +1 -1
- package/dist/components/card/CCardImage.d.ts +1 -1
- package/dist/components/card/CCardImageOverlay.d.ts +1 -1
- package/dist/components/card/CCardLink.d.ts +1 -1
- package/dist/components/card/CCardSubtitle.d.ts +1 -1
- package/dist/components/card/CCardText.d.ts +1 -1
- package/dist/components/card/CCardTitle.d.ts +1 -1
- package/dist/components/carousel/CCarousel.d.ts +1 -1
- package/dist/components/carousel/CCarouselCaption.d.ts +1 -1
- package/dist/components/carousel/CCarouselItem.d.ts +1 -1
- package/dist/components/close-button/CCloseButton.d.ts +1 -1
- package/dist/components/collapse/CCollapse.d.ts +1 -1
- package/dist/components/date-picker/CDatePicker.d.ts +35 -3
- package/dist/components/date-range-picker/CDateRangePicker.d.ts +89 -78
- package/dist/components/date-range-picker/utils.d.ts +1 -0
- package/dist/components/dropdown/CDropdown.d.ts +2 -2
- package/dist/components/dropdown/CDropdownDivider.d.ts +1 -1
- package/dist/components/dropdown/CDropdownHeader.d.ts +1 -1
- package/dist/components/dropdown/CDropdownItem.d.ts +1 -1
- package/dist/components/dropdown/CDropdownMenu.d.ts +1 -1
- package/dist/components/dropdown/CDropdownToggle.d.ts +1 -1
- package/dist/components/element-cover/CElementCover.d.ts +1 -1
- package/dist/components/footer/CFooter.d.ts +1 -1
- package/dist/components/form/CForm.d.ts +1 -1
- package/dist/components/form/CFormCheck.d.ts +10 -2
- package/dist/components/form/CFormControl.d.ts +2 -2
- package/dist/components/form/CFormControlValidation.d.ts +1 -1
- package/dist/components/form/CFormControlWrapper.d.ts +1 -1
- package/dist/components/form/CFormFeedback.d.ts +1 -1
- package/dist/components/form/CFormFloating.d.ts +1 -1
- package/dist/components/form/CFormInput.d.ts +12 -12
- package/dist/components/form/CFormLabel.d.ts +1 -1
- package/dist/components/form/CFormRange.d.ts +1 -1
- package/dist/components/form/CFormSelect.d.ts +1 -1
- package/dist/components/form/CFormSwitch.d.ts +1 -1
- package/dist/components/form/CFormText.d.ts +1 -1
- package/dist/components/form/CFormTextarea.d.ts +3 -3
- package/dist/components/form/CInputGroup.d.ts +1 -1
- package/dist/components/form/CInputGroupText.d.ts +1 -1
- package/dist/components/grid/CCol.d.ts +1 -1
- package/dist/components/grid/CContainer.d.ts +1 -1
- package/dist/components/grid/CRow.d.ts +1 -1
- package/dist/components/header/CHeader.d.ts +1 -1
- package/dist/components/header/CHeaderBrand.d.ts +1 -1
- package/dist/components/header/CHeaderDivider.d.ts +1 -1
- package/dist/components/header/CHeaderNav.d.ts +1 -1
- package/dist/components/header/CHeaderText.d.ts +1 -1
- package/dist/components/header/CHeaderToggler.d.ts +1 -1
- package/dist/components/image/CImage.d.ts +1 -1
- package/dist/components/link/CLink.d.ts +1 -1
- package/dist/components/list-group/CListGroup.d.ts +1 -1
- package/dist/components/list-group/CListGroupItem.d.ts +1 -1
- package/dist/components/loading-button/CLoadingButton.d.ts +1 -1
- package/dist/components/modal/CModal.d.ts +1 -1
- package/dist/components/modal/CModalBody.d.ts +1 -1
- package/dist/components/modal/CModalFooter.d.ts +1 -1
- package/dist/components/modal/CModalHeader.d.ts +1 -1
- package/dist/components/modal/CModalTitle.d.ts +1 -1
- package/dist/components/multi-select/CMultiSelect.d.ts +73 -59
- package/dist/components/multi-select/CMultiSelectNativeSelect.d.ts +9 -33
- package/dist/components/multi-select/CMultiSelectOptions.d.ts +12 -41
- package/dist/components/multi-select/CMultiSelectSelection.d.ts +6 -59
- package/dist/components/multi-select/types.d.ts +8 -3
- package/dist/components/multi-select/utils.d.ts +9 -4
- package/dist/components/nav/CNav.d.ts +1 -1
- package/dist/components/nav/CNavGroup.d.ts +1 -1
- package/dist/components/nav/CNavGroupItems.d.ts +1 -1
- package/dist/components/nav/CNavItem.d.ts +1 -1
- package/dist/components/nav/CNavLink.d.ts +1 -1
- package/dist/components/nav/CNavTitle.d.ts +1 -1
- package/dist/components/navbar/CNavbar.d.ts +1 -1
- package/dist/components/navbar/CNavbarBrand.d.ts +1 -1
- package/dist/components/navbar/CNavbarNav.d.ts +1 -1
- package/dist/components/navbar/CNavbarText.d.ts +1 -1
- package/dist/components/navbar/CNavbarToggler.d.ts +1 -1
- package/dist/components/offcanvas/COffcanvas.d.ts +1 -1
- package/dist/components/offcanvas/COffcanvasBody.d.ts +1 -1
- package/dist/components/offcanvas/COffcanvasHeader.d.ts +1 -1
- package/dist/components/offcanvas/COffcanvasTitle.d.ts +1 -1
- package/dist/components/pagination/CPagination.d.ts +1 -1
- package/dist/components/pagination/CPaginationItem.d.ts +1 -1
- package/dist/components/picker/CPicker.d.ts +57 -7
- package/dist/components/placeholder/CPlaceholder.d.ts +1 -1
- package/dist/components/popover/CPopover.d.ts +2 -2
- package/dist/components/progress/CProgress.d.ts +1 -1
- package/dist/components/progress/CProgressBar.d.ts +1 -1
- package/dist/components/sidebar/CSidebar.d.ts +1 -1
- package/dist/components/sidebar/CSidebarBrand.d.ts +1 -1
- package/dist/components/sidebar/CSidebarFooter.d.ts +1 -1
- package/dist/components/sidebar/CSidebarHeader.d.ts +1 -1
- package/dist/components/sidebar/CSidebarNav.d.ts +1 -1
- package/dist/components/sidebar/CSidebarToggler.d.ts +1 -1
- package/dist/components/smart-pagination/CSmartPagination.d.ts +1 -1
- package/dist/components/smart-table/CSmartTable.d.ts +20 -56
- package/dist/components/smart-table/CSmartTableBody.d.ts +1 -1
- package/dist/components/smart-table/CSmartTableCleaner.d.ts +1 -1
- package/dist/components/smart-table/CSmartTableFilter.d.ts +1 -1
- package/dist/components/smart-table/CSmartTableHead.d.ts +10 -1
- package/dist/components/smart-table/CSmartTableItemsPerPageSelector.d.ts +1 -1
- package/dist/components/smart-table/types.d.ts +12 -0
- package/dist/components/smart-table/utils.d.ts +12 -2
- package/dist/components/spinner/CSpinner.d.ts +1 -1
- package/dist/components/table/CTable.d.ts +1 -1
- package/dist/components/table/CTableBody.d.ts +1 -1
- package/dist/components/table/CTableCaption.d.ts +1 -1
- package/dist/components/table/CTableDataCell.d.ts +1 -1
- package/dist/components/table/CTableFoot.d.ts +1 -1
- package/dist/components/table/CTableHead.d.ts +1 -1
- package/dist/components/table/CTableHeaderCell.d.ts +1 -1
- package/dist/components/table/CTableRow.d.ts +1 -1
- package/dist/components/tabs/CTabContent.d.ts +1 -1
- package/dist/components/tabs/CTabPane.d.ts +1 -1
- package/dist/components/time-picker/CTimePicker.d.ts +1 -1
- package/dist/components/time-picker/CTimePickerRollCol.d.ts +1 -1
- package/dist/components/toast/CToast.d.ts +1 -1
- package/dist/components/toast/CToastBody.d.ts +1 -1
- package/dist/components/toast/CToastClose.d.ts +1 -1
- package/dist/components/toast/CToastHeader.d.ts +1 -1
- package/dist/components/toast/CToaster.d.ts +1 -1
- package/dist/components/tooltip/CTooltip.d.ts +2 -2
- package/dist/components/virtual-scroller/CVirtualScroller.d.ts +1 -1
- package/dist/components/widgets/CWidgetStatsA.d.ts +1 -1
- package/dist/components/widgets/CWidgetStatsB.d.ts +1 -1
- package/dist/components/widgets/CWidgetStatsC.d.ts +1 -1
- package/dist/components/widgets/CWidgetStatsD.d.ts +1 -1
- package/dist/components/widgets/CWidgetStatsE.d.ts +1 -1
- package/dist/components/widgets/CWidgetStatsF.d.ts +1 -1
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/useColorModes.d.ts +5 -0
- package/dist/directives/index.d.ts +1 -1
- package/dist/directives/v-c-visible.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.es.js +4224 -4159
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +4226 -4160
- package/dist/index.js.map +1 -1
- package/dist/utils/getUID.d.ts +2 -0
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/isObjectInArray.d.ts +2 -0
- package/dist/utils/isRTL.d.ts +2 -0
- package/package.json +11 -11
- package/src/components/accordion/CAccordionItem.ts +2 -2
- package/src/components/backdrop/CBackdrop.ts +1 -1
- package/src/components/calendar/CCalendar.ts +111 -49
- package/src/components/carousel/CCarousel.ts +7 -7
- package/src/components/date-picker/CDatePicker.ts +16 -1
- package/src/components/date-range-picker/CDateRangePicker.ts +179 -128
- package/src/components/date-range-picker/utils.ts +49 -0
- package/src/components/dropdown/CDropdown.ts +34 -31
- package/src/components/dropdown/CDropdownMenu.ts +1 -1
- package/src/components/dropdown/CDropdownToggle.ts +1 -1
- package/src/components/element-cover/CElementCover.ts +1 -0
- package/src/components/form/CFormCheck.ts +10 -4
- package/src/components/form/CFormInput.ts +2 -2
- package/src/components/form/CFormLabel.ts +1 -1
- package/src/components/form/CFormSelect.ts +1 -1
- package/src/components/grid/CCol.ts +1 -1
- package/src/components/grid/CContainer.ts +1 -1
- package/src/components/header/CHeader.ts +1 -1
- package/src/components/modal/CModal.ts +1 -0
- package/src/components/multi-select/CMultiSelect.ts +337 -144
- package/src/components/multi-select/CMultiSelectNativeSelect.ts +8 -15
- package/src/components/multi-select/CMultiSelectOptions.ts +32 -39
- package/src/components/multi-select/CMultiSelectSelection.ts +24 -40
- package/src/components/multi-select/types.ts +10 -4
- package/src/components/multi-select/utils.ts +71 -37
- package/src/components/nav/CNavGroup.ts +4 -0
- package/src/components/navbar/CNavbar.ts +1 -1
- package/src/components/navbar/CNavbarBrand.ts +1 -1
- package/src/components/offcanvas/COffcanvas.ts +3 -2
- package/src/components/pagination/CPaginationItem.ts +1 -1
- package/src/components/picker/CPicker.ts +106 -157
- package/src/components/popover/CPopover.ts +18 -2
- package/src/components/props.ts +2 -6
- package/src/components/sidebar/CSidebar.ts +3 -2
- package/src/components/smart-table/CSmartTable.ts +45 -52
- package/src/components/smart-table/CSmartTableBody.ts +5 -3
- package/src/components/smart-table/CSmartTableHead.ts +41 -14
- package/src/components/smart-table/types.ts +13 -0
- package/src/components/smart-table/utils.ts +119 -21
- package/src/components/spinner/CSpinner.ts +4 -2
- package/src/components/table/CTable.ts +19 -18
- package/src/components/table/types.ts +19 -19
- package/src/components/time-picker/CTimePicker.ts +216 -125
- package/src/components/toast/CToast.ts +1 -1
- package/src/components/tooltip/CTooltip.ts +19 -3
- package/src/components/virtual-scroller/CVirtualScroller.ts +10 -8
- package/src/components/widgets/CWidgetStatsA.ts +1 -1
- package/src/components/widgets/CWidgetStatsB.ts +1 -1
- package/src/components/widgets/CWidgetStatsC.ts +1 -1
- package/src/components/widgets/CWidgetStatsE.ts +1 -1
- package/src/components/widgets/CWidgetStatsF.ts +1 -1
- package/src/composables/index.ts +3 -0
- package/src/composables/useColorModes.ts +57 -0
- package/src/directives/index.ts +1 -1
- package/src/directives/v-c-popover.ts +9 -13
- package/src/directives/v-c-tooltip.ts +8 -12
- package/src/directives/v-c-visible.ts +1 -1
- package/src/index.ts +8 -29
- package/src/utils/getUID.ts +9 -0
- package/src/utils/index.ts +4 -1
- package/src/utils/isObjectInArray.ts +14 -0
- package/src/utils/isRTL.ts +13 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { onBeforeMount, ref, watch } from 'vue'
|
|
2
|
+
|
|
3
|
+
const getStoredTheme = (localStorageItemName: string) => localStorage.getItem(localStorageItemName)
|
|
4
|
+
const setStoredTheme = (localStorageItemName: string, colorMode: string) =>
|
|
5
|
+
localStorage.setItem(localStorageItemName, colorMode)
|
|
6
|
+
|
|
7
|
+
const getPreferredColorScheme = (localStorageItemName: string) => {
|
|
8
|
+
const storedTheme = getStoredTheme(localStorageItemName)
|
|
9
|
+
|
|
10
|
+
if (storedTheme) {
|
|
11
|
+
return storedTheme
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const setTheme = (colorMode: string) => {
|
|
18
|
+
document.documentElement.dataset.coreuiTheme =
|
|
19
|
+
colorMode === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches
|
|
20
|
+
? 'dark'
|
|
21
|
+
: colorMode
|
|
22
|
+
|
|
23
|
+
const event = new Event('ColorSchemeChange')
|
|
24
|
+
document.documentElement.dispatchEvent(event)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const useColorModes = (localStorageItemName = 'coreui-vue-color-scheme') => {
|
|
28
|
+
const colorMode = ref(getPreferredColorScheme(localStorageItemName))
|
|
29
|
+
|
|
30
|
+
watch(colorMode, () => {
|
|
31
|
+
setStoredTheme(localStorageItemName, colorMode.value)
|
|
32
|
+
setTheme(colorMode.value)
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
onBeforeMount(() => {
|
|
36
|
+
if (typeof getStoredTheme(localStorageItemName) === 'string') {
|
|
37
|
+
setTheme(colorMode.value)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
|
41
|
+
const storedTheme = getStoredTheme(localStorageItemName)
|
|
42
|
+
if (storedTheme !== 'light' && storedTheme !== 'dark') {
|
|
43
|
+
setTheme(colorMode.value)
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
watch(colorMode, () => setTheme(colorMode.value))
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
getColorMode: () => colorMode.value,
|
|
52
|
+
isColorModeSet: () => Boolean(getStoredTheme(localStorageItemName)),
|
|
53
|
+
setColorMode: (mode: string) => {
|
|
54
|
+
colorMode.value = mode
|
|
55
|
+
},
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/directives/index.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { DirectiveBinding } from 'vue'
|
|
2
2
|
import { createPopper } from '@popperjs/core'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
do {
|
|
6
|
-
prefix += Math.floor(Math.random() * 1000000)
|
|
7
|
-
} while (document.getElementById(prefix))
|
|
8
|
-
|
|
9
|
-
return prefix
|
|
10
|
-
}
|
|
4
|
+
import { getUID } from '../utils'
|
|
11
5
|
|
|
12
6
|
const createPopoverElement = (id: string, header: string, content: string): HTMLDivElement => {
|
|
13
7
|
const popover = document.createElement('div')
|
|
@@ -20,6 +14,7 @@ const createPopoverElement = (id: string, header: string, content: string): HTML
|
|
|
20
14
|
return popover
|
|
21
15
|
}
|
|
22
16
|
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
18
|
const addPopoverElement = (popover: HTMLDivElement, el: HTMLElement, popperOptions: any) => {
|
|
24
19
|
document.body.appendChild(popover)
|
|
25
20
|
createPopper(el, popover, popperOptions)
|
|
@@ -31,10 +26,11 @@ const addPopoverElement = (popover: HTMLDivElement, el: HTMLElement, popperOptio
|
|
|
31
26
|
const removePopoverElement = (popover: HTMLDivElement) => {
|
|
32
27
|
popover.classList.remove('show')
|
|
33
28
|
setTimeout(() => {
|
|
34
|
-
|
|
29
|
+
popover.remove()
|
|
35
30
|
}, 300)
|
|
36
31
|
}
|
|
37
32
|
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
34
|
const togglePopoverElement = (popover: HTMLDivElement, el: HTMLElement, popperOptions: any) => {
|
|
39
35
|
const popperElement = document.getElementById(popover.id)
|
|
40
36
|
if (popperElement && popperElement.classList.contains('show')) {
|
|
@@ -49,13 +45,13 @@ export default {
|
|
|
49
45
|
uid: '',
|
|
50
46
|
mounted(el: HTMLElement, binding: DirectiveBinding): void {
|
|
51
47
|
const value = binding.value
|
|
52
|
-
const content = typeof value === 'string' ? value : value.content
|
|
53
|
-
const header = value.header
|
|
54
|
-
const trigger = value.trigger
|
|
48
|
+
const content = typeof value === 'string' ? value : value.content ?? ''
|
|
49
|
+
const header = value.header ?? ''
|
|
50
|
+
const trigger = value.trigger ?? 'click'
|
|
55
51
|
|
|
56
52
|
// Popper Config
|
|
57
|
-
const offset = value.offset
|
|
58
|
-
const placement = value.placement
|
|
53
|
+
const offset = value.offset ?? [0, 8]
|
|
54
|
+
const placement = value.placement ?? 'top'
|
|
59
55
|
|
|
60
56
|
const popperOptions = {
|
|
61
57
|
placement: placement,
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { DirectiveBinding } from 'vue'
|
|
2
2
|
import { createPopper } from '@popperjs/core'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
do {
|
|
6
|
-
prefix += Math.floor(Math.random() * 1000000)
|
|
7
|
-
} while (document.getElementById(prefix))
|
|
8
|
-
|
|
9
|
-
return prefix
|
|
10
|
-
}
|
|
4
|
+
import { getUID } from '../utils'
|
|
11
5
|
|
|
12
6
|
const createTooltipElement = (id: string, content: string): HTMLDivElement => {
|
|
13
7
|
const tooltip = document.createElement('div')
|
|
@@ -19,6 +13,7 @@ const createTooltipElement = (id: string, content: string): HTMLDivElement => {
|
|
|
19
13
|
return tooltip
|
|
20
14
|
}
|
|
21
15
|
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
17
|
const addTooltipElement = (tooltip: HTMLDivElement, el: HTMLElement, popperOptions: any) => {
|
|
23
18
|
document.body.appendChild(tooltip)
|
|
24
19
|
createPopper(el, tooltip, popperOptions)
|
|
@@ -30,10 +25,11 @@ const addTooltipElement = (tooltip: HTMLDivElement, el: HTMLElement, popperOptio
|
|
|
30
25
|
const removeTooltipElement = (tooltip: HTMLDivElement) => {
|
|
31
26
|
tooltip.classList.remove('show')
|
|
32
27
|
setTimeout(() => {
|
|
33
|
-
|
|
28
|
+
tooltip.remove()
|
|
34
29
|
}, 300)
|
|
35
30
|
}
|
|
36
31
|
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
33
|
const toggleTooltipElement = (tooltip: HTMLDivElement, el: HTMLElement, popperOptions: any) => {
|
|
38
34
|
const popperElement = document.getElementById(tooltip.id)
|
|
39
35
|
if (popperElement && popperElement.classList.contains('show')) {
|
|
@@ -46,12 +42,12 @@ const toggleTooltipElement = (tooltip: HTMLDivElement, el: HTMLElement, popperOp
|
|
|
46
42
|
export default {
|
|
47
43
|
mounted(el: HTMLElement, binding: DirectiveBinding): void {
|
|
48
44
|
const value = binding.value
|
|
49
|
-
const content = typeof value === 'string' ? value : value.content
|
|
50
|
-
const trigger = value.trigger
|
|
45
|
+
const content = typeof value === 'string' ? value : value.content ?? ''
|
|
46
|
+
const trigger = value.trigger ?? 'hover'
|
|
51
47
|
|
|
52
48
|
// Popper Config
|
|
53
|
-
const offset = value.offset
|
|
54
|
-
const placement = value.placement
|
|
49
|
+
const offset = value.offset ?? [0, 6]
|
|
50
|
+
const placement = value.placement ?? 'top'
|
|
55
51
|
|
|
56
52
|
const popperOptions = {
|
|
57
53
|
placement: placement,
|
package/src/index.ts
CHANGED
|
@@ -1,44 +1,23 @@
|
|
|
1
|
-
//@ts-nocheck
|
|
2
1
|
import { App } from 'vue'
|
|
3
2
|
import * as Components from './components'
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
const removeKeysFromObject = (object, keys) => {
|
|
7
|
-
return Object.entries(object).reduce((obj, [key, value]) => {
|
|
8
|
-
if (!keys.includes(key) && !keys.includes(value.name)) {
|
|
9
|
-
obj[key] = value
|
|
10
|
-
}
|
|
11
|
-
return obj
|
|
12
|
-
}, {})
|
|
13
|
-
}
|
|
3
|
+
import * as Directives from './directives'
|
|
14
4
|
|
|
15
5
|
const CoreuiVue = {
|
|
16
|
-
install: (app: App
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const toRemove = options && options.remove ? options.remove : null
|
|
21
|
-
if (toRemove && Array.isArray(toRemove)) {
|
|
22
|
-
pluginComponents = removeKeysFromObject(Components, toRemove)
|
|
23
|
-
// pluginDirectives = removeKeysFromObject(Directives, toRemove)
|
|
6
|
+
install: (app: App): void => {
|
|
7
|
+
for (const key in Components) {
|
|
8
|
+
app.component(key, Components[key])
|
|
24
9
|
}
|
|
25
10
|
|
|
26
|
-
for (const
|
|
27
|
-
app.
|
|
11
|
+
for (const key in Directives) {
|
|
12
|
+
app.directive(key, Directives[key])
|
|
28
13
|
}
|
|
29
|
-
// for (const directive in pluginDirectives) {
|
|
30
|
-
// app.directive(directive, Directives[directive])
|
|
31
|
-
// }
|
|
32
|
-
|
|
33
|
-
app.directive('c-placeholder', vcplaceholder)
|
|
34
|
-
app.directive('c-popover', vcpopover)
|
|
35
|
-
app.directive('c-tooltip', vctooltip)
|
|
36
14
|
},
|
|
37
15
|
}
|
|
38
16
|
|
|
39
17
|
// Export library
|
|
40
18
|
export default CoreuiVue
|
|
41
19
|
|
|
42
|
-
//Export components
|
|
20
|
+
// Export components & directives
|
|
43
21
|
export * from './components'
|
|
22
|
+
export * from './composables'
|
|
44
23
|
export * from './directives'
|
package/src/utils/index.ts
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const isObjectInArray = <T>(array: T[], item: T, ignore: string[] = []) =>
|
|
2
|
+
array.some((_item: T) => {
|
|
3
|
+
let result = true
|
|
4
|
+
for (const key in item) {
|
|
5
|
+
if (!ignore.includes(key) && item[key] !== _item[key]) {
|
|
6
|
+
result = false
|
|
7
|
+
break
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return result
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
export default isObjectInArray
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const isRTL = (element?: HTMLElement | HTMLDivElement | null) => {
|
|
2
|
+
if (typeof document !== 'undefined' && document.documentElement.dir === 'rtl') {
|
|
3
|
+
return true
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
if (element) {
|
|
7
|
+
return element.closest('[dir="rtl"]') !== null
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return false
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default isRTL
|