@coreui/react-pro 5.2.0 → 5.4.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 +2 -1
- package/dist/cjs/components/button/CButton.js +5 -1
- package/dist/cjs/components/button/CButton.js.map +1 -1
- package/dist/cjs/components/calendar/utils.d.ts +4 -4
- package/dist/cjs/components/conditional-portal/CConditionalPortal.d.ts +3 -3
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js +1 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/cjs/components/date-picker/CDatePicker.d.ts +7 -1
- package/dist/cjs/components/date-picker/CDatePicker.js +3 -3
- package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +16 -4
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js +8 -6
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/utils.d.ts +1 -0
- package/dist/cjs/components/date-range-picker/utils.js +10 -0
- package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.d.ts +2 -2
- package/dist/cjs/components/modal/CModal.d.ts +7 -1
- package/dist/cjs/components/modal/CModal.js +4 -3
- package/dist/cjs/components/modal/CModal.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelect.d.ts +15 -3
- package/dist/cjs/components/multi-select/CMultiSelect.js +13 -10
- package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +4 -2
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/cjs/components/popover/CPopover.d.ts +2 -2
- package/dist/cjs/components/popover/CPopover.js +7 -1
- package/dist/cjs/components/popover/CPopover.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTable.js +3 -3
- package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/cjs/components/smart-table/utils.d.ts +5 -5
- package/dist/cjs/components/time-picker/CTimePicker.d.ts +12 -0
- package/dist/cjs/components/time-picker/CTimePicker.js +5 -5
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/utils.d.ts +4 -4
- package/dist/cjs/components/tooltip/CTooltip.d.ts +2 -2
- package/dist/cjs/components/tooltip/CTooltip.js +7 -1
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/hooks/useForkedRef.d.ts +0 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +6 -11
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +2 -4
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +7 -10
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +4 -6
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
- package/dist/cjs/node_modules/@coreui/icons-react/dist/{index.es.js → index.esm.js} +93 -30
- package/dist/cjs/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -0
- package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js +2 -2
- package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
- package/dist/esm/components/button/CButton.js +5 -1
- package/dist/esm/components/button/CButton.js.map +1 -1
- package/dist/esm/components/calendar/utils.d.ts +4 -4
- package/dist/esm/components/conditional-portal/CConditionalPortal.d.ts +3 -3
- package/dist/esm/components/conditional-portal/CConditionalPortal.js +1 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/esm/components/date-picker/CDatePicker.d.ts +7 -1
- package/dist/esm/components/date-picker/CDatePicker.js +3 -3
- package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +16 -4
- package/dist/esm/components/date-range-picker/CDateRangePicker.js +9 -7
- package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/utils.d.ts +1 -0
- package/dist/esm/components/date-range-picker/utils.js +10 -1
- package/dist/esm/components/date-range-picker/utils.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.d.ts +2 -2
- package/dist/esm/components/modal/CModal.d.ts +7 -1
- package/dist/esm/components/modal/CModal.js +4 -3
- package/dist/esm/components/modal/CModal.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelect.d.ts +15 -3
- package/dist/esm/components/multi-select/CMultiSelect.js +13 -10
- package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +4 -2
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/esm/components/popover/CPopover.d.ts +2 -2
- package/dist/esm/components/popover/CPopover.js +7 -1
- package/dist/esm/components/popover/CPopover.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTable.js +1 -1
- package/dist/esm/components/smart-table/utils.d.ts +5 -5
- package/dist/esm/components/time-picker/CTimePicker.d.ts +12 -0
- package/dist/esm/components/time-picker/CTimePicker.js +5 -5
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/utils.d.ts +4 -4
- package/dist/esm/components/tooltip/CTooltip.d.ts +2 -2
- package/dist/esm/components/tooltip/CTooltip.js +7 -1
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/hooks/useForkedRef.d.ts +0 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +6 -11
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +2 -4
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +7 -10
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +4 -6
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
- package/dist/esm/node_modules/@coreui/icons-react/dist/{index.es.js → index.esm.js} +93 -32
- package/dist/esm/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js +2 -2
- package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
- package/package.json +9 -9
- package/src/components/button/CButton.tsx +5 -2
- package/src/components/button/__tests__/CButton.spec.tsx +1 -1
- package/src/components/button-group/__tests__/CButtonGroup.spec.tsx +6 -6
- package/src/components/button-group/__tests__/CButtonToolbar.spec.tsx +6 -6
- package/src/components/conditional-portal/CConditionalPortal.tsx +7 -5
- package/src/components/date-picker/CDatePicker.tsx +11 -2
- package/src/components/date-range-picker/CDateRangePicker.tsx +30 -11
- package/src/components/date-range-picker/utils.ts +16 -0
- package/src/components/dropdown/CDropdown.tsx +2 -2
- package/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx +1 -1
- package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +1 -1
- package/src/components/dropdown/__tests__/__snapshots__/CDropdownToggle.spec.tsx.snap +1 -1
- package/src/components/modal/CModal.tsx +11 -3
- package/src/components/modal/__tests__/CModal.spec.tsx +1 -1
- package/src/components/multi-select/CMultiSelect.tsx +26 -6
- package/src/components/multi-select/CMultiSelectNativeSelect.tsx +6 -4
- package/src/components/nav/__tests__/__snapshots__/CNavItem.spec.tsx.snap +12 -8
- package/src/components/popover/CPopover.tsx +10 -2
- package/src/components/popover/__tests__/CPopover.spec.tsx +2 -2
- package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +22 -0
- package/src/components/sidebar/__tests__/__snapshots__/CSidebarBrand.spec.tsx.snap +4 -4
- package/src/components/sidebar/__tests__/__snapshots__/CSidebarNav.spec.tsx.snap +6 -2
- package/src/components/tabs/__tests__/__snapshots__/CTabPane.spec.tsx.snap +1 -1
- package/src/components/time-picker/CTimePicker.tsx +17 -1
- package/src/components/toast/__tests__/__snapshots__/CToaster.spec.tsx.snap +1 -1
- package/src/components/tooltip/CTooltip.tsx +10 -2
- package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +1 -0
- package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsC.spec.tsx.snap +1 -1
- package/dist/cjs/node_modules/@coreui/icons-react/dist/index.es.js.map +0 -1
- package/dist/esm/node_modules/@coreui/icons-react/dist/index.es.js.map +0 -1
|
@@ -31,6 +31,12 @@ export interface CModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
31
31
|
* A string of all className you want applied to the base component.
|
|
32
32
|
*/
|
|
33
33
|
className?: string
|
|
34
|
+
/**
|
|
35
|
+
* Appends the react modal to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
|
|
36
|
+
*
|
|
37
|
+
* @since 5.3.0
|
|
38
|
+
*/
|
|
39
|
+
container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
|
|
34
40
|
/**
|
|
35
41
|
* @ignore
|
|
36
42
|
*/
|
|
@@ -38,7 +44,7 @@ export interface CModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
38
44
|
/**
|
|
39
45
|
* Puts the focus on the modal when shown.
|
|
40
46
|
*
|
|
41
|
-
* @since
|
|
47
|
+
* @since 4.10.0
|
|
42
48
|
*/
|
|
43
49
|
focus?: boolean
|
|
44
50
|
/**
|
|
@@ -101,6 +107,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
|
|
|
101
107
|
alignment,
|
|
102
108
|
backdrop = true,
|
|
103
109
|
className,
|
|
110
|
+
container,
|
|
104
111
|
duration = 150,
|
|
105
112
|
focus = true,
|
|
106
113
|
fullscreen,
|
|
@@ -223,7 +230,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
|
|
|
223
230
|
timeout={transition ? duration : 0}
|
|
224
231
|
>
|
|
225
232
|
{(state) => (
|
|
226
|
-
<CConditionalPortal portal={portal}>
|
|
233
|
+
<CConditionalPortal container={container} portal={portal}>
|
|
227
234
|
<CModalContext.Provider value={contextValues}>
|
|
228
235
|
<div
|
|
229
236
|
className={classNames(
|
|
@@ -259,7 +266,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
|
|
|
259
266
|
)}
|
|
260
267
|
</Transition>
|
|
261
268
|
{backdrop && (
|
|
262
|
-
<CConditionalPortal portal={portal}>
|
|
269
|
+
<CConditionalPortal container={container} portal={portal}>
|
|
263
270
|
<CBackdrop visible={_visible} />
|
|
264
271
|
</CConditionalPortal>
|
|
265
272
|
)}
|
|
@@ -273,6 +280,7 @@ CModal.propTypes = {
|
|
|
273
280
|
backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'static'>(['static'])]),
|
|
274
281
|
children: PropTypes.node,
|
|
275
282
|
className: PropTypes.string,
|
|
283
|
+
container: PropTypes.any, // HTMLElement
|
|
276
284
|
duration: PropTypes.number,
|
|
277
285
|
focus: PropTypes.bool,
|
|
278
286
|
fullscreen: PropTypes.oneOfType([
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react'
|
|
2
2
|
import { render, fireEvent } from '@testing-library/react'
|
|
3
|
-
import '@testing-library/jest-dom
|
|
3
|
+
import '@testing-library/jest-dom'
|
|
4
4
|
import { CModal } from '../../../index'
|
|
5
5
|
|
|
6
6
|
test('loads and displays CModal component', async () => {
|
|
@@ -53,10 +53,10 @@ export interface CMultiSelectProps
|
|
|
53
53
|
*/
|
|
54
54
|
disabled?: boolean
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
56
|
+
* Set the id attribute for the native select element.
|
|
57
57
|
*
|
|
58
|
-
* The name
|
|
59
|
-
* -
|
|
58
|
+
* **[Deprecated since v5.3.0]** The name attribute for the native select element is generated based on the `id` property:
|
|
59
|
+
* - `<select name="\{id\}-multi-select" />`
|
|
60
60
|
*/
|
|
61
61
|
id?: string
|
|
62
62
|
/**
|
|
@@ -69,6 +69,12 @@ export interface CMultiSelectProps
|
|
|
69
69
|
* It specifies that multiple options can be selected at once.
|
|
70
70
|
*/
|
|
71
71
|
multiple?: boolean
|
|
72
|
+
/**
|
|
73
|
+
* The name attribute for the select element.
|
|
74
|
+
*
|
|
75
|
+
* @since 5.3.0
|
|
76
|
+
*/
|
|
77
|
+
name?: string
|
|
72
78
|
/**
|
|
73
79
|
* Execute a function when a user changes the selected option.
|
|
74
80
|
*/
|
|
@@ -119,6 +125,12 @@ export interface CMultiSelectProps
|
|
|
119
125
|
* When it is present, it indicates that the user must choose a value before submitting the form.
|
|
120
126
|
*/
|
|
121
127
|
required?: boolean
|
|
128
|
+
/**
|
|
129
|
+
* Determines whether the selected options should be cleared when the options list is updated. When set to true, any previously selected options will be reset whenever the options list undergoes a change. This ensures that outdated selections are not retained when new options are provided.
|
|
130
|
+
*
|
|
131
|
+
* @since 5.3.0
|
|
132
|
+
*/
|
|
133
|
+
resetSelectionOnOptionsChange?: boolean
|
|
122
134
|
/**
|
|
123
135
|
* Enables search input element.
|
|
124
136
|
*/
|
|
@@ -176,11 +188,12 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
176
188
|
feedback,
|
|
177
189
|
feedbackInvalid,
|
|
178
190
|
feedbackValid,
|
|
179
|
-
loading,
|
|
180
|
-
multiple = true,
|
|
181
191
|
id,
|
|
182
192
|
invalid,
|
|
183
193
|
label,
|
|
194
|
+
loading,
|
|
195
|
+
multiple = true,
|
|
196
|
+
name,
|
|
184
197
|
onChange,
|
|
185
198
|
onFilterChange,
|
|
186
199
|
onHide,
|
|
@@ -192,6 +205,7 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
192
205
|
optionsGroupsTemplate,
|
|
193
206
|
placeholder = 'Select...',
|
|
194
207
|
required,
|
|
208
|
+
resetSelectionOnOptionsChange = false,
|
|
195
209
|
search = true,
|
|
196
210
|
searchNoResultsLabel = 'No results found',
|
|
197
211
|
selectAll = true,
|
|
@@ -273,6 +287,10 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
273
287
|
useEffect(() => {
|
|
274
288
|
setOptions(options)
|
|
275
289
|
|
|
290
|
+
if (resetSelectionOnOptionsChange) {
|
|
291
|
+
return setSelected([])
|
|
292
|
+
}
|
|
293
|
+
|
|
276
294
|
const _selected = flattenedOptions.filter((option: Option) => option.selected === true)
|
|
277
295
|
const deselected = flattenedOptions.filter(
|
|
278
296
|
(option: Option) => option.selected === false,
|
|
@@ -442,6 +460,7 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
442
460
|
<CMultiSelectNativeSelect
|
|
443
461
|
id={id}
|
|
444
462
|
multiple={multiple}
|
|
463
|
+
name={name}
|
|
445
464
|
options={selected}
|
|
446
465
|
required={required}
|
|
447
466
|
value={
|
|
@@ -465,7 +484,6 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
465
484
|
className,
|
|
466
485
|
)}
|
|
467
486
|
aria-expanded={_visible}
|
|
468
|
-
id={id}
|
|
469
487
|
ref={multiSelectForkedRef}
|
|
470
488
|
>
|
|
471
489
|
<div
|
|
@@ -564,6 +582,7 @@ CMultiSelect.propTypes = {
|
|
|
564
582
|
disabled: PropTypes.bool,
|
|
565
583
|
loading: PropTypes.bool,
|
|
566
584
|
multiple: PropTypes.bool,
|
|
585
|
+
name: PropTypes.string,
|
|
567
586
|
onChange: PropTypes.func,
|
|
568
587
|
onFilterChange: PropTypes.func,
|
|
569
588
|
onHide: PropTypes.func,
|
|
@@ -575,6 +594,7 @@ CMultiSelect.propTypes = {
|
|
|
575
594
|
optionsGroupsTemplate: PropTypes.func,
|
|
576
595
|
placeholder: PropTypes.string,
|
|
577
596
|
required: PropTypes.bool,
|
|
597
|
+
resetSelectionOnOptionsChange: PropTypes.bool,
|
|
578
598
|
search: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'external'>(['external'])]),
|
|
579
599
|
searchNoResultsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|
580
600
|
selectAll: PropTypes.bool,
|
|
@@ -26,12 +26,12 @@ const createNativeOptions = (options: Option[]) =>
|
|
|
26
26
|
export const CMultiSelectNativeSelect = forwardRef<
|
|
27
27
|
HTMLSelectElement,
|
|
28
28
|
CMultiSelectNativeSelectProps
|
|
29
|
-
>(({ id, options, ...rest }, ref) => {
|
|
29
|
+
>(({ id, name, options, ...rest }, ref) => {
|
|
30
30
|
return (
|
|
31
31
|
<select
|
|
32
|
-
|
|
33
|
-
{...(id && {
|
|
34
|
-
{...(
|
|
32
|
+
id={id}
|
|
33
|
+
{...(id && !name && { name: `${id}-multi-select` })} // TODO: remove in v6
|
|
34
|
+
{...(name && { name: name })}
|
|
35
35
|
tabIndex={-1}
|
|
36
36
|
style={{ display: 'none' }}
|
|
37
37
|
{...rest}
|
|
@@ -43,6 +43,8 @@ export const CMultiSelectNativeSelect = forwardRef<
|
|
|
43
43
|
})
|
|
44
44
|
|
|
45
45
|
CMultiSelectNativeSelect.propTypes = {
|
|
46
|
+
id: PropTypes.string,
|
|
47
|
+
name: PropTypes.string,
|
|
46
48
|
options: PropTypes.array,
|
|
47
49
|
value: PropTypes.oneOfType([
|
|
48
50
|
PropTypes.number,
|
|
@@ -2,35 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`CNavItem customize 1`] = `
|
|
4
4
|
<div>
|
|
5
|
-
<
|
|
5
|
+
<h3
|
|
6
6
|
class="nav-item bazinga"
|
|
7
7
|
>
|
|
8
|
-
<
|
|
8
|
+
<a
|
|
9
9
|
aria-current="page"
|
|
10
|
+
aria-disabled="true"
|
|
10
11
|
class="nav-link bazinga active disabled"
|
|
11
12
|
disabled=""
|
|
12
13
|
href="/bazinga"
|
|
14
|
+
tabindex="-1"
|
|
13
15
|
>
|
|
14
16
|
Test
|
|
15
|
-
</
|
|
16
|
-
</
|
|
17
|
+
</a>
|
|
18
|
+
</h3>
|
|
17
19
|
</div>
|
|
18
20
|
`;
|
|
19
21
|
|
|
20
22
|
exports[`CNavItem customize 2`] = `
|
|
21
23
|
<div>
|
|
22
|
-
<
|
|
24
|
+
<h3
|
|
23
25
|
class="nav-item bazinga"
|
|
24
26
|
>
|
|
25
|
-
<
|
|
27
|
+
<a
|
|
26
28
|
aria-current="page"
|
|
29
|
+
aria-disabled="true"
|
|
27
30
|
class="nav-link bazinga active disabled"
|
|
28
31
|
disabled=""
|
|
29
32
|
href="/bazinga"
|
|
33
|
+
tabindex="-1"
|
|
30
34
|
>
|
|
31
35
|
Test
|
|
32
|
-
</
|
|
33
|
-
</
|
|
36
|
+
</a>
|
|
37
|
+
</h3>
|
|
34
38
|
</div>
|
|
35
39
|
`;
|
|
36
40
|
|
|
@@ -22,9 +22,9 @@ export interface CPopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'tit
|
|
|
22
22
|
/**
|
|
23
23
|
* Appends the react popover to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
|
|
24
24
|
*
|
|
25
|
-
* @since
|
|
25
|
+
* @since 4.11.0
|
|
26
26
|
*/
|
|
27
|
-
container?: Element | (() => Element | null) | null
|
|
27
|
+
container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
|
|
28
28
|
/**
|
|
29
29
|
* Content node for your component.
|
|
30
30
|
*/
|
|
@@ -149,6 +149,7 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
initPopper(togglerRef.current, popoverRef.current, popperConfig)
|
|
152
|
+
popoverRef.current.style.removeProperty('display')
|
|
152
153
|
popoverRef.current.classList.add('show')
|
|
153
154
|
onShow && onShow()
|
|
154
155
|
}
|
|
@@ -160,6 +161,10 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
|
|
|
160
161
|
popoverRef.current.classList.remove('show')
|
|
161
162
|
onHide && onHide()
|
|
162
163
|
executeAfterTransition(() => {
|
|
164
|
+
if (popoverRef.current) {
|
|
165
|
+
popoverRef.current.style.display = 'none'
|
|
166
|
+
}
|
|
167
|
+
|
|
163
168
|
destroyPopper()
|
|
164
169
|
setMounted(false)
|
|
165
170
|
}, popoverRef.current)
|
|
@@ -193,6 +198,9 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
|
|
|
193
198
|
id={uID.current}
|
|
194
199
|
ref={forkedRef}
|
|
195
200
|
role="tooltip"
|
|
201
|
+
style={{
|
|
202
|
+
display: 'none',
|
|
203
|
+
}}
|
|
196
204
|
{...rest}
|
|
197
205
|
>
|
|
198
206
|
<div className="popover-arrow"></div>
|
|
@@ -6,7 +6,7 @@ import { CPopover, CButton } from '../../../index'
|
|
|
6
6
|
test('loads and displays CPopover component', async () => {
|
|
7
7
|
const { container } = render(
|
|
8
8
|
<CPopover content="A">
|
|
9
|
-
<CButton>Test</CButton>
|
|
9
|
+
<CButton color="primary">Test</CButton>
|
|
10
10
|
</CPopover>,
|
|
11
11
|
)
|
|
12
12
|
expect(container).toMatchSnapshot()
|
|
@@ -17,7 +17,7 @@ test('CPopover customize', async () => {
|
|
|
17
17
|
let arr, element
|
|
18
18
|
const { container } = render(
|
|
19
19
|
<CPopover content="content" title="title" trigger="click" placement="right">
|
|
20
|
-
<CButton>Test</CButton>
|
|
20
|
+
<CButton color="primary">Test</CButton>
|
|
21
21
|
</CPopover>,
|
|
22
22
|
{ container: document.body },
|
|
23
23
|
)
|
|
@@ -3,11 +3,33 @@
|
|
|
3
3
|
exports[`CPopover customize 1`] = `
|
|
4
4
|
<body>
|
|
5
5
|
<button
|
|
6
|
+
aria-describedby="popover744956"
|
|
6
7
|
class="btn btn-primary"
|
|
7
8
|
type="button"
|
|
8
9
|
>
|
|
9
10
|
Test
|
|
10
11
|
</button>
|
|
12
|
+
<div
|
|
13
|
+
class="popover bs-popover-auto fade show"
|
|
14
|
+
id="popover744956"
|
|
15
|
+
role="tooltip"
|
|
16
|
+
style="position: absolute; left: 0px; top: 0px; margin: 0px;"
|
|
17
|
+
>
|
|
18
|
+
<div
|
|
19
|
+
class="popover-arrow"
|
|
20
|
+
style="position: absolute;"
|
|
21
|
+
/>
|
|
22
|
+
<div
|
|
23
|
+
class="popover-header"
|
|
24
|
+
>
|
|
25
|
+
title
|
|
26
|
+
</div>
|
|
27
|
+
<div
|
|
28
|
+
class="popover-body"
|
|
29
|
+
>
|
|
30
|
+
content
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
11
33
|
</body>
|
|
12
34
|
`;
|
|
13
35
|
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`CSidebarBrand customize 1`] = `
|
|
4
4
|
<div>
|
|
5
|
-
<
|
|
5
|
+
<a
|
|
6
6
|
class="sidebar-brand bazinga"
|
|
7
7
|
>
|
|
8
8
|
Test
|
|
9
|
-
</
|
|
9
|
+
</a>
|
|
10
10
|
</div>
|
|
11
11
|
`;
|
|
12
12
|
|
|
13
13
|
exports[`loads and displays CSidebarBrand component 1`] = `
|
|
14
14
|
<div>
|
|
15
|
-
<
|
|
15
|
+
<a
|
|
16
16
|
class="sidebar-brand"
|
|
17
17
|
color="primary"
|
|
18
18
|
>
|
|
19
19
|
Test
|
|
20
|
-
</
|
|
20
|
+
</a>
|
|
21
21
|
</div>
|
|
22
22
|
`;
|
|
@@ -4,7 +4,9 @@ exports[`CSidebarNav customize 1`] = `
|
|
|
4
4
|
<div>
|
|
5
5
|
<ul
|
|
6
6
|
class="sidebar-nav bazinga"
|
|
7
|
-
|
|
7
|
+
>
|
|
8
|
+
Test
|
|
9
|
+
</ul>
|
|
8
10
|
</div>
|
|
9
11
|
`;
|
|
10
12
|
|
|
@@ -12,6 +14,8 @@ exports[`loads and displays CSidebarNav component 1`] = `
|
|
|
12
14
|
<div>
|
|
13
15
|
<ul
|
|
14
16
|
class="sidebar-nav"
|
|
15
|
-
|
|
17
|
+
>
|
|
18
|
+
Test
|
|
19
|
+
</ul>
|
|
16
20
|
</div>
|
|
17
21
|
`;
|
|
@@ -84,6 +84,12 @@ export interface CTimePickerProps
|
|
|
84
84
|
* @since 5.0.0
|
|
85
85
|
*/
|
|
86
86
|
hours?: number[] | ((hour: number) => number[])
|
|
87
|
+
/**
|
|
88
|
+
* Set the id attribute for the input element.
|
|
89
|
+
*
|
|
90
|
+
* @since 5.3.0
|
|
91
|
+
*/
|
|
92
|
+
id?: string
|
|
87
93
|
/**
|
|
88
94
|
* Toggle visibility or set the content of the input indicator.
|
|
89
95
|
*/
|
|
@@ -108,6 +114,12 @@ export interface CTimePickerProps
|
|
|
108
114
|
* @since 5.0.0
|
|
109
115
|
*/
|
|
110
116
|
minutes?: boolean | number[] | ((minute: number) => number[])
|
|
117
|
+
/**
|
|
118
|
+
* Set the name attribute for the input element.
|
|
119
|
+
*
|
|
120
|
+
* @since 5.3.0
|
|
121
|
+
*/
|
|
122
|
+
name?: string
|
|
111
123
|
/**
|
|
112
124
|
* Callback fired when the time changed.
|
|
113
125
|
*/
|
|
@@ -171,6 +183,7 @@ export const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePicke
|
|
|
171
183
|
label,
|
|
172
184
|
locale = 'default',
|
|
173
185
|
minutes = true,
|
|
186
|
+
name,
|
|
174
187
|
onTimeChange,
|
|
175
188
|
onHide,
|
|
176
189
|
onShow,
|
|
@@ -306,6 +319,8 @@ export const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePicke
|
|
|
306
319
|
autoComplete="off"
|
|
307
320
|
className="time-picker-input"
|
|
308
321
|
disabled={disabled}
|
|
322
|
+
id={id}
|
|
323
|
+
name={name}
|
|
309
324
|
onChange={(event) => handleOnChange(event.target.value)}
|
|
310
325
|
placeholder={placeholder}
|
|
311
326
|
readOnly={inputReadOnly}
|
|
@@ -460,7 +475,6 @@ export const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePicke
|
|
|
460
475
|
)}
|
|
461
476
|
</div>
|
|
462
477
|
}
|
|
463
|
-
id={id}
|
|
464
478
|
onHide={() => {
|
|
465
479
|
setVisible(false)
|
|
466
480
|
onHide && onHide()
|
|
@@ -536,6 +550,7 @@ CTimePicker.propTypes = {
|
|
|
536
550
|
confirmButtonSize: CButton.propTypes?.size,
|
|
537
551
|
confirmButtonVariant: CButton.propTypes?.variant,
|
|
538
552
|
hours: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number.isRequired), PropTypes.func]),
|
|
553
|
+
id: PropTypes.string,
|
|
539
554
|
inputOnChangeDelay: PropTypes.number,
|
|
540
555
|
locale: PropTypes.string,
|
|
541
556
|
minutes: PropTypes.oneOfType([
|
|
@@ -543,6 +558,7 @@ CTimePicker.propTypes = {
|
|
|
543
558
|
PropTypes.arrayOf(PropTypes.number.isRequired),
|
|
544
559
|
PropTypes.func,
|
|
545
560
|
]),
|
|
561
|
+
name: PropTypes.string,
|
|
546
562
|
onTimeChange: PropTypes.func,
|
|
547
563
|
required: PropTypes.bool,
|
|
548
564
|
seconds: PropTypes.oneOfType([
|
|
@@ -22,9 +22,9 @@ export interface CTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'con
|
|
|
22
22
|
/**
|
|
23
23
|
* Appends the react tooltip to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
|
|
24
24
|
*
|
|
25
|
-
* @since
|
|
25
|
+
* @since 4.11.0
|
|
26
26
|
*/
|
|
27
|
-
container?: Element | (() => Element | null) | null
|
|
27
|
+
container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
|
|
28
28
|
/**
|
|
29
29
|
* Content node for your component.
|
|
30
30
|
*/
|
|
@@ -144,6 +144,7 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
initPopper(togglerRef.current, tooltipRef.current, popperConfig)
|
|
147
|
+
tooltipRef.current.style.removeProperty('display')
|
|
147
148
|
tooltipRef.current.classList.add('show')
|
|
148
149
|
onShow && onShow()
|
|
149
150
|
}
|
|
@@ -155,6 +156,10 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
155
156
|
tooltipRef.current.classList.remove('show')
|
|
156
157
|
onHide && onHide()
|
|
157
158
|
executeAfterTransition(() => {
|
|
159
|
+
if (tooltipRef.current) {
|
|
160
|
+
tooltipRef.current.style.display = 'none'
|
|
161
|
+
}
|
|
162
|
+
|
|
158
163
|
destroyPopper()
|
|
159
164
|
setMounted(false)
|
|
160
165
|
}, tooltipRef.current)
|
|
@@ -192,6 +197,9 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
192
197
|
id={uID.current}
|
|
193
198
|
ref={forkedRef}
|
|
194
199
|
role="tooltip"
|
|
200
|
+
style={{
|
|
201
|
+
display: 'none',
|
|
202
|
+
}}
|
|
195
203
|
{...rest}
|
|
196
204
|
>
|
|
197
205
|
<div className="tooltip-arrow"></div>
|