@nova-design-system/nova-react 3.9.0 → 3.10.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/dist/cjs/{constants-4faa1fae-BzFAKCkR.js → constants-23aaef7b-Cj2b-su0.js} +12 -0
- package/dist/cjs/{index-BPZo04LR.js → index-Cm4m8MM1.js} +1509 -552
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/{nv-accordion-item.entry-igHq6GcV.js → nv-accordion-item.entry-CnpS6CGa.js} +2 -2
- package/dist/cjs/{nv-accordion.entry-CjUtVUBZ.js → nv-accordion.entry-8UIjQG0P.js} +1 -1
- package/dist/cjs/{nv-alert.entry-NETR8Q1I.js → nv-alert.entry-96FaJ9yM.js} +8 -8
- package/dist/cjs/{nv-avatar.entry-B75vfd1u.js → nv-avatar.entry-BcLkxe35.js} +7 -7
- package/dist/cjs/nv-badge_2.entry-CzDec_7j.js +206 -0
- package/dist/cjs/{nv-breadcrumb.entry-21ZDbr-x.js → nv-breadcrumb.entry-BvnO7tGb.js} +2 -2
- package/dist/cjs/{nv-breadcrumbs.entry-CrqqjIzx.js → nv-breadcrumbs.entry-Du98f0lC.js} +1 -1
- package/dist/cjs/{nv-button.entry-D-2Zt42f.js → nv-button.entry-D8Ob5YDg.js} +8 -8
- package/dist/cjs/nv-buttongroup.entry-BGpQpMD_.js +195 -0
- package/dist/cjs/{nv-calendar.entry-BHT-inlG.js → nv-calendar.entry-CAINTAPB.js} +127 -44
- package/dist/cjs/{nv-col.entry-AHfSMqc1.js → nv-col.entry-5trkPEIg.js} +2 -2
- package/dist/cjs/{nv-datagrid.entry-BRT5wQGR.js → nv-datagrid.entry-DqbLtkI4.js} +9 -9
- package/dist/cjs/{nv-datagridcolumn.entry-BMDydM-l.js → nv-datagridcolumn.entry-Dn1u3PFr.js} +2 -2
- package/dist/cjs/{nv-dialog.entry-NPDVQdjH.js → nv-dialog.entry-pibB_NBe.js} +3 -3
- package/dist/cjs/{nv-dialogfooter_2.entry-CyHKMRiZ.js → nv-dialogfooter_2.entry-0MTTK7Y2.js} +5 -5
- package/dist/cjs/{nv-fieldcheckbox.entry-DyoNGs60.js → nv-fieldcheckbox.entry-DBSUOWI_.js} +6 -6
- package/dist/cjs/{nv-fielddate.entry-CgnVYTZx.js → nv-fielddate.entry-DM6ap-c_.js} +63 -95
- package/dist/cjs/{nv-fielddaterange.entry-DVcNJ2nO.js → nv-fielddaterange.entry-DJEbpwlV.js} +53 -34
- package/dist/cjs/{nv-fielddropdown.entry-D1Gb5Lvr.js → nv-fielddropdown.entry-COGswgIv.js} +4 -4
- package/dist/cjs/{nv-fielddropdownitem.entry-D1YDyF8i.js → nv-fielddropdownitem.entry-m6TjyMp3.js} +2 -2
- package/dist/cjs/{nv-fieldmultiselect.entry-eOD0Tk6H.js → nv-fieldmultiselect.entry-PhmD9JYp.js} +378 -28
- package/dist/cjs/{nv-fieldnumber.entry-C0S5sB8-.js → nv-fieldnumber.entry-dR0KzTa9.js} +4 -4
- package/dist/cjs/{nv-fieldpassword.entry-BwK_EseD.js → nv-fieldpassword.entry-CuQO_qjq.js} +4 -4
- package/dist/cjs/{nv-fieldradio.entry-DseYLmZY.js → nv-fieldradio.entry-UvL5fKFQ.js} +5 -5
- package/dist/cjs/{nv-fieldselect.entry-CO4wZVq5.js → nv-fieldselect.entry-DKMYBCaJ.js} +6 -6
- package/dist/cjs/{nv-fieldslider.entry-Bd_ntnN9.js → nv-fieldslider.entry-tOUuTb46.js} +4 -4
- package/dist/cjs/{nv-fieldtext.entry-BomXuhfy.js → nv-fieldtext.entry-m9XbYLZW.js} +4 -4
- package/dist/cjs/{nv-fieldtextarea.entry-COUlp8L8.js → nv-fieldtextarea.entry-DQpfF5ME.js} +4 -4
- package/dist/cjs/{nv-fieldtime.entry-Ejb66NjT.js → nv-fieldtime.entry-Pmt1E_Hm.js} +66 -66
- package/dist/cjs/{nv-icon.entry-DZgf515j.js → nv-icon.entry-C4VmFtRW.js} +9 -9
- package/dist/cjs/{nv-iconbutton_2.entry-C7cXslTK.js → nv-iconbutton_2.entry-Cc2xKJb5.js} +4 -4
- package/dist/cjs/{nv-menu.entry-Bd2VP2mz.js → nv-menu.entry-B6kxLiip.js} +2 -2
- package/dist/cjs/{nv-menuitem.entry-COtjh76S.js → nv-menuitem.entry-rYbCnY7o.js} +2 -2
- package/dist/cjs/{nv-popover.entry-BNDaFpW5.js → nv-popover.entry-CJJjW4Pv.js} +2 -2
- package/dist/cjs/{nv-row.entry-Aae5W4O5.js → nv-row.entry-BMMoJvjb.js} +2 -2
- package/dist/cjs/{nv-stack.entry-sV1xr1W5.js → nv-stack.entry-DI6QCSbS.js} +2 -2
- package/dist/cjs/{nv-table.entry-Dwq9q1W7.js → nv-table.entry-BPWQIWyg.js} +3 -3
- package/dist/cjs/{nv-tablecolumn.entry-_lJgMLCe.js → nv-tablecolumn.entry-De81f1e9.js} +1 -1
- package/dist/cjs/{nv-toggle.entry-COR80n7Q.js → nv-toggle.entry-BTNtBXGR.js} +4 -4
- package/dist/cjs/nv-togglebutton.entry-vWKwWiQe.js +55 -0
- package/dist/cjs/nv-togglebuttongroup.entry-BmpHIXnd.js +169 -0
- package/dist/cjs/{nv-tooltip.entry-BOB0Y-Wc.js → nv-tooltip.entry-BJHXydMC.js} +2 -2
- package/dist/generated/components.js +24 -0
- package/dist/generated/components.server.js +41 -4
- package/dist/types/generated/components.d.ts +16 -0
- package/dist/types/generated/components.server.d.ts +16 -0
- package/package.json +1 -1
- package/dist/cjs/nv-badge_2.entry-CAvYBnR-.js +0 -206
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-Cm4m8MM1.js');
|
|
4
|
+
require('react');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Utility functions for nv-buttongroup.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Recursively finds the first button or link element within a container
|
|
11
|
+
* @param {HTMLElement} element - The HTML element to search within
|
|
12
|
+
* @returns {HTMLElement | null} The first button or link element found, or null if none exists
|
|
13
|
+
*/
|
|
14
|
+
function findFirstButtonOrLink(element) {
|
|
15
|
+
// Check if the element itself is a button or link
|
|
16
|
+
const tagName = element.tagName.toLowerCase();
|
|
17
|
+
if (tagName === 'nv-button' ||
|
|
18
|
+
tagName === 'nv-iconbutton' ||
|
|
19
|
+
tagName === 'a') {
|
|
20
|
+
return element;
|
|
21
|
+
}
|
|
22
|
+
// Recursively search through children
|
|
23
|
+
for (const child of Array.from(element.children)) {
|
|
24
|
+
const found = findFirstButtonOrLink(child);
|
|
25
|
+
if (found) {
|
|
26
|
+
return found;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Forwards the buttongroup properties to all child elements
|
|
33
|
+
* @param {HTMLElement} containerElement - The container element containing the buttons
|
|
34
|
+
* @param {object} props - The properties to forward to children
|
|
35
|
+
* @param {string} props.size - The size property to apply
|
|
36
|
+
* @param {string} props.emphasis - The emphasis property to apply
|
|
37
|
+
* @param {boolean} props.fluid - Whether the buttons should be fluid
|
|
38
|
+
*/
|
|
39
|
+
function forwardPropsToChildren(containerElement, props) {
|
|
40
|
+
const children = Array.from(containerElement.children);
|
|
41
|
+
const buttonElements = [];
|
|
42
|
+
// Find the first button or link in each direct child
|
|
43
|
+
children.forEach(child => {
|
|
44
|
+
const buttonOrLink = findFirstButtonOrLink(child);
|
|
45
|
+
if (buttonOrLink) {
|
|
46
|
+
buttonElements.push(buttonOrLink);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
buttonElements.forEach(element => {
|
|
50
|
+
element.classList.remove('first', 'last', 'group-item');
|
|
51
|
+
});
|
|
52
|
+
// Apply properties and positional classes to found elements
|
|
53
|
+
buttonElements.forEach((element, index) => {
|
|
54
|
+
const isFirst = index === 0;
|
|
55
|
+
const isLast = index === buttonElements.length - 1;
|
|
56
|
+
const tagName = element.tagName.toLowerCase();
|
|
57
|
+
// Add positional classes
|
|
58
|
+
if (isFirst) {
|
|
59
|
+
element.classList.add('first');
|
|
60
|
+
}
|
|
61
|
+
if (isLast) {
|
|
62
|
+
element.classList.add('last');
|
|
63
|
+
}
|
|
64
|
+
// Add group item classes
|
|
65
|
+
element.classList.add('group-item');
|
|
66
|
+
// Forward props to nv-button elements
|
|
67
|
+
if (tagName === 'nv-button' || tagName === 'nv-iconbutton') {
|
|
68
|
+
element.setAttribute('size', props.size);
|
|
69
|
+
element.setAttribute('emphasis', props.emphasis);
|
|
70
|
+
if (props.fluid) {
|
|
71
|
+
element.setAttribute('fluid', '');
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
element.removeAttribute('fluid');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Forward props to anchor elements by adding CSS classes
|
|
78
|
+
if (tagName === 'a') {
|
|
79
|
+
element.classList.add('nv-button');
|
|
80
|
+
element.classList.add(`size-${props.size}`);
|
|
81
|
+
element.classList.add(`emphasis-${props.emphasis}`);
|
|
82
|
+
if (props.fluid) {
|
|
83
|
+
element.classList.add('fluid');
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
element.classList.remove('fluid');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const nvButtongroupCss = "nv-buttongroup{display:flex}nv-buttongroup[emphasis=high]{gap:1px}nv-buttongroup[emphasis=low] .group-item,nv-buttongroup[emphasis=low] .group-item:hover{border:1px solid var(--components-button-low-text)}nv-buttongroup[emphasis=lower] .group-item,nv-buttongroup[emphasis=lower] .group-item:hover{border:1px solid var(--components-button-lower-text)}nv-buttongroup:not([orientation=vertical]) .group-item:not(.last):not(.first){border-radius:0}nv-buttongroup:not([orientation=vertical]) .group-item.first{border-top-right-radius:0;border-bottom-right-radius:0}nv-buttongroup:not([orientation=vertical]) .group-item.last{border-top-left-radius:0;border-bottom-left-radius:0}nv-buttongroup:not([orientation=vertical])[emphasis=medium] .group-item:not(.last){border-right:none}nv-buttongroup:not([orientation=vertical])[emphasis=low] .group-item:not(.last){border-right:none}nv-buttongroup:not([orientation=vertical])[emphasis=low] .group-item:not(.first){border-left:none}nv-buttongroup:not([orientation=vertical])[emphasis=lower] .group-item:not(.last){border-right:none}nv-buttongroup:not([orientation=vertical])[emphasis=lower] .group-item:not(.first){border-left:none}nv-buttongroup[orientation=vertical]{flex-direction:column;align-items:stretch;width:fit-content}nv-buttongroup[orientation=vertical] .group-item{width:unset;display:flex}nv-buttongroup[orientation=vertical] .group-item:not(.last):not(.first){border-radius:0}nv-buttongroup[orientation=vertical] .group-item.first{border-bottom-left-radius:0;border-bottom-right-radius:0}nv-buttongroup[orientation=vertical] .group-item.last{border-top-left-radius:0;border-top-right-radius:0}nv-buttongroup[orientation=vertical][emphasis=medium] .group-item:not(.last){border-bottom:none}nv-buttongroup[orientation=vertical][emphasis=low] .group-item:not(.last){border-bottom:none}nv-buttongroup[orientation=vertical][emphasis=low] .group-item:not(.first){border-top:none}nv-buttongroup[orientation=vertical][emphasis=lower] .group-item:not(.last){border-bottom:none}nv-buttongroup[orientation=vertical][emphasis=lower] .group-item:not(.first){border-top:none}";
|
|
93
|
+
const NvButtongroupStyle0 = nvButtongroupCss;
|
|
94
|
+
|
|
95
|
+
const NvButtongroup = class {
|
|
96
|
+
constructor(hostRef) {
|
|
97
|
+
index.registerInstance(this, hostRef);
|
|
98
|
+
/****************************************************************************/
|
|
99
|
+
//#region PROPERTIES
|
|
100
|
+
/**
|
|
101
|
+
* Determines how large or small all the buttons appear, allowing for
|
|
102
|
+
* customization of the button's dimensions to fit different design
|
|
103
|
+
* specifications and user needs.
|
|
104
|
+
*/
|
|
105
|
+
this.size = 'md';
|
|
106
|
+
/**
|
|
107
|
+
* Adjusts the emphasis of all the buttons to make it more or less visually
|
|
108
|
+
* prominent to users. Use this to draw attention to important actions or
|
|
109
|
+
* reduce focus on less critical ones
|
|
110
|
+
*/
|
|
111
|
+
this.emphasis = 'medium';
|
|
112
|
+
/**
|
|
113
|
+
* Allows the button group to stretch and fill the entire width of its
|
|
114
|
+
* container.
|
|
115
|
+
*/
|
|
116
|
+
this.fluid = false;
|
|
117
|
+
/**
|
|
118
|
+
* Determines the orientation of the button group. When enabled, the buttons
|
|
119
|
+
* are stacked vertically rather than aligned side by side.
|
|
120
|
+
*/
|
|
121
|
+
this.orientation = 'horizontal';
|
|
122
|
+
//#endregion PROPERTIES
|
|
123
|
+
/****************************************************************************/
|
|
124
|
+
//#region METHODS
|
|
125
|
+
/**
|
|
126
|
+
* Forwards the buttongroup properties to all child elements
|
|
127
|
+
*/
|
|
128
|
+
this.forwardPropsToChildren = () => {
|
|
129
|
+
forwardPropsToChildren(this.el, {
|
|
130
|
+
size: this.size,
|
|
131
|
+
emphasis: this.emphasis,
|
|
132
|
+
fluid: this.fluid,
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Sets up the MutationObserver to watch for changes in child elements
|
|
137
|
+
*/
|
|
138
|
+
this.setupMutationObserver = () => {
|
|
139
|
+
this.mutationObserver = new MutationObserver(mutations => {
|
|
140
|
+
mutations.forEach(mutation => {
|
|
141
|
+
if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
|
|
142
|
+
// Forward props to all children when changes occur
|
|
143
|
+
this.forwardPropsToChildren();
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
this.mutationObserver.observe(this.el, {
|
|
148
|
+
childList: true,
|
|
149
|
+
subtree: true,
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//#endregion METHODS
|
|
154
|
+
/****************************************************************************/
|
|
155
|
+
//#region WATCHERS
|
|
156
|
+
onEmphasisChange() {
|
|
157
|
+
this.forwardPropsToChildren();
|
|
158
|
+
}
|
|
159
|
+
onSizeChange() {
|
|
160
|
+
this.forwardPropsToChildren();
|
|
161
|
+
}
|
|
162
|
+
onFluidChange() {
|
|
163
|
+
this.forwardPropsToChildren();
|
|
164
|
+
}
|
|
165
|
+
//#endregion WATCHERS
|
|
166
|
+
/****************************************************************************/
|
|
167
|
+
//#region LIFECYCLE
|
|
168
|
+
componentWillLoad() {
|
|
169
|
+
this.forwardPropsToChildren();
|
|
170
|
+
this.setupMutationObserver();
|
|
171
|
+
}
|
|
172
|
+
disconnectedCallback() {
|
|
173
|
+
if (this.mutationObserver) {
|
|
174
|
+
this.mutationObserver.disconnect();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//#endregion LIFECYCLE
|
|
178
|
+
/****************************************************************************/
|
|
179
|
+
//#region EVENTS
|
|
180
|
+
//#endregion EVENTS
|
|
181
|
+
/****************************************************************************/
|
|
182
|
+
//#region RENDER
|
|
183
|
+
render() {
|
|
184
|
+
return (index.h(index.Host, { key: 'd0322897a0312e7b55b087e4abfc94fcaf9f7747' }, index.h("slot", { key: '70afccf10fe728482096d3fce42083e9931e06bd' })));
|
|
185
|
+
}
|
|
186
|
+
get el() { return index.getElement(this); }
|
|
187
|
+
static get watchers() { return {
|
|
188
|
+
"emphasis": ["onEmphasisChange"],
|
|
189
|
+
"size": ["onSizeChange"],
|
|
190
|
+
"fluid": ["onFluidChange"]
|
|
191
|
+
}; }
|
|
192
|
+
};
|
|
193
|
+
NvButtongroup.style = NvButtongroupStyle0;
|
|
194
|
+
|
|
195
|
+
exports.nv_buttongroup = NvButtongroup;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var
|
|
3
|
+
var index = require('./index-Cm4m8MM1.js');
|
|
4
|
+
var constants23aaef7b = require('./constants-23aaef7b-Cj2b-su0.js');
|
|
5
5
|
var _commonjsHelpers1789f0cf = require('./_commonjsHelpers-1789f0cf-BJu3ubxk.js');
|
|
6
6
|
require('react');
|
|
7
7
|
|
|
@@ -239,6 +239,74 @@ function parseDate(dateInput, dateFormat) {
|
|
|
239
239
|
}
|
|
240
240
|
return parsed.toDate();
|
|
241
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Checks if a date is disabled.
|
|
244
|
+
* @param {Date} date - Date to check
|
|
245
|
+
* @param {string} min - Minimum date
|
|
246
|
+
* @param {string} max - Maximum date
|
|
247
|
+
* @param {Date[]} parsedDisabledDates - Parsed disabled dates
|
|
248
|
+
* @param {string} dateFormat - Date format
|
|
249
|
+
* @param {boolean} isUTCMode - Whether the dates are in UTC mode
|
|
250
|
+
* @returns {boolean} true if the date is disabled
|
|
251
|
+
*/
|
|
252
|
+
function isDateDisabledUtil(date, min, max, parsedDisabledDates, dateFormat, isUTCMode) {
|
|
253
|
+
if (!date)
|
|
254
|
+
return true;
|
|
255
|
+
if (min) {
|
|
256
|
+
const minDate = parseDate(min, dateFormat);
|
|
257
|
+
if (minDate && date < minDate) {
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (max) {
|
|
262
|
+
const maxDate = parseDate(max, dateFormat);
|
|
263
|
+
if (maxDate && date > maxDate) {
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return parsedDisabledDates.some(disabledDate => isSameDate(date, disabledDate, { isUTCMode }));
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Checks if a date is within the hover range.
|
|
271
|
+
* @param {Date} date - The date to check.
|
|
272
|
+
* @param {Date} startDate - The start of the range.
|
|
273
|
+
* @param {Date | null} hoverDate - The hovered date.
|
|
274
|
+
* @returns {boolean} True if the date is in the hover range.
|
|
275
|
+
*/
|
|
276
|
+
const isInHoverRange = (date, startDate, hoverDate) => {
|
|
277
|
+
if (!hoverDate || !startDate || !date) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
const start = startDate < hoverDate ? startDate : hoverDate;
|
|
281
|
+
const end = startDate < hoverDate ? hoverDate : startDate;
|
|
282
|
+
return date > start && date < end;
|
|
283
|
+
};
|
|
284
|
+
/**
|
|
285
|
+
* Checks if the hover range is valid (does not contain disabled dates).
|
|
286
|
+
* @param {Date} startDate - The start of the range.
|
|
287
|
+
* @param {Date | null} hoverDate - The hovered date.
|
|
288
|
+
* @param {string} min - The minimum allowed date.
|
|
289
|
+
* @param {string} max - The maximum allowed date.
|
|
290
|
+
* @param {Date[]} parsedDisabledDates - An array of disabled dates.
|
|
291
|
+
* @param {string} dateFormat - The date format for parsing.
|
|
292
|
+
* @param {boolean} isUTCMode - Flag for UTC mode.
|
|
293
|
+
* @returns {boolean} True if the hover range is valid.
|
|
294
|
+
*/
|
|
295
|
+
const isHoverRangeValid = (startDate, hoverDate, min, max, parsedDisabledDates, dateFormat, isUTCMode) => {
|
|
296
|
+
if (!hoverDate || !startDate) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
const start = startDate < hoverDate ? startDate : hoverDate;
|
|
300
|
+
const end = startDate < hoverDate ? hoverDate : startDate;
|
|
301
|
+
const current = new Date(start);
|
|
302
|
+
while (current <= end) {
|
|
303
|
+
if (isDateDisabledUtil(current, min, max, parsedDisabledDates, dateFormat, isUTCMode)) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
current.setDate(current.getDate() + 1);
|
|
307
|
+
}
|
|
308
|
+
return true;
|
|
309
|
+
};
|
|
242
310
|
|
|
243
311
|
/**
|
|
244
312
|
* Renders a single day cell in the calendar grid
|
|
@@ -246,7 +314,7 @@ function parseDate(dateInput, dateFormat) {
|
|
|
246
314
|
* @returns {JSX.Element} JSX element representing a day cell
|
|
247
315
|
*/
|
|
248
316
|
const DayCell = props => {
|
|
249
|
-
const { date, dayOfMonth, isCurrentMonth, isSelected, isInRange, isStart, isEnd, isToday, isDisabled, onClick, } = props;
|
|
317
|
+
const { date, dayOfMonth, isCurrentMonth, isSelected, isInRange, isStart, isEnd, isToday, isDisabled, onClick, onDayHover, isInHoverRange, isHoverRangeValid, } = props;
|
|
250
318
|
// Build CSS classes for the day cell
|
|
251
319
|
const dayClasses = [
|
|
252
320
|
'day',
|
|
@@ -257,17 +325,12 @@ const DayCell = props => {
|
|
|
257
325
|
isDisabled ? 'disabled' : '',
|
|
258
326
|
!isCurrentMonth ? 'outside-month' : '',
|
|
259
327
|
isToday ? 'is-today' : '',
|
|
328
|
+
isInHoverRange && isHoverRangeValid ? 'hover-range' : '',
|
|
329
|
+
isInHoverRange && !isHoverRangeValid ? 'hover-blocked' : '',
|
|
260
330
|
]
|
|
261
331
|
.filter(Boolean)
|
|
262
332
|
.join(' ');
|
|
263
|
-
|
|
264
|
-
if (!isDisabled && onClick) {
|
|
265
|
-
onClick(date);
|
|
266
|
-
}
|
|
267
|
-
};
|
|
268
|
-
return (
|
|
269
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
270
|
-
index.h("div", { class: dayClasses, onClick: handleClick, "aria-disabled": isDisabled }, dayOfMonth));
|
|
333
|
+
return (index.h("div", { class: dayClasses, "data-date": date.toISOString(), onClick: !isDisabled ? onClick : undefined, onMouseEnter: onDayHover, "aria-disabled": isDisabled }, dayOfMonth));
|
|
271
334
|
};
|
|
272
335
|
|
|
273
336
|
/**
|
|
@@ -392,10 +455,10 @@ const CalendarHeader = props => {
|
|
|
392
455
|
* @returns {JSX.Element} JSX element representing the calendar grid
|
|
393
456
|
*/
|
|
394
457
|
const CalendarGrid = props => {
|
|
395
|
-
const { days, dayNames, selectionType, selectedDate, startDate, endDate, isUTCMode, onDayClick, isDateInRange, isToday, } = props;
|
|
458
|
+
const { days, dayNames, selectionType, selectedDate, startDate, endDate, isUTCMode, onDayClick, isDateInRange, isToday, onDayHover, onMouseLeave, hoverDate, isInHoverRange, isHoverRangeValid, } = props;
|
|
396
459
|
return (index.h("div", { class: "days-container" },
|
|
397
460
|
index.h("div", { class: "days-header" }, dayNames.map((day, index$1) => (index.h("div", { class: "day-header", key: `day-header-${index$1}` }, day)))),
|
|
398
|
-
index.h("div", { class: "days-grid" }, days.map(day => {
|
|
461
|
+
index.h("div", { class: "days-grid", onMouseLeave: onMouseLeave }, days.map(day => {
|
|
399
462
|
if (day.isBlank) {
|
|
400
463
|
return index.h("div", { class: "day day-blank" });
|
|
401
464
|
}
|
|
@@ -409,11 +472,13 @@ const CalendarGrid = props => {
|
|
|
409
472
|
const isStart = isSameDate(date, startDate, { isUTCMode });
|
|
410
473
|
const isEnd = isSameDate(date, endDate, { isUTCMode });
|
|
411
474
|
const isTodayDate = isToday(date);
|
|
412
|
-
|
|
475
|
+
const inHoverRange = isInHoverRange(date, startDate, hoverDate);
|
|
476
|
+
const hoverRangeValid = isHoverRangeValid(startDate, hoverDate);
|
|
477
|
+
return (index.h(DayCell, { date: date, dayOfMonth: day.dayOfMonth, isCurrentMonth: day.isCurrentMonth, isSelected: isSelected, isInRange: isInRange, isStart: isStart, isEnd: isEnd, isToday: isTodayDate, isDisabled: day.isDisabled, selectionType: selectionType, onClick: onDayClick, onDayHover: onDayHover, isInHoverRange: inHoverRange, isHoverRangeValid: hoverRangeValid }));
|
|
413
478
|
}))));
|
|
414
479
|
};
|
|
415
480
|
|
|
416
|
-
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.is-empty{pointer-events:none;background-color:transparent;border-color:transparent}.day.day-blank{pointer-events:none;background-color:transparent;border-color:transparent}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
481
|
+
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.is-empty{pointer-events:none;background-color:transparent;border-color:transparent}.day.day-blank{pointer-events:none;background-color:transparent;border-color:transparent}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.day.hover-range{background-color:var(--components-calendar-cell-background-hover)}.day.hover-blocked{background-color:var(--components-calendar-cell-background-hover)}.day.disabled.hover-blocked{background-color:transparent}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
417
482
|
const NvCalendarStyle0 = nvCalendarCss;
|
|
418
483
|
|
|
419
484
|
const NvCalendar = class {
|
|
@@ -480,6 +545,7 @@ const NvCalendar = class {
|
|
|
480
545
|
this.selectedDate = null;
|
|
481
546
|
this.startDate = null;
|
|
482
547
|
this.endDate = null;
|
|
548
|
+
this.hoverDate = null;
|
|
483
549
|
/** List of formatted months for the selector */
|
|
484
550
|
this.months = [];
|
|
485
551
|
/**
|
|
@@ -498,6 +564,12 @@ const NvCalendar = class {
|
|
|
498
564
|
.split(',')
|
|
499
565
|
.map(v => v.trim())
|
|
500
566
|
.filter(Boolean);
|
|
567
|
+
if (this.selectionType === 'range' && values.length < 2) {
|
|
568
|
+
console.warn(`Invalid date range format: ${value}`);
|
|
569
|
+
this.startDate = null;
|
|
570
|
+
this.endDate = null;
|
|
571
|
+
return;
|
|
572
|
+
}
|
|
501
573
|
if (this.selectionType === 'single' && values.length >= 1) {
|
|
502
574
|
const parsedDate = parseDate(values[0], this.dateFormat);
|
|
503
575
|
if (parsedDate) {
|
|
@@ -542,7 +614,7 @@ const NvCalendar = class {
|
|
|
542
614
|
}
|
|
543
615
|
else {
|
|
544
616
|
// Handle malformed dates gracefully - reset state
|
|
545
|
-
console.warn(`Invalid date range format: ${values[0]}, ${values[1]}`);
|
|
617
|
+
console.warn(`Invalid date range format: ${values === null || values === void 0 ? void 0 : values[0]}, ${values === null || values === void 0 ? void 0 : values[1]}`);
|
|
546
618
|
this.startDate = null;
|
|
547
619
|
this.endDate = null;
|
|
548
620
|
if (!this.showActions) {
|
|
@@ -568,11 +640,29 @@ const NvCalendar = class {
|
|
|
568
640
|
});
|
|
569
641
|
this.currentDate = newDate;
|
|
570
642
|
};
|
|
643
|
+
this.handleMouseLeave = () => {
|
|
644
|
+
this.hoverDate = null;
|
|
645
|
+
};
|
|
646
|
+
this.handleDayHover = (event) => {
|
|
647
|
+
const target = event.target;
|
|
648
|
+
const dateStr = target.getAttribute('data-date');
|
|
649
|
+
if (dateStr &&
|
|
650
|
+
this.selectionType === 'range' &&
|
|
651
|
+
this.startDate &&
|
|
652
|
+
!this.endDate) {
|
|
653
|
+
this.hoverDate = new Date(dateStr);
|
|
654
|
+
}
|
|
655
|
+
};
|
|
571
656
|
/**
|
|
572
657
|
* Handles date selection based on the mode
|
|
573
|
-
* @param {
|
|
658
|
+
* @param {MouseEvent} event - The mouse event from the click.
|
|
574
659
|
*/
|
|
575
|
-
this.handleDateSelection = (
|
|
660
|
+
this.handleDateSelection = (event) => {
|
|
661
|
+
const target = event.target;
|
|
662
|
+
const dateStr = target.getAttribute('data-date');
|
|
663
|
+
if (!dateStr)
|
|
664
|
+
return;
|
|
665
|
+
const date = new Date(dateStr);
|
|
576
666
|
if (this.isDateDisabled(date)) {
|
|
577
667
|
return;
|
|
578
668
|
}
|
|
@@ -618,6 +708,7 @@ const NvCalendar = class {
|
|
|
618
708
|
else {
|
|
619
709
|
// Complete range selection
|
|
620
710
|
this.endDate = date;
|
|
711
|
+
this.hoverDate = null;
|
|
621
712
|
// Ensure correct order
|
|
622
713
|
if (this.startDate > this.endDate) {
|
|
623
714
|
[this.startDate, this.endDate] = [this.endDate, this.startDate];
|
|
@@ -649,24 +740,7 @@ const NvCalendar = class {
|
|
|
649
740
|
* @returns {boolean} true if the date is disabled
|
|
650
741
|
*/
|
|
651
742
|
this.isDateDisabled = (date) => {
|
|
652
|
-
|
|
653
|
-
return true;
|
|
654
|
-
// Minimum bound check
|
|
655
|
-
if (this.min) {
|
|
656
|
-
const minDate = parseDate(this.min, this.dateFormat);
|
|
657
|
-
if (minDate && date < minDate) {
|
|
658
|
-
return true;
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
// Maximum bound check
|
|
662
|
-
if (this.max) {
|
|
663
|
-
const maxDate = parseDate(this.max, this.dateFormat);
|
|
664
|
-
if (maxDate && date > maxDate) {
|
|
665
|
-
return true;
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
// Check disabled dates
|
|
669
|
-
return this.parsedDisabledDates.some(disabledDate => isSameDate(date, disabledDate, { isUTCMode: this.isUTCMode }));
|
|
743
|
+
return isDateDisabledUtil(date, this.min, this.max, this.parsedDisabledDates, this.dateFormat, this.isUTCMode);
|
|
670
744
|
};
|
|
671
745
|
/**
|
|
672
746
|
* Checks if a date is in the selected range
|
|
@@ -697,9 +771,9 @@ const NvCalendar = class {
|
|
|
697
771
|
this.getDayNames = () => {
|
|
698
772
|
let days;
|
|
699
773
|
// If we have custom day names for this locale
|
|
700
|
-
if (
|
|
774
|
+
if (constants23aaef7b.CUSTOM_DAY_NAMES[this.locale]) {
|
|
701
775
|
// Custom day names are expected to start with Monday (index 0 = Monday)
|
|
702
|
-
days = [...
|
|
776
|
+
days = [...constants23aaef7b.CUSTOM_DAY_NAMES[this.locale]];
|
|
703
777
|
}
|
|
704
778
|
else {
|
|
705
779
|
// Generate days using Intl.DateTimeFormat, starting from Monday
|
|
@@ -789,8 +863,8 @@ const NvCalendar = class {
|
|
|
789
863
|
/** Initializes the list of formatted months according to the locale */
|
|
790
864
|
this.initializeMonths = () => {
|
|
791
865
|
// If we have custom month names for this locale
|
|
792
|
-
if (
|
|
793
|
-
this.months =
|
|
866
|
+
if (constants23aaef7b.CUSTOM_MONTH_NAMES[this.locale]) {
|
|
867
|
+
this.months = constants23aaef7b.CUSTOM_MONTH_NAMES[this.locale].map((label, value) => ({
|
|
794
868
|
value,
|
|
795
869
|
label,
|
|
796
870
|
}));
|
|
@@ -808,7 +882,7 @@ const NvCalendar = class {
|
|
|
808
882
|
* @returns {string} Localized abbreviation for "week"
|
|
809
883
|
*/
|
|
810
884
|
this.getLocalizedWeekText = () => {
|
|
811
|
-
return
|
|
885
|
+
return constants23aaef7b.WEEK_ABBREVIATIONS[this.locale] || 'W';
|
|
812
886
|
};
|
|
813
887
|
/**
|
|
814
888
|
* Handles month change in the selector
|
|
@@ -1063,6 +1137,15 @@ const NvCalendar = class {
|
|
|
1063
1137
|
index$1) => {
|
|
1064
1138
|
return (index.h(WeekNumbers, { weeks: weeks, localizedWeekText: this.getLocalizedWeekText(), selectionType: this.selectionType, onWeekSelect: this.handleWeekSelection, calendarIndex: index$1 }));
|
|
1065
1139
|
};
|
|
1140
|
+
/**
|
|
1141
|
+
* Checks if the hover range is valid
|
|
1142
|
+
* @param {Date} startDate - Start date
|
|
1143
|
+
* @param {Date | null} hoverDate - Hovered date
|
|
1144
|
+
* @returns {boolean} true if the hover range is valid
|
|
1145
|
+
*/
|
|
1146
|
+
this.isHoverRangeValidFn = (startDate, hoverDate) => {
|
|
1147
|
+
return isHoverRangeValid(startDate, hoverDate, this.min, this.max, this.parsedDisabledDates, this.dateFormat, this.isUTCMode);
|
|
1148
|
+
};
|
|
1066
1149
|
/**
|
|
1067
1150
|
* Renders the calendar
|
|
1068
1151
|
* @param {number} index - Calendar index
|
|
@@ -1085,7 +1168,7 @@ const NvCalendar = class {
|
|
|
1085
1168
|
targetDate.setUTCMonth(targetDate.getUTCMonth() + offset);
|
|
1086
1169
|
const year = targetDate.getUTCFullYear();
|
|
1087
1170
|
const month = targetDate.getUTCMonth();
|
|
1088
|
-
return (index.h("div", { class: "calendar-wrapper" }, index.h("div", { class: "calendar-container", key: `calendar-${index$1}-${year}-${month}` }, this.renderHeader(offset, index$1), index.h("div", { class: "calendar-grid" }, this.showWeekNumbers && this.renderWeekNumbers(weeks, index$1), index.h(CalendarGrid, { days: days, dayNames: this.getDayNames(), selectionType: this.selectionType, selectedDate: this.selectedDate, startDate: this.startDate, endDate: this.endDate, isUTCMode: this.isUTCMode, onDayClick: this.handleDateSelection, isDateInRange: this.isDateInRange, isToday: this.isToday }))), index$1 < this.numberOfCalendars - 1 && (index.h("div", { class: "calendar-separator" }))));
|
|
1171
|
+
return (index.h("div", { class: "calendar-wrapper" }, index.h("div", { class: "calendar-container", key: `calendar-${index$1}-${year}-${month}` }, this.renderHeader(offset, index$1), index.h("div", { class: "calendar-grid" }, this.showWeekNumbers && this.renderWeekNumbers(weeks, index$1), index.h(CalendarGrid, { days: days, dayNames: this.getDayNames(), selectionType: this.selectionType, selectedDate: this.selectedDate, startDate: this.startDate, endDate: this.endDate, isUTCMode: this.isUTCMode, onDayClick: this.handleDateSelection, isDateInRange: this.isDateInRange, isToday: this.isToday, onDayHover: this.handleDayHover, onMouseLeave: this.handleMouseLeave, hoverDate: this.hoverDate, isInHoverRange: isInHoverRange, isHoverRangeValid: this.isHoverRangeValidFn }))), index$1 < this.numberOfCalendars - 1 && (index.h("div", { class: "calendar-separator" }))));
|
|
1089
1172
|
};
|
|
1090
1173
|
/**
|
|
1091
1174
|
* Renders the shortcuts
|
|
@@ -1305,8 +1388,8 @@ const NvCalendar = class {
|
|
|
1305
1388
|
* @slot default - Child content of the component.
|
|
1306
1389
|
*/
|
|
1307
1390
|
render() {
|
|
1308
|
-
return (index.h(index.Host, { key: '
|
|
1309
|
-
this.hasActions) && (index.h("div", { key: '
|
|
1391
|
+
return (index.h(index.Host, { key: '15aa3c2afb51ea1fbd16de597889d687fb8d1982' }, index.h("div", { key: '6492b58cb2b5c9bb7fd6c40e8f37e9c2142b5827', class: "datepicker-root" }, index.h("div", { key: '3cb216c3af4900b48c2dcd09a0a0034c7ebf622d', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, index.h("div", { key: '0663841721d5db871e7ede0ec396affa560ea99d', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), ((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||
|
|
1392
|
+
this.hasActions) && (index.h("div", { key: '0a17a627cb1e4a4cb2b91aa104403b00d055bce5', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), index.h("slot", { key: '3104795c8cc9c81a6aca7e426a145e3966a4361e' })));
|
|
1310
1393
|
}
|
|
1311
1394
|
get el() { return index.getElement(this); }
|
|
1312
1395
|
static get watchers() { return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Cm4m8MM1.js');
|
|
4
4
|
var clsx297c1ffe = require('./clsx-297c1ffe-BtxeOLZW.js');
|
|
5
5
|
require('react');
|
|
6
6
|
|
|
@@ -29,7 +29,7 @@ const NvCol = class {
|
|
|
29
29
|
/****************************************************************************/
|
|
30
30
|
//#region RENDER
|
|
31
31
|
render() {
|
|
32
|
-
return (index.h(index.Host, { key: '
|
|
32
|
+
return (index.h(index.Host, { key: '4fe90a1d020de9e85d32a52ccb39c8b6d8c1fc25', class: clsx297c1ffe.clsx(this.getColSize()) }, index.h("slot", { key: '5a6ad624fd7c6251b2f555c0e3bc828c0e048761' })));
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
NvCol.style = NvColStyle0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Cm4m8MM1.js');
|
|
4
4
|
var dom_utilsAc71e0ef = require('./dom.utils-ac71e0ef-CmIwRr6O.js');
|
|
5
|
-
var
|
|
5
|
+
var constants23aaef7b = require('./constants-23aaef7b-Cj2b-su0.js');
|
|
6
6
|
require('react');
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -3309,7 +3309,7 @@ function debounce(func, wait) {
|
|
|
3309
3309
|
};
|
|
3310
3310
|
}
|
|
3311
3311
|
|
|
3312
|
-
const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
|
|
3312
|
+
const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
|
|
3313
3313
|
const NvDatagridStyle0 = nvDatagridCss;
|
|
3314
3314
|
|
|
3315
3315
|
const NvDatagrid = class {
|
|
@@ -3464,9 +3464,9 @@ const NvDatagrid = class {
|
|
|
3464
3464
|
return;
|
|
3465
3465
|
const nextOrder = header.column.getNextSortingOrder();
|
|
3466
3466
|
switch (nextOrder) {
|
|
3467
|
-
case
|
|
3467
|
+
case constants23aaef7b.SortingPossibility.Asc:
|
|
3468
3468
|
return 'Sort ascending';
|
|
3469
|
-
case
|
|
3469
|
+
case constants23aaef7b.SortingPossibility.Desc:
|
|
3470
3470
|
return 'Sort descending';
|
|
3471
3471
|
default:
|
|
3472
3472
|
return 'Clear sort';
|
|
@@ -4158,10 +4158,10 @@ const NvDatagrid = class {
|
|
|
4158
4158
|
if (!header.column.getCanSort())
|
|
4159
4159
|
return null;
|
|
4160
4160
|
const sortState = header.column.getIsSorted();
|
|
4161
|
-
if (sortState ===
|
|
4161
|
+
if (sortState === constants23aaef7b.SortingPossibility.Asc) {
|
|
4162
4162
|
return (index.h("div", { class: "inline-flex align-middle" }, index.h("nv-icon", { name: "arrow-up" })));
|
|
4163
4163
|
}
|
|
4164
|
-
if (sortState ===
|
|
4164
|
+
if (sortState === constants23aaef7b.SortingPossibility.Desc) {
|
|
4165
4165
|
return (index.h("div", { class: "inline-flex align-middle" }, index.h("nv-icon", { name: "arrow-down" })));
|
|
4166
4166
|
}
|
|
4167
4167
|
return null;
|
|
@@ -4321,7 +4321,7 @@ const NvDatagrid = class {
|
|
|
4321
4321
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
4322
4322
|
? []
|
|
4323
4323
|
: (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
|
|
4324
|
-
return (index.h(index.Host, { key: '
|
|
4324
|
+
return (index.h(index.Host, { key: '12113da221c66835cbd3c9c6f84d386b01a6cd3d' }, index.h("div", { key: '81e429e22f928758c413e295d431b9b5e989304f', class: "hidden" }, index.h("slot", { key: '12a21e3793f14ae1b47df812bf6d4c4d0d6c02f3' })), index.h("slot", { key: '372beaeea9fec7014a372961c6fabfae485c4cdc', name: "before" }), this.enableGlobalFilter && this.table && (index.h("div", { key: 'ca2589c327c23d4e4155d716f7d92c463ff36ab9', class: `search-container justify-${this.globalFilterPosition}` }, index.h("nv-fieldtext", { key: '749336787db4601d30d9b96d3f0db7f1cffe545f', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("div", null, index.h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", null, this.parsedColumns.length > 0 && headerGroups
|
|
4325
4325
|
? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (index.h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
|
|
4326
4326
|
return this.getHeaderCell(header);
|
|
4327
4327
|
}))))
|
|
@@ -4332,7 +4332,7 @@ const NvDatagrid = class {
|
|
|
4332
4332
|
return (index.h("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
|
|
4333
4333
|
})));
|
|
4334
4334
|
}))), this.table && this.enableRowSelection ? (index.h("tfoot", null, index.h("tr", null, index.h("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (index.h("div", null, this.rowSelectionState &&
|
|
4335
|
-
Object.keys(this.rowSelectionState).length > 0 ? (index.h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (index.h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), index.h("slot", { key: '
|
|
4335
|
+
Object.keys(this.rowSelectionState).length > 0 ? (index.h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (index.h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), index.h("slot", { key: 'd7dbad31543cb111f4137fd1a0430f9a2803bfdd', name: "after" })));
|
|
4336
4336
|
}
|
|
4337
4337
|
get el() { return index.getElement(this); }
|
|
4338
4338
|
static get watchers() { return {
|