@cerebruminc/cerebellum 16.1.1 → 16.2.0-beta.dangerous.0ea68fe
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/lib/cjs/ColorPickerInput-CBPI8IJ-.js +187 -0
- package/lib/cjs/ColorPickerInput-CBPI8IJ-.js.map +1 -0
- package/lib/cjs/ColorPickerInput.cjs +25 -0
- package/lib/cjs/ColorPickerInput.cjs.map +1 -0
- package/lib/cjs/DatePicker.cjs +1 -1
- package/lib/cjs/Form.cjs +7 -4
- package/lib/cjs/Form.cjs.map +1 -1
- package/lib/cjs/FormFieldTypeEnum.cjs +5 -0
- package/lib/cjs/FormFieldTypeEnum.cjs.map +1 -1
- package/lib/cjs/FormSeparator.cjs +3 -1
- package/lib/cjs/FormSeparator.cjs.map +1 -1
- package/lib/cjs/{FormStyles-CxgYRZOl.js → FormStyles-oEHUS8Oi.js} +43 -22
- package/lib/cjs/{FormStyles-CxgYRZOl.js.map → FormStyles-oEHUS8Oi.js.map} +1 -1
- package/lib/cjs/FormWrapper.cjs +3 -1
- package/lib/cjs/FormWrapper.cjs.map +1 -1
- package/lib/cjs/{FormikContainer-CY2nLsAs.js → FormikContainer-DDXxSB2z.js} +37 -4
- package/lib/cjs/{FormikContainer-CY2nLsAs.js.map → FormikContainer-DDXxSB2z.js.map} +1 -1
- package/lib/cjs/InlineColorPickerInput.cjs +25 -0
- package/lib/cjs/InlineColorPickerInput.cjs.map +1 -0
- package/lib/cjs/{InlineDatePicker-DFv_uHo9.js → InlineDatePicker-B7DTwvhv.js} +344 -176
- package/lib/cjs/InlineDatePicker-B7DTwvhv.js.map +1 -0
- package/lib/cjs/InlineDatePicker.cjs +1 -1
- package/lib/cjs/TitleGroup.cjs +3 -1
- package/lib/cjs/TitleGroup.cjs.map +1 -1
- package/lib/cjs/cerebellumTheme.cjs +5 -0
- package/lib/cjs/cerebellumTheme.cjs.map +1 -1
- package/lib/cjs/index.cjs +9 -3
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/validateColorContrast.cjs +53 -0
- package/lib/cjs/validateColorContrast.cjs.map +1 -0
- package/lib/cjs/validateColorContrastWithMessage.cjs +10 -0
- package/lib/cjs/validateColorContrastWithMessage.cjs.map +1 -0
- package/lib/esm/ColorPickerInput-S8X2gIA5.js +180 -0
- package/lib/esm/ColorPickerInput-S8X2gIA5.js.map +1 -0
- package/lib/esm/ColorPickerInput.js +18 -0
- package/lib/esm/ColorPickerInput.js.map +1 -0
- package/lib/esm/DatePicker.js +1 -1
- package/lib/esm/Form.js +7 -5
- package/lib/esm/Form.js.map +1 -1
- package/lib/esm/FormFieldTypeEnum.js +5 -1
- package/lib/esm/FormFieldTypeEnum.js.map +1 -1
- package/lib/esm/FormSeparator.js +3 -1
- package/lib/esm/FormSeparator.js.map +1 -1
- package/lib/esm/{FormStyles-BQJPyTS0.js → FormStyles-wlDzB1vZ.js} +44 -23
- package/lib/esm/{FormStyles-BQJPyTS0.js.map → FormStyles-wlDzB1vZ.js.map} +1 -1
- package/lib/esm/FormWrapper.js +3 -1
- package/lib/esm/FormWrapper.js.map +1 -1
- package/lib/esm/{FormikContainer-SJPYfIkF.js → FormikContainer--y08X-6j.js} +38 -5
- package/lib/esm/{FormikContainer-SJPYfIkF.js.map → FormikContainer--y08X-6j.js.map} +1 -1
- package/lib/esm/InlineColorPickerInput.js +18 -0
- package/lib/esm/InlineColorPickerInput.js.map +1 -0
- package/lib/esm/{InlineDatePicker-ClVBWEzW.js → InlineDatePicker-BuxjkoV0.js} +345 -177
- package/lib/esm/InlineDatePicker-BuxjkoV0.js.map +1 -0
- package/lib/esm/InlineDatePicker.js +1 -1
- package/lib/esm/TitleGroup.js +3 -1
- package/lib/esm/TitleGroup.js.map +1 -1
- package/lib/esm/cerebellumTheme.js +5 -0
- package/lib/esm/cerebellumTheme.js.map +1 -1
- package/lib/esm/index.js +6 -4
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/validateColorContrast.js +50 -0
- package/lib/esm/validateColorContrast.js.map +1 -0
- package/lib/esm/validateColorContrastWithMessage.js +3 -0
- package/lib/esm/validateColorContrastWithMessage.js.map +1 -0
- package/lib/types/src/components/ColorPickerInput/ColorPickerInput.d.ts +3 -0
- package/lib/types/src/components/ColorPickerInput/InlineColorPickerInput.d.ts +3 -0
- package/lib/types/src/components/ColorPickerInput/index.d.ts +3 -0
- package/lib/types/src/components/ColorPickerInput/types.d.ts +48 -0
- package/lib/types/src/components/Form/fields/ColorPickerField/ColorPickerField.d.ts +4 -0
- package/lib/types/src/components/Form/fields/ColorPickerField/index.d.ts +1 -0
- package/lib/types/src/components/Form/fields/index.d.ts +2 -1
- package/lib/types/src/components/Form/index.d.ts +3 -3
- package/lib/types/src/components/Form/mocks/fields.d.ts +62 -0
- package/lib/types/src/components/Form/types.d.ts +36 -2
- package/lib/types/src/helpers/colorValidators.d.ts +19 -0
- package/lib/types/src/index.d.ts +5 -1
- package/lib/types/src/theme.d.ts +6 -0
- package/package.json +1 -1
- package/lib/cjs/InlineDatePicker-DFv_uHo9.js.map +0 -1
- package/lib/esm/InlineDatePicker-ClVBWEzW.js.map +0 -1
|
@@ -7521,34 +7521,40 @@ function isShadowRoot(value) {
|
|
|
7521
7521
|
}
|
|
7522
7522
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
7523
7523
|
}
|
|
7524
|
+
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
7524
7525
|
function isOverflowElement(element) {
|
|
7525
7526
|
const {
|
|
7526
7527
|
overflow,
|
|
7527
7528
|
overflowX,
|
|
7528
7529
|
overflowY,
|
|
7529
7530
|
display
|
|
7530
|
-
} = getComputedStyle(element);
|
|
7531
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
7531
|
+
} = getComputedStyle$1(element);
|
|
7532
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
|
|
7532
7533
|
}
|
|
7534
|
+
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
7533
7535
|
function isTableElement(element) {
|
|
7534
|
-
return
|
|
7536
|
+
return tableElements.has(getNodeName(element));
|
|
7535
7537
|
}
|
|
7538
|
+
const topLayerSelectors = [':popover-open', ':modal'];
|
|
7536
7539
|
function isTopLayer(element) {
|
|
7537
|
-
return
|
|
7540
|
+
return topLayerSelectors.some(selector => {
|
|
7538
7541
|
try {
|
|
7539
7542
|
return element.matches(selector);
|
|
7540
|
-
} catch (
|
|
7543
|
+
} catch (_e) {
|
|
7541
7544
|
return false;
|
|
7542
7545
|
}
|
|
7543
7546
|
});
|
|
7544
7547
|
}
|
|
7548
|
+
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
7549
|
+
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
7550
|
+
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
7545
7551
|
function isContainingBlock(elementOrCss) {
|
|
7546
7552
|
const webkit = isWebKit();
|
|
7547
|
-
const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
|
|
7553
|
+
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
7548
7554
|
|
|
7549
7555
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
7550
7556
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
7551
|
-
return
|
|
7557
|
+
return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));
|
|
7552
7558
|
}
|
|
7553
7559
|
function getContainingBlock(element) {
|
|
7554
7560
|
let currentNode = getParentNode(element);
|
|
@@ -7566,10 +7572,11 @@ function isWebKit() {
|
|
|
7566
7572
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
7567
7573
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
7568
7574
|
}
|
|
7575
|
+
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
7569
7576
|
function isLastTraversableNode(node) {
|
|
7570
|
-
return
|
|
7577
|
+
return lastTraversableNodeNames.has(getNodeName(node));
|
|
7571
7578
|
}
|
|
7572
|
-
function getComputedStyle(element) {
|
|
7579
|
+
function getComputedStyle$1(element) {
|
|
7573
7580
|
return getWindow(element).getComputedStyle(element);
|
|
7574
7581
|
}
|
|
7575
7582
|
function getNodeScroll(element) {
|
|
@@ -7671,8 +7678,9 @@ function getOppositeAxis(axis) {
|
|
|
7671
7678
|
function getAxisLength(axis) {
|
|
7672
7679
|
return axis === 'y' ? 'height' : 'width';
|
|
7673
7680
|
}
|
|
7681
|
+
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
7674
7682
|
function getSideAxis(placement) {
|
|
7675
|
-
return
|
|
7683
|
+
return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
|
|
7676
7684
|
}
|
|
7677
7685
|
function getAlignmentAxis(placement) {
|
|
7678
7686
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -7697,19 +7705,19 @@ function getExpandedPlacements(placement) {
|
|
|
7697
7705
|
function getOppositeAlignmentPlacement(placement) {
|
|
7698
7706
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
7699
7707
|
}
|
|
7708
|
+
const lrPlacement = ['left', 'right'];
|
|
7709
|
+
const rlPlacement = ['right', 'left'];
|
|
7710
|
+
const tbPlacement = ['top', 'bottom'];
|
|
7711
|
+
const btPlacement = ['bottom', 'top'];
|
|
7700
7712
|
function getSideList(side, isStart, rtl) {
|
|
7701
|
-
const lr = ['left', 'right'];
|
|
7702
|
-
const rl = ['right', 'left'];
|
|
7703
|
-
const tb = ['top', 'bottom'];
|
|
7704
|
-
const bt = ['bottom', 'top'];
|
|
7705
7713
|
switch (side) {
|
|
7706
7714
|
case 'top':
|
|
7707
7715
|
case 'bottom':
|
|
7708
|
-
if (rtl) return isStart ?
|
|
7709
|
-
return isStart ?
|
|
7716
|
+
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
|
7717
|
+
return isStart ? lrPlacement : rlPlacement;
|
|
7710
7718
|
case 'left':
|
|
7711
7719
|
case 'right':
|
|
7712
|
-
return isStart ?
|
|
7720
|
+
return isStart ? tbPlacement : btPlacement;
|
|
7713
7721
|
default:
|
|
7714
7722
|
return [];
|
|
7715
7723
|
}
|
|
@@ -8161,7 +8169,7 @@ const flip$2 = function (options) {
|
|
|
8161
8169
|
if (!ignoreCrossAxisOverflow ||
|
|
8162
8170
|
// We leave the current main axis only if every placement on that axis
|
|
8163
8171
|
// overflows the main axis.
|
|
8164
|
-
overflowsData.every(d => d.overflows[0] > 0
|
|
8172
|
+
overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
8165
8173
|
// Try next placement and re-run the lifecycle.
|
|
8166
8174
|
return {
|
|
8167
8175
|
data: {
|
|
@@ -8218,6 +8226,8 @@ const flip$2 = function (options) {
|
|
|
8218
8226
|
};
|
|
8219
8227
|
};
|
|
8220
8228
|
|
|
8229
|
+
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
8230
|
+
|
|
8221
8231
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
8222
8232
|
// Derivable.
|
|
8223
8233
|
|
|
@@ -8231,7 +8241,7 @@ async function convertValueToCoords(state, options) {
|
|
|
8231
8241
|
const side = getSide(placement);
|
|
8232
8242
|
const alignment = getAlignment(placement);
|
|
8233
8243
|
const isVertical = getSideAxis(placement) === 'y';
|
|
8234
|
-
const mainAxisMulti =
|
|
8244
|
+
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
|
8235
8245
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
8236
8246
|
const rawValue = evaluate(options, state);
|
|
8237
8247
|
|
|
@@ -8303,7 +8313,7 @@ const offset$2 = function (options) {
|
|
|
8303
8313
|
};
|
|
8304
8314
|
|
|
8305
8315
|
function getCssDimensions(element) {
|
|
8306
|
-
const css = getComputedStyle(element);
|
|
8316
|
+
const css = getComputedStyle$1(element);
|
|
8307
8317
|
// In testing environments, the `width` and `height` properties are empty
|
|
8308
8318
|
// strings for SVG elements, returning NaN. Fallback to `0` in this case.
|
|
8309
8319
|
let width = parseFloat(css.width) || 0;
|
|
@@ -8408,7 +8418,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
8408
8418
|
while (currentIFrame && offsetParent && offsetWin !== currentWin) {
|
|
8409
8419
|
const iframeScale = getScale(currentIFrame);
|
|
8410
8420
|
const iframeRect = currentIFrame.getBoundingClientRect();
|
|
8411
|
-
const css = getComputedStyle(currentIFrame);
|
|
8421
|
+
const css = getComputedStyle$1(currentIFrame);
|
|
8412
8422
|
const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
|
|
8413
8423
|
const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
|
|
8414
8424
|
x *= iframeScale.x;
|
|
@@ -8439,14 +8449,9 @@ function getWindowScrollBarX(element, rect) {
|
|
|
8439
8449
|
return rect.left + leftScroll;
|
|
8440
8450
|
}
|
|
8441
8451
|
|
|
8442
|
-
function getHTMLOffset(documentElement, scroll
|
|
8443
|
-
if (ignoreScrollbarX === void 0) {
|
|
8444
|
-
ignoreScrollbarX = false;
|
|
8445
|
-
}
|
|
8452
|
+
function getHTMLOffset(documentElement, scroll) {
|
|
8446
8453
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
8447
|
-
const x = htmlRect.left + scroll.scrollLeft - (
|
|
8448
|
-
// RTL <body> scrollbar.
|
|
8449
|
-
getWindowScrollBarX(documentElement, htmlRect));
|
|
8454
|
+
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
|
8450
8455
|
const y = htmlRect.top + scroll.scrollTop;
|
|
8451
8456
|
return {
|
|
8452
8457
|
x,
|
|
@@ -8485,7 +8490,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
8485
8490
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
8486
8491
|
}
|
|
8487
8492
|
}
|
|
8488
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll
|
|
8493
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
8489
8494
|
return {
|
|
8490
8495
|
width: rect.width * scale.x,
|
|
8491
8496
|
height: rect.height * scale.y,
|
|
@@ -8508,7 +8513,7 @@ function getDocumentRect(element) {
|
|
|
8508
8513
|
const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
|
|
8509
8514
|
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
|
|
8510
8515
|
const y = -scroll.scrollTop;
|
|
8511
|
-
if (getComputedStyle(body).direction === 'rtl') {
|
|
8516
|
+
if (getComputedStyle$1(body).direction === 'rtl') {
|
|
8512
8517
|
x += max(html.clientWidth, body.clientWidth) - width;
|
|
8513
8518
|
}
|
|
8514
8519
|
return {
|
|
@@ -8519,6 +8524,10 @@ function getDocumentRect(element) {
|
|
|
8519
8524
|
};
|
|
8520
8525
|
}
|
|
8521
8526
|
|
|
8527
|
+
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
8528
|
+
// calculation is affected by unusual styles.
|
|
8529
|
+
// Most scrollbars leave 15-18px of space.
|
|
8530
|
+
const SCROLLBAR_MAX = 25;
|
|
8522
8531
|
function getViewportRect(element, strategy) {
|
|
8523
8532
|
const win = getWindow(element);
|
|
8524
8533
|
const html = getDocumentElement(element);
|
|
@@ -8536,6 +8545,24 @@ function getViewportRect(element, strategy) {
|
|
|
8536
8545
|
y = visualViewport.offsetTop;
|
|
8537
8546
|
}
|
|
8538
8547
|
}
|
|
8548
|
+
const windowScrollbarX = getWindowScrollBarX(html);
|
|
8549
|
+
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
8550
|
+
// visual width of the <html> but this is not considered in the size
|
|
8551
|
+
// of `html.clientWidth`.
|
|
8552
|
+
if (windowScrollbarX <= 0) {
|
|
8553
|
+
const doc = html.ownerDocument;
|
|
8554
|
+
const body = doc.body;
|
|
8555
|
+
const bodyStyles = getComputedStyle(body);
|
|
8556
|
+
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
8557
|
+
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
8558
|
+
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
8559
|
+
width -= clippingStableScrollbarWidth;
|
|
8560
|
+
}
|
|
8561
|
+
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
8562
|
+
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
8563
|
+
// by the scrollbar amount so there isn't extra space on the right.
|
|
8564
|
+
width += windowScrollbarX;
|
|
8565
|
+
}
|
|
8539
8566
|
return {
|
|
8540
8567
|
width,
|
|
8541
8568
|
height,
|
|
@@ -8544,6 +8571,7 @@ function getViewportRect(element, strategy) {
|
|
|
8544
8571
|
};
|
|
8545
8572
|
}
|
|
8546
8573
|
|
|
8574
|
+
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
8547
8575
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
8548
8576
|
function getInnerBoundingClientRect(element, strategy) {
|
|
8549
8577
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -8585,7 +8613,7 @@ function hasFixedPositionAncestor(element, stopNode) {
|
|
|
8585
8613
|
if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
|
|
8586
8614
|
return false;
|
|
8587
8615
|
}
|
|
8588
|
-
return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
|
8616
|
+
return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
|
8589
8617
|
}
|
|
8590
8618
|
|
|
8591
8619
|
// A "clipping ancestor" is an `overflow` element with the characteristic of
|
|
@@ -8598,17 +8626,17 @@ function getClippingElementAncestors(element, cache) {
|
|
|
8598
8626
|
}
|
|
8599
8627
|
let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
|
|
8600
8628
|
let currentContainingBlockComputedStyle = null;
|
|
8601
|
-
const elementIsFixed = getComputedStyle(element).position === 'fixed';
|
|
8629
|
+
const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
|
|
8602
8630
|
let currentNode = elementIsFixed ? getParentNode(element) : element;
|
|
8603
8631
|
|
|
8604
8632
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
8605
8633
|
while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
8606
|
-
const computedStyle = getComputedStyle(currentNode);
|
|
8634
|
+
const computedStyle = getComputedStyle$1(currentNode);
|
|
8607
8635
|
const currentNodeIsContaining = isContainingBlock(currentNode);
|
|
8608
8636
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
8609
8637
|
currentContainingBlockComputedStyle = null;
|
|
8610
8638
|
}
|
|
8611
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
8639
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
8612
8640
|
if (shouldDropCurrentNode) {
|
|
8613
8641
|
// Drop non-containing blocks.
|
|
8614
8642
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -8704,11 +8732,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
8704
8732
|
}
|
|
8705
8733
|
|
|
8706
8734
|
function isStaticPositioned(element) {
|
|
8707
|
-
return getComputedStyle(element).position === 'static';
|
|
8735
|
+
return getComputedStyle$1(element).position === 'static';
|
|
8708
8736
|
}
|
|
8709
8737
|
|
|
8710
8738
|
function getTrueOffsetParent(element, polyfill) {
|
|
8711
|
-
if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
|
|
8739
|
+
if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
|
|
8712
8740
|
return null;
|
|
8713
8741
|
}
|
|
8714
8742
|
if (polyfill) {
|
|
@@ -8769,7 +8797,7 @@ const getElementRects = async function (data) {
|
|
|
8769
8797
|
};
|
|
8770
8798
|
|
|
8771
8799
|
function isRTL(element) {
|
|
8772
|
-
return getComputedStyle(element).direction === 'rtl';
|
|
8800
|
+
return getComputedStyle$1(element).direction === 'rtl';
|
|
8773
8801
|
}
|
|
8774
8802
|
|
|
8775
8803
|
const platform = {
|
|
@@ -9409,7 +9437,7 @@ const FloatingArrow = /*#__PURE__*/React__namespace.forwardRef(function Floating
|
|
|
9409
9437
|
// https://github.com/floating-ui/floating-ui/issues/2932
|
|
9410
9438
|
index$1(() => {
|
|
9411
9439
|
if (!floating) return;
|
|
9412
|
-
const isRTL = getComputedStyle(floating).direction === 'rtl';
|
|
9440
|
+
const isRTL = getComputedStyle$1(floating).direction === 'rtl';
|
|
9413
9441
|
if (isRTL) {
|
|
9414
9442
|
setIsRTL(true);
|
|
9415
9443
|
}
|
|
@@ -9668,7 +9696,7 @@ function useFloating(options) {
|
|
|
9668
9696
|
}
|
|
9669
9697
|
|
|
9670
9698
|
/*!
|
|
9671
|
-
react-datepicker v8.
|
|
9699
|
+
react-datepicker v8.8.0
|
|
9672
9700
|
https://github.com/Hacker0x01/react-datepicker
|
|
9673
9701
|
Released under the MIT License.
|
|
9674
9702
|
*/
|
|
@@ -9903,12 +9931,13 @@ var DATE_RANGE_SEPARATOR = " - ";
|
|
|
9903
9931
|
* @returns - The formatted date range or an empty string.
|
|
9904
9932
|
*/
|
|
9905
9933
|
function safeDateRangeFormat(startDate, endDate, props) {
|
|
9906
|
-
if (!startDate) {
|
|
9934
|
+
if (!startDate && !endDate) {
|
|
9907
9935
|
return "";
|
|
9908
9936
|
}
|
|
9909
|
-
var formattedStartDate = safeDateFormat(startDate, props);
|
|
9937
|
+
var formattedStartDate = startDate ? safeDateFormat(startDate, props) : "";
|
|
9910
9938
|
var formattedEndDate = endDate ? safeDateFormat(endDate, props) : "";
|
|
9911
|
-
|
|
9939
|
+
var dateRangeSeparator = props.rangeSeparator || DATE_RANGE_SEPARATOR;
|
|
9940
|
+
return "".concat(formattedStartDate).concat(dateRangeSeparator).concat(formattedEndDate);
|
|
9912
9941
|
}
|
|
9913
9942
|
/**
|
|
9914
9943
|
* Safely formats multiple dates.
|
|
@@ -10244,7 +10273,10 @@ function getQuarterShortInLocale(quarter, locale) {
|
|
|
10244
10273
|
* @returns - Returns true if the day is disabled, false otherwise.
|
|
10245
10274
|
*/
|
|
10246
10275
|
function isDayDisabled(day, _a) {
|
|
10247
|
-
var _b = _a === void 0 ? {} : _a, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, excludeDateIntervals = _b.excludeDateIntervals, includeDates = _b.includeDates, includeDateIntervals = _b.includeDateIntervals, filterDate = _b.filterDate;
|
|
10276
|
+
var _b = _a === void 0 ? {} : _a, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, excludeDateIntervals = _b.excludeDateIntervals, includeDates = _b.includeDates, includeDateIntervals = _b.includeDateIntervals, filterDate = _b.filterDate, disabled = _b.disabled;
|
|
10277
|
+
if (disabled) {
|
|
10278
|
+
return true;
|
|
10279
|
+
}
|
|
10248
10280
|
return (isOutOfBounds(day, { minDate: minDate, maxDate: maxDate }) ||
|
|
10249
10281
|
(excludeDates &&
|
|
10250
10282
|
excludeDates.some(function (excludeDate) {
|
|
@@ -10344,7 +10376,10 @@ function isMonthYearDisabled(date, _a) {
|
|
|
10344
10376
|
false);
|
|
10345
10377
|
}
|
|
10346
10378
|
function isQuarterDisabled(quarter, _a) {
|
|
10347
|
-
var _b = _a === void 0 ? {} : _a, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, includeDates = _b.includeDates, filterDate = _b.filterDate;
|
|
10379
|
+
var _b = _a === void 0 ? {} : _a, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, includeDates = _b.includeDates, filterDate = _b.filterDate, disabled = _b.disabled;
|
|
10380
|
+
if (disabled) {
|
|
10381
|
+
return true;
|
|
10382
|
+
}
|
|
10348
10383
|
return (isOutOfBounds(quarter, { minDate: minDate, maxDate: maxDate }) ||
|
|
10349
10384
|
(excludeDates === null || excludeDates === void 0 ? void 0 : excludeDates.some(function (excludeDate) {
|
|
10350
10385
|
return isSameQuarter(quarter, excludeDate instanceof Date ? excludeDate : excludeDate.date);
|
|
@@ -10366,7 +10401,10 @@ function isYearInRange(year, start, end) {
|
|
|
10366
10401
|
return startYear <= year && endYear >= year;
|
|
10367
10402
|
}
|
|
10368
10403
|
function isYearDisabled(year, _a) {
|
|
10369
|
-
var _b = _a === void 0 ? {} : _a, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, includeDates = _b.includeDates, filterDate = _b.filterDate;
|
|
10404
|
+
var _b = _a === void 0 ? {} : _a, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, includeDates = _b.includeDates, filterDate = _b.filterDate, disabled = _b.disabled;
|
|
10405
|
+
if (disabled) {
|
|
10406
|
+
return true;
|
|
10407
|
+
}
|
|
10370
10408
|
var date = new Date(year, 0, 1);
|
|
10371
10409
|
return (isOutOfBounds(date, {
|
|
10372
10410
|
minDate: minDate ? startOfYear(minDate) : undefined,
|
|
@@ -10956,6 +10994,7 @@ var Day = /** @class */ (function (_super) {
|
|
|
10956
10994
|
includeDateIntervals: _this.props.includeDateIntervals,
|
|
10957
10995
|
includeDates: _this.props.includeDates,
|
|
10958
10996
|
filterDate: _this.props.filterDate,
|
|
10997
|
+
disabled: _this.props.disabled,
|
|
10959
10998
|
});
|
|
10960
10999
|
};
|
|
10961
11000
|
_this.isExcluded = function () {
|
|
@@ -11010,7 +11049,7 @@ var Day = /** @class */ (function (_super) {
|
|
|
11010
11049
|
};
|
|
11011
11050
|
_this.isInSelectingRange = function () {
|
|
11012
11051
|
var _a;
|
|
11013
|
-
var _b = _this.props, day = _b.day, selectsStart = _b.selectsStart, selectsEnd = _b.selectsEnd, selectsRange = _b.selectsRange, selectsDisabledDaysInRange = _b.selectsDisabledDaysInRange, startDate = _b.startDate, endDate = _b.endDate;
|
|
11052
|
+
var _b = _this.props, day = _b.day, selectsStart = _b.selectsStart, selectsEnd = _b.selectsEnd, selectsRange = _b.selectsRange, selectsDisabledDaysInRange = _b.selectsDisabledDaysInRange, startDate = _b.startDate, swapRange = _b.swapRange, endDate = _b.endDate;
|
|
11014
11053
|
var selectingDate = (_a = _this.props.selectingDate) !== null && _a !== void 0 ? _a : _this.props.preSelection;
|
|
11015
11054
|
if (!(selectsStart || selectsEnd || selectsRange) ||
|
|
11016
11055
|
!selectingDate ||
|
|
@@ -11027,11 +11066,16 @@ var Day = /** @class */ (function (_super) {
|
|
|
11027
11066
|
(isAfter(selectingDate, startDate) || isEqual(selectingDate, startDate))) {
|
|
11028
11067
|
return isDayInRange(day, startDate, selectingDate);
|
|
11029
11068
|
}
|
|
11030
|
-
if (selectsRange &&
|
|
11031
|
-
startDate
|
|
11032
|
-
|
|
11033
|
-
|
|
11034
|
-
|
|
11069
|
+
if (selectsRange && startDate && !endDate) {
|
|
11070
|
+
if (isEqual(selectingDate, startDate)) {
|
|
11071
|
+
return isDayInRange(day, startDate, selectingDate);
|
|
11072
|
+
}
|
|
11073
|
+
if (isAfter(selectingDate, startDate)) {
|
|
11074
|
+
return isDayInRange(day, startDate, selectingDate);
|
|
11075
|
+
}
|
|
11076
|
+
if (swapRange && isBefore(selectingDate, startDate)) {
|
|
11077
|
+
return isDayInRange(day, selectingDate, startDate);
|
|
11078
|
+
}
|
|
11035
11079
|
}
|
|
11036
11080
|
return false;
|
|
11037
11081
|
};
|
|
@@ -11040,28 +11084,33 @@ var Day = /** @class */ (function (_super) {
|
|
|
11040
11084
|
if (!_this.isInSelectingRange()) {
|
|
11041
11085
|
return false;
|
|
11042
11086
|
}
|
|
11043
|
-
var _b = _this.props, day = _b.day, startDate = _b.startDate, selectsStart = _b.selectsStart;
|
|
11087
|
+
var _b = _this.props, day = _b.day, startDate = _b.startDate, selectsStart = _b.selectsStart, swapRange = _b.swapRange, selectsRange = _b.selectsRange;
|
|
11044
11088
|
var selectingDate = (_a = _this.props.selectingDate) !== null && _a !== void 0 ? _a : _this.props.preSelection;
|
|
11045
11089
|
if (selectsStart) {
|
|
11046
11090
|
return isSameDay(day, selectingDate);
|
|
11047
11091
|
}
|
|
11048
|
-
|
|
11049
|
-
return isSameDay(day, startDate);
|
|
11092
|
+
if (selectsRange && swapRange && startDate && selectingDate) {
|
|
11093
|
+
return isSameDay(day, isBefore(selectingDate, startDate) ? selectingDate : startDate);
|
|
11050
11094
|
}
|
|
11095
|
+
return isSameDay(day, startDate);
|
|
11051
11096
|
};
|
|
11052
11097
|
_this.isSelectingRangeEnd = function () {
|
|
11053
11098
|
var _a;
|
|
11054
11099
|
if (!_this.isInSelectingRange()) {
|
|
11055
11100
|
return false;
|
|
11056
11101
|
}
|
|
11057
|
-
var _b = _this.props, day = _b.day, endDate = _b.endDate, selectsEnd = _b.selectsEnd, selectsRange = _b.selectsRange;
|
|
11102
|
+
var _b = _this.props, day = _b.day, endDate = _b.endDate, selectsEnd = _b.selectsEnd, selectsRange = _b.selectsRange, swapRange = _b.swapRange, startDate = _b.startDate;
|
|
11058
11103
|
var selectingDate = (_a = _this.props.selectingDate) !== null && _a !== void 0 ? _a : _this.props.preSelection;
|
|
11059
|
-
if (selectsEnd
|
|
11104
|
+
if (selectsEnd) {
|
|
11060
11105
|
return isSameDay(day, selectingDate);
|
|
11061
11106
|
}
|
|
11062
|
-
|
|
11063
|
-
return isSameDay(day,
|
|
11107
|
+
if (selectsRange && swapRange && startDate && selectingDate) {
|
|
11108
|
+
return isSameDay(day, isBefore(selectingDate, startDate) ? startDate : selectingDate);
|
|
11109
|
+
}
|
|
11110
|
+
if (selectsRange) {
|
|
11111
|
+
return isSameDay(day, selectingDate);
|
|
11064
11112
|
}
|
|
11113
|
+
return isSameDay(day, endDate);
|
|
11065
11114
|
};
|
|
11066
11115
|
_this.isRangeStart = function () {
|
|
11067
11116
|
var _a = _this.props, day = _a.day, startDate = _a.startDate, endDate = _a.endDate;
|
|
@@ -11182,7 +11231,7 @@ var Day = /** @class */ (function (_super) {
|
|
|
11182
11231
|
};
|
|
11183
11232
|
_this.render = function () { return (
|
|
11184
11233
|
// TODO: Use <option> instead of the "option" role to ensure accessibility across all devices.
|
|
11185
|
-
React__namespace.default.createElement("div", { ref: _this.dayEl, className: _this.getClassNames(_this.props.day), onKeyDown: _this.handleOnKeyDown, onClick: _this.handleClick, onMouseEnter: !_this.props.usePointerEvent ? _this.handleMouseEnter : undefined, onPointerEnter: _this.props.usePointerEvent ? _this.handleMouseEnter : undefined, tabIndex: _this.getTabIndex(), "aria-label": _this.getAriaLabel(), role: "
|
|
11234
|
+
React__namespace.default.createElement("div", { ref: _this.dayEl, className: _this.getClassNames(_this.props.day), onKeyDown: _this.handleOnKeyDown, onClick: _this.handleClick, onMouseEnter: !_this.props.usePointerEvent ? _this.handleMouseEnter : undefined, onPointerEnter: _this.props.usePointerEvent ? _this.handleMouseEnter : undefined, tabIndex: _this.getTabIndex(), "aria-label": _this.getAriaLabel(), role: "gridcell", title: _this.getTitle(), "aria-disabled": _this.isDisabled(), "aria-current": _this.isCurrentDay() ? "date" : undefined, "aria-selected": _this.isSelected() || _this.isInRange() },
|
|
11186
11235
|
_this.renderDayContents(),
|
|
11187
11236
|
_this.getTitle() !== "" && (React__namespace.default.createElement("span", { className: "overlay" }, _this.getTitle())))); };
|
|
11188
11237
|
return _this;
|
|
@@ -11320,7 +11369,7 @@ var WeekNumber = /** @class */ (function (_super) {
|
|
|
11320
11369
|
"react-datepicker__week-number--clickable": !!onClick && !isWeekDisabled,
|
|
11321
11370
|
"react-datepicker__week-number--selected": !!onClick && isSameDay(this.props.date, this.props.selected),
|
|
11322
11371
|
};
|
|
11323
|
-
return (React__namespace.default.createElement("div", { ref: this.weekNumberEl, className: clsx(weekNumberClasses), "aria-label": "".concat(ariaLabelPrefix, " ").concat(this.props.weekNumber), onClick: this.handleClick, onKeyDown: this.handleOnKeyDown, tabIndex: this.getTabIndex() }, weekNumber));
|
|
11372
|
+
return (React__namespace.default.createElement("div", { ref: this.weekNumberEl, className: clsx(weekNumberClasses), "aria-label": "".concat(ariaLabelPrefix, " ").concat(this.props.weekNumber), onClick: this.handleClick, onKeyDown: this.handleOnKeyDown, tabIndex: this.getTabIndex(), role: "gridcell" }, weekNumber));
|
|
11324
11373
|
};
|
|
11325
11374
|
return WeekNumber;
|
|
11326
11375
|
}(React.Component));
|
|
@@ -11429,7 +11478,10 @@ var Week = /** @class */ (function (_super) {
|
|
|
11429
11478
|
"react-datepicker__week--selected": isSameDay(this.startOfWeek(), this.props.selected),
|
|
11430
11479
|
"react-datepicker__week--keyboard-selected": this.isKeyboardSelected(),
|
|
11431
11480
|
};
|
|
11432
|
-
|
|
11481
|
+
var customWeekClassName = this.props.weekClassName
|
|
11482
|
+
? this.props.weekClassName(this.startOfWeek())
|
|
11483
|
+
: undefined;
|
|
11484
|
+
return (React__namespace.default.createElement("div", { className: clsx(weekNumberClasses, customWeekClassName), role: "row" }, this.renderDays()));
|
|
11433
11485
|
};
|
|
11434
11486
|
return Week;
|
|
11435
11487
|
}(React.Component));
|
|
@@ -11590,6 +11642,7 @@ var Month$1 = /** @class */ (function (_super) {
|
|
|
11590
11642
|
includeDateIntervals: _this.props.includeDateIntervals,
|
|
11591
11643
|
includeDates: _this.props.includeDates,
|
|
11592
11644
|
filterDate: _this.props.filterDate,
|
|
11645
|
+
disabled: _this.props.disabled,
|
|
11593
11646
|
});
|
|
11594
11647
|
};
|
|
11595
11648
|
_this.isExcluded = function (day) {
|
|
@@ -11957,8 +12010,14 @@ var Month$1 = /** @class */ (function (_super) {
|
|
|
11957
12010
|
};
|
|
11958
12011
|
_this.isMonthDisabledForLabelDate = function (month) {
|
|
11959
12012
|
var _a;
|
|
11960
|
-
var _b = _this.props, day = _b.day, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, includeDates = _b.includeDates;
|
|
12013
|
+
var _b = _this.props, day = _b.day, disabled = _b.disabled, minDate = _b.minDate, maxDate = _b.maxDate, excludeDates = _b.excludeDates, includeDates = _b.includeDates;
|
|
11961
12014
|
var labelDate = setMonth(day, month);
|
|
12015
|
+
if (disabled) {
|
|
12016
|
+
return {
|
|
12017
|
+
isDisabled: true,
|
|
12018
|
+
labelDate: setMonth(day, month),
|
|
12019
|
+
};
|
|
12020
|
+
}
|
|
11962
12021
|
return {
|
|
11963
12022
|
isDisabled: (_a = ((minDate || maxDate || excludeDates || includeDates) &&
|
|
11964
12023
|
isMonthDisabled(labelDate, _this.props))) !== null && _a !== void 0 ? _a : false,
|
|
@@ -12029,8 +12088,13 @@ var Month$1 = /** @class */ (function (_super) {
|
|
|
12029
12088
|
return "".concat(prefix, " ").concat(formatDate(labelDate, "MMMM yyyy", locale));
|
|
12030
12089
|
};
|
|
12031
12090
|
_this.getQuarterClassNames = function (q) {
|
|
12032
|
-
var _a = _this.props, day = _a.day, startDate = _a.startDate, endDate = _a.endDate, selected = _a.selected, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate, preSelection = _a.preSelection, disabledKeyboardNavigation = _a.disabledKeyboardNavigation;
|
|
12033
|
-
var isDisabled = (minDate ||
|
|
12091
|
+
var _a = _this.props, day = _a.day, startDate = _a.startDate, endDate = _a.endDate, selected = _a.selected, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate, preSelection = _a.preSelection, disabledKeyboardNavigation = _a.disabledKeyboardNavigation, disabled = _a.disabled;
|
|
12092
|
+
var isDisabled = (minDate ||
|
|
12093
|
+
maxDate ||
|
|
12094
|
+
excludeDates ||
|
|
12095
|
+
includeDates ||
|
|
12096
|
+
filterDate ||
|
|
12097
|
+
disabled) &&
|
|
12034
12098
|
isQuarterDisabled(setQuarter(day, q), _this.props);
|
|
12035
12099
|
return clsx("react-datepicker__quarter-text", "react-datepicker__quarter-".concat(q), {
|
|
12036
12100
|
"react-datepicker__quarter-text--disabled": isDisabled,
|
|
@@ -12119,11 +12183,14 @@ var Month$1 = /** @class */ (function (_super) {
|
|
|
12119
12183
|
var formattedAriaLabelPrefix = ariaLabelPrefix
|
|
12120
12184
|
? ariaLabelPrefix.trim() + " "
|
|
12121
12185
|
: "";
|
|
12122
|
-
|
|
12123
|
-
|
|
12124
|
-
:
|
|
12125
|
-
|
|
12126
|
-
|
|
12186
|
+
var shouldUseListboxRole = showMonthYearPicker || showQuarterYearPicker;
|
|
12187
|
+
if (shouldUseListboxRole) {
|
|
12188
|
+
return (React__namespace.default.createElement("div", { className: this.getClassNames(), onMouseLeave: !this.props.usePointerEvent ? this.handleMouseLeave : undefined, onPointerLeave: this.props.usePointerEvent ? this.handleMouseLeave : undefined, "aria-label": "".concat(formattedAriaLabelPrefix).concat(formatDate(day, "MMMM, yyyy", this.props.locale)), role: "listbox" }, showMonthYearPicker ? this.renderMonths() : this.renderQuarters()));
|
|
12189
|
+
}
|
|
12190
|
+
// For regular calendar view, use table structure
|
|
12191
|
+
return (React__namespace.default.createElement("div", { role: "table" },
|
|
12192
|
+
this.props.dayNamesHeader && (React__namespace.default.createElement("div", { role: "rowgroup" }, this.props.dayNamesHeader)),
|
|
12193
|
+
React__namespace.default.createElement("div", { className: this.getClassNames(), onMouseLeave: !this.props.usePointerEvent ? this.handleMouseLeave : undefined, onPointerLeave: this.props.usePointerEvent ? this.handleMouseLeave : undefined, "aria-label": "".concat(formattedAriaLabelPrefix).concat(formatDate(day, "MMMM, yyyy", this.props.locale)), role: "rowgroup" }, this.renderWeeks())));
|
|
12127
12194
|
};
|
|
12128
12195
|
return Month;
|
|
12129
12196
|
}(React.Component));
|
|
@@ -12132,11 +12199,40 @@ var MonthDropdownOptions = /** @class */ (function (_super) {
|
|
|
12132
12199
|
__extends(MonthDropdownOptions, _super);
|
|
12133
12200
|
function MonthDropdownOptions() {
|
|
12134
12201
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
12202
|
+
_this.monthOptionButtonsRef = {};
|
|
12135
12203
|
_this.isSelectedMonth = function (i) { return _this.props.month === i; };
|
|
12204
|
+
_this.handleOptionKeyDown = function (i, e) {
|
|
12205
|
+
var _a;
|
|
12206
|
+
switch (e.key) {
|
|
12207
|
+
case "Enter":
|
|
12208
|
+
e.preventDefault();
|
|
12209
|
+
_this.onChange(i);
|
|
12210
|
+
break;
|
|
12211
|
+
case "Escape":
|
|
12212
|
+
e.preventDefault();
|
|
12213
|
+
_this.props.onCancel();
|
|
12214
|
+
break;
|
|
12215
|
+
case "ArrowUp":
|
|
12216
|
+
case "ArrowDown": {
|
|
12217
|
+
e.preventDefault();
|
|
12218
|
+
var newMonth = (i + (e.key === "ArrowUp" ? -1 : 1) + _this.props.monthNames.length) %
|
|
12219
|
+
_this.props.monthNames.length;
|
|
12220
|
+
(_a = _this.monthOptionButtonsRef[newMonth]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
12221
|
+
break;
|
|
12222
|
+
}
|
|
12223
|
+
}
|
|
12224
|
+
};
|
|
12136
12225
|
_this.renderOptions = function () {
|
|
12137
|
-
|
|
12226
|
+
// Clear refs to prevent memory leaks on re-render
|
|
12227
|
+
_this.monthOptionButtonsRef = {};
|
|
12228
|
+
return _this.props.monthNames.map(function (month, i) { return (React__namespace.default.createElement("div", { ref: function (el) {
|
|
12229
|
+
_this.monthOptionButtonsRef[i] = el;
|
|
12230
|
+
if (_this.isSelectedMonth(i)) {
|
|
12231
|
+
el === null || el === void 0 ? void 0 : el.focus();
|
|
12232
|
+
}
|
|
12233
|
+
}, role: "button", tabIndex: 0, className: _this.isSelectedMonth(i)
|
|
12138
12234
|
? "react-datepicker__month-option react-datepicker__month-option--selected_month"
|
|
12139
|
-
: "react-datepicker__month-option", key: month, onClick: _this.onChange.bind(_this, i), "aria-selected": _this.isSelectedMonth(i) ? "true" : undefined },
|
|
12235
|
+
: "react-datepicker__month-option", key: month, onClick: _this.onChange.bind(_this, i), onKeyDown: _this.handleOptionKeyDown.bind(_this, i), "aria-selected": _this.isSelectedMonth(i) ? "true" : undefined },
|
|
12140
12236
|
_this.isSelectedMonth(i) ? (React__namespace.default.createElement("span", { className: "react-datepicker__month-option--selected" }, "\u2713")) : (""),
|
|
12141
12237
|
month)); });
|
|
12142
12238
|
};
|
|
@@ -12161,7 +12257,7 @@ var MonthDropdown = /** @class */ (function (_super) {
|
|
|
12161
12257
|
return monthNames.map(function (m, i) { return (React__namespace.default.createElement("option", { key: m, value: i }, m)); });
|
|
12162
12258
|
};
|
|
12163
12259
|
_this.renderSelectMode = function (monthNames) { return (React__namespace.default.createElement("select", { value: _this.props.month, className: "react-datepicker__month-select", onChange: function (e) { return _this.onChange(parseInt(e.target.value)); } }, _this.renderSelectOptions(monthNames))); };
|
|
12164
|
-
_this.renderReadView = function (visible, monthNames) { return (React__namespace.default.createElement("
|
|
12260
|
+
_this.renderReadView = function (visible, monthNames) { return (React__namespace.default.createElement("button", { key: "read", type: "button", style: { visibility: visible ? "visible" : "hidden" }, className: "react-datepicker__month-read-view", onClick: _this.toggleDropdown },
|
|
12165
12261
|
React__namespace.default.createElement("span", { className: "react-datepicker__month-read-view--down-arrow" }),
|
|
12166
12262
|
React__namespace.default.createElement("span", { className: "react-datepicker__month-read-view--selected-month" }, monthNames[_this.props.month]))); };
|
|
12167
12263
|
_this.renderDropdown = function (monthNames) { return (React__namespace.default.createElement(MonthDropdownOptions, _assign({ key: "dropdown" }, _this.props, { monthNames: monthNames, onChange: _this.onChange, onCancel: _this.toggleDropdown }))); };
|
|
@@ -12649,19 +12745,20 @@ var Year$1 = /** @class */ (function (_super) {
|
|
|
12649
12745
|
return isSameYear(_year, endDate !== null && endDate !== void 0 ? endDate : null);
|
|
12650
12746
|
};
|
|
12651
12747
|
_this.isKeyboardSelected = function (y) {
|
|
12652
|
-
if (_this.props.
|
|
12653
|
-
_this.props.
|
|
12748
|
+
if (_this.props.disabledKeyboardNavigation ||
|
|
12749
|
+
_this.props.date === undefined ||
|
|
12654
12750
|
_this.props.preSelection == null) {
|
|
12655
12751
|
return;
|
|
12656
12752
|
}
|
|
12657
|
-
var _a = _this.props, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate;
|
|
12753
|
+
var _a = _this.props, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate, selected = _a.selected;
|
|
12658
12754
|
var date = getStartOfYear(setYear(_this.props.date, y));
|
|
12659
12755
|
var isDisabled = (minDate || maxDate || excludeDates || includeDates || filterDate) &&
|
|
12660
12756
|
isYearDisabled(y, _this.props);
|
|
12661
|
-
|
|
12662
|
-
|
|
12663
|
-
|
|
12664
|
-
|
|
12757
|
+
var isSelectedDay = !!selected && isSameDay(date, getStartOfYear(selected));
|
|
12758
|
+
var isKeyboardSelectedDay = isSameDay(date, getStartOfYear(_this.props.preSelection));
|
|
12759
|
+
return (!_this.props.inline &&
|
|
12760
|
+
!isSelectedDay &&
|
|
12761
|
+
isKeyboardSelectedDay &&
|
|
12665
12762
|
!isDisabled);
|
|
12666
12763
|
};
|
|
12667
12764
|
_this.isSelectedYear = function (year) {
|
|
@@ -12756,10 +12853,15 @@ var Year$1 = /** @class */ (function (_super) {
|
|
|
12756
12853
|
handleOnKeyDown && handleOnKeyDown(event);
|
|
12757
12854
|
};
|
|
12758
12855
|
_this.getYearClassNames = function (y) {
|
|
12759
|
-
var _a = _this.props, date = _a.date, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate, yearClassName = _a.yearClassName;
|
|
12856
|
+
var _a = _this.props, date = _a.date, disabled = _a.disabled, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate, yearClassName = _a.yearClassName;
|
|
12760
12857
|
return clsx("react-datepicker__year-text", "react-datepicker__year-".concat(y), date ? yearClassName === null || yearClassName === void 0 ? void 0 : yearClassName(setYear(date, y)) : undefined, {
|
|
12761
12858
|
"react-datepicker__year-text--selected": _this.isSelectedYear(y),
|
|
12762
|
-
"react-datepicker__year-text--disabled": (minDate ||
|
|
12859
|
+
"react-datepicker__year-text--disabled": (minDate ||
|
|
12860
|
+
maxDate ||
|
|
12861
|
+
excludeDates ||
|
|
12862
|
+
includeDates ||
|
|
12863
|
+
filterDate ||
|
|
12864
|
+
disabled) &&
|
|
12763
12865
|
isYearDisabled(y, _this.props),
|
|
12764
12866
|
"react-datepicker__year-text--keyboard-selected": _this.isKeyboardSelected(y),
|
|
12765
12867
|
"react-datepicker__year-text--range-start": _this.isRangeStart(y),
|
|
@@ -12847,11 +12949,42 @@ var YearDropdownOptions = /** @class */ (function (_super) {
|
|
|
12847
12949
|
__extends(YearDropdownOptions, _super);
|
|
12848
12950
|
function YearDropdownOptions(props) {
|
|
12849
12951
|
var _this = _super.call(this, props) || this;
|
|
12952
|
+
_this.yearOptionButtonsRef = {};
|
|
12953
|
+
_this.handleOptionKeyDown = function (year, e) {
|
|
12954
|
+
var _a;
|
|
12955
|
+
switch (e.key) {
|
|
12956
|
+
case "Enter":
|
|
12957
|
+
e.preventDefault();
|
|
12958
|
+
_this.onChange(year);
|
|
12959
|
+
break;
|
|
12960
|
+
case "Escape":
|
|
12961
|
+
e.preventDefault();
|
|
12962
|
+
_this.props.onCancel();
|
|
12963
|
+
break;
|
|
12964
|
+
case "ArrowUp":
|
|
12965
|
+
case "ArrowDown": {
|
|
12966
|
+
e.preventDefault();
|
|
12967
|
+
var newYear = year + (e.key === "ArrowUp" ? 1 : -1);
|
|
12968
|
+
// Add bounds checking to ensure the year exists in our refs
|
|
12969
|
+
if (_this.yearOptionButtonsRef[newYear]) {
|
|
12970
|
+
(_a = _this.yearOptionButtonsRef[newYear]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
12971
|
+
}
|
|
12972
|
+
break;
|
|
12973
|
+
}
|
|
12974
|
+
}
|
|
12975
|
+
};
|
|
12850
12976
|
_this.renderOptions = function () {
|
|
12977
|
+
// Clear refs to prevent memory leaks on re-render
|
|
12978
|
+
_this.yearOptionButtonsRef = {};
|
|
12851
12979
|
var selectedYear = _this.props.year;
|
|
12852
|
-
var options = _this.state.yearsList.map(function (year) { return (React__namespace.default.createElement("div", {
|
|
12980
|
+
var options = _this.state.yearsList.map(function (year) { return (React__namespace.default.createElement("div", { ref: function (el) {
|
|
12981
|
+
_this.yearOptionButtonsRef[year] = el;
|
|
12982
|
+
if (year === selectedYear) {
|
|
12983
|
+
el === null || el === void 0 ? void 0 : el.focus();
|
|
12984
|
+
}
|
|
12985
|
+
}, role: "button", tabIndex: 0, className: selectedYear === year
|
|
12853
12986
|
? "react-datepicker__year-option react-datepicker__year-option--selected_year"
|
|
12854
|
-
: "react-datepicker__year-option", key: year, onClick: _this.onChange.bind(_this, year), "aria-selected": selectedYear === year ? "true" : undefined },
|
|
12987
|
+
: "react-datepicker__year-option", key: year, onClick: _this.onChange.bind(_this, year), onKeyDown: _this.handleOptionKeyDown.bind(_this, year), "aria-selected": selectedYear === year ? "true" : undefined },
|
|
12855
12988
|
selectedYear === year ? (React__namespace.default.createElement("span", { className: "react-datepicker__year-option--selected" }, "\u2713")) : (""),
|
|
12856
12989
|
year)); });
|
|
12857
12990
|
var minYear = _this.props.minDate ? getYear(_this.props.minDate) : null;
|
|
@@ -12946,9 +13079,7 @@ var YearDropdown = /** @class */ (function (_super) {
|
|
|
12946
13079
|
_this.onChange(parseInt(event.target.value));
|
|
12947
13080
|
};
|
|
12948
13081
|
_this.renderSelectMode = function () { return (React__namespace.default.createElement("select", { value: _this.props.year, className: "react-datepicker__year-select", onChange: _this.onSelectChange }, _this.renderSelectOptions())); };
|
|
12949
|
-
_this.renderReadView = function (visible) { return (React__namespace.default.createElement("
|
|
12950
|
-
return _this.toggleDropdown(event);
|
|
12951
|
-
} },
|
|
13082
|
+
_this.renderReadView = function (visible) { return (React__namespace.default.createElement("button", { key: "read", type: "button", style: { visibility: visible ? "visible" : "hidden" }, className: "react-datepicker__year-read-view", onClick: _this.toggleDropdown },
|
|
12952
13083
|
React__namespace.default.createElement("span", { className: "react-datepicker__year-read-view--down-arrow" }),
|
|
12953
13084
|
React__namespace.default.createElement("span", { className: "react-datepicker__year-read-view--selected-year" }, _this.props.year))); };
|
|
12954
13085
|
_this.renderDropdown = function () { return (React__namespace.default.createElement(YearDropdownOptions, _assign({ key: "dropdown" }, _this.props, { onChange: _this.onChange, onCancel: _this.toggleDropdown }))); };
|
|
@@ -13010,6 +13141,7 @@ var DROPDOWN_FOCUS_CLASSNAMES = [
|
|
|
13010
13141
|
"react-datepicker__month-select",
|
|
13011
13142
|
"react-datepicker__month-year-select",
|
|
13012
13143
|
];
|
|
13144
|
+
var OUTSIDE_CLICK_IGNORE_CLASS = "react-datepicker-ignore-onclickoutside";
|
|
13013
13145
|
var isDropdownSelect = function (element) {
|
|
13014
13146
|
var classNames = (element.className || "").split(/\s+/);
|
|
13015
13147
|
return DROPDOWN_FOCUS_CLASSNAMES.some(function (testClassname) { return classNames.indexOf(testClassname) >= 0; });
|
|
@@ -13158,10 +13290,13 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13158
13290
|
};
|
|
13159
13291
|
_this.header = function (date) {
|
|
13160
13292
|
if (date === void 0) { date = _this.state.date; }
|
|
13293
|
+
var disabled = _this.props.disabled;
|
|
13161
13294
|
var startOfWeek = getStartOfWeek(date, _this.props.locale, _this.props.calendarStartDay);
|
|
13162
13295
|
var dayNames = [];
|
|
13163
13296
|
if (_this.props.showWeekNumbers) {
|
|
13164
|
-
dayNames.push(React__namespace.default.createElement("div", { key: "W", className: "react-datepicker__day-name"
|
|
13297
|
+
dayNames.push(React__namespace.default.createElement("div", { key: "W", className: "react-datepicker__day-name ".concat(disabled ? "react-datepicker__day-name--disabled" : ""), role: "columnheader" },
|
|
13298
|
+
React__namespace.default.createElement("span", { className: "react-datepicker__sr-only" }, "Week number"),
|
|
13299
|
+
React__namespace.default.createElement("span", { "aria-hidden": "true" }, _this.props.weekLabel || "#")));
|
|
13165
13300
|
}
|
|
13166
13301
|
return dayNames.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {
|
|
13167
13302
|
var day = addDays(startOfWeek, offset);
|
|
@@ -13169,7 +13304,9 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13169
13304
|
var weekDayClassName = _this.props.weekDayClassName
|
|
13170
13305
|
? _this.props.weekDayClassName(day)
|
|
13171
13306
|
: undefined;
|
|
13172
|
-
return (React__namespace.default.createElement("div", { key: offset,
|
|
13307
|
+
return (React__namespace.default.createElement("div", { key: offset, role: "columnheader", className: clsx("react-datepicker__day-name", weekDayClassName, disabled ? "react-datepicker__day-name--disabled" : "") },
|
|
13308
|
+
React__namespace.default.createElement("span", { className: "react-datepicker__sr-only" }, formatDate(day, "EEEE", _this.props.locale)),
|
|
13309
|
+
React__namespace.default.createElement("span", { "aria-hidden": "true" }, weekDayName)));
|
|
13173
13310
|
}));
|
|
13174
13311
|
};
|
|
13175
13312
|
_this.formatWeekday = function (day, locale) {
|
|
@@ -13207,6 +13344,9 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13207
13344
|
var fromMonthDate = subMonths(_this.state.date, monthSelectedIn);
|
|
13208
13345
|
var allPrevDaysDisabled;
|
|
13209
13346
|
switch (true) {
|
|
13347
|
+
case _this.props.disabled:
|
|
13348
|
+
allPrevDaysDisabled = true;
|
|
13349
|
+
break;
|
|
13210
13350
|
case _this.props.showMonthYearPicker:
|
|
13211
13351
|
allPrevDaysDisabled = yearDisabledBefore(_this.state.date, _this.props);
|
|
13212
13352
|
break;
|
|
@@ -13274,6 +13414,9 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13274
13414
|
}
|
|
13275
13415
|
var allNextDaysDisabled;
|
|
13276
13416
|
switch (true) {
|
|
13417
|
+
case _this.props.disabled:
|
|
13418
|
+
allNextDaysDisabled = true;
|
|
13419
|
+
break;
|
|
13277
13420
|
case _this.props.showMonthYearPicker:
|
|
13278
13421
|
allNextDaysDisabled = yearDisabledAfter(_this.state.date, _this.props);
|
|
13279
13422
|
break;
|
|
@@ -13374,6 +13517,7 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13374
13517
|
}
|
|
13375
13518
|
return (React__namespace.default.createElement("div", { className: "react-datepicker__today-button", onClick: _this.handleTodayButtonClick }, _this.props.todayButton));
|
|
13376
13519
|
};
|
|
13520
|
+
_this.renderDayNamesHeader = function (monthDate) { return (React__namespace.default.createElement("div", { className: "react-datepicker__day-names", role: "row" }, _this.header(monthDate))); };
|
|
13377
13521
|
_this.renderDefaultHeader = function (_a) {
|
|
13378
13522
|
var monthDate = _a.monthDate, i = _a.i;
|
|
13379
13523
|
return (React__namespace.default.createElement("div", { className: "react-datepicker__header ".concat(_this.props.showTimeSelect
|
|
@@ -13383,8 +13527,7 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13383
13527
|
React__namespace.default.createElement("div", { className: "react-datepicker__header__dropdown react-datepicker__header__dropdown--".concat(_this.props.dropdownMode), onFocus: _this.handleDropdownFocus },
|
|
13384
13528
|
_this.renderMonthDropdown(i !== 0),
|
|
13385
13529
|
_this.renderMonthYearDropdown(i !== 0),
|
|
13386
|
-
_this.renderYearDropdown(i !== 0))
|
|
13387
|
-
React__namespace.default.createElement("div", { className: "react-datepicker__day-names" }, _this.header(monthDate))));
|
|
13530
|
+
_this.renderYearDropdown(i !== 0))));
|
|
13388
13531
|
};
|
|
13389
13532
|
_this.renderCustomHeader = function (headerArgs) {
|
|
13390
13533
|
var _a, _b;
|
|
@@ -13393,16 +13536,20 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13393
13536
|
_this.props.showTimeSelectOnly) {
|
|
13394
13537
|
return null;
|
|
13395
13538
|
}
|
|
13539
|
+
var _c = _this.props, showYearPicker = _c.showYearPicker, yearItemNumber = _c.yearItemNumber;
|
|
13540
|
+
var visibleYearsRange;
|
|
13541
|
+
if (showYearPicker) {
|
|
13542
|
+
var _d = getYearsPeriod(monthDate, yearItemNumber), startYear = _d.startPeriod, endYear = _d.endPeriod;
|
|
13543
|
+
visibleYearsRange = {
|
|
13544
|
+
startYear: startYear,
|
|
13545
|
+
endYear: endYear,
|
|
13546
|
+
};
|
|
13547
|
+
}
|
|
13396
13548
|
var prevMonthButtonDisabled = monthDisabledBefore(_this.state.date, _this.props);
|
|
13397
13549
|
var nextMonthButtonDisabled = monthDisabledAfter(_this.state.date, _this.props);
|
|
13398
13550
|
var prevYearButtonDisabled = yearDisabledBefore(_this.state.date, _this.props);
|
|
13399
13551
|
var nextYearButtonDisabled = yearDisabledAfter(_this.state.date, _this.props);
|
|
13400
|
-
|
|
13401
|
-
!_this.props.showQuarterYearPicker &&
|
|
13402
|
-
!_this.props.showYearPicker;
|
|
13403
|
-
return (React__namespace.default.createElement("div", { className: "react-datepicker__header react-datepicker__header--custom", onFocus: _this.props.onDropdownFocus }, (_b = (_a = _this.props).renderCustomHeader) === null || _b === void 0 ? void 0 :
|
|
13404
|
-
_b.call(_a, _assign(_assign({}, _this.state), { customHeaderCount: i, monthDate: monthDate, changeMonth: _this.changeMonth, changeYear: _this.changeYear, decreaseMonth: _this.decreaseMonth, increaseMonth: _this.increaseMonth, decreaseYear: _this.decreaseYear, increaseYear: _this.increaseYear, prevMonthButtonDisabled: prevMonthButtonDisabled, nextMonthButtonDisabled: nextMonthButtonDisabled, prevYearButtonDisabled: prevYearButtonDisabled, nextYearButtonDisabled: nextYearButtonDisabled })),
|
|
13405
|
-
showDayNames && (React__namespace.default.createElement("div", { className: "react-datepicker__day-names" }, _this.header(monthDate)))));
|
|
13552
|
+
return (React__namespace.default.createElement("div", { className: "react-datepicker__header react-datepicker__header--custom", onFocus: _this.props.onDropdownFocus }, (_b = (_a = _this.props).renderCustomHeader) === null || _b === void 0 ? void 0 : _b.call(_a, _assign(_assign(_assign({}, _this.state), (showYearPicker && { visibleYearsRange: visibleYearsRange })), { customHeaderCount: i, monthDate: monthDate, changeMonth: _this.changeMonth, changeYear: _this.changeYear, decreaseMonth: _this.decreaseMonth, increaseMonth: _this.increaseMonth, decreaseYear: _this.decreaseYear, increaseYear: _this.increaseYear, prevMonthButtonDisabled: prevMonthButtonDisabled, nextMonthButtonDisabled: nextMonthButtonDisabled, prevYearButtonDisabled: prevYearButtonDisabled, nextYearButtonDisabled: nextYearButtonDisabled }))));
|
|
13406
13553
|
};
|
|
13407
13554
|
_this.renderYearHeader = function (_a) {
|
|
13408
13555
|
var monthDate = _a.monthDate;
|
|
@@ -13450,7 +13597,7 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13450
13597
|
_this.monthContainer = div !== null && div !== void 0 ? div : undefined;
|
|
13451
13598
|
}, className: "react-datepicker__month-container" },
|
|
13452
13599
|
_this.renderHeader({ monthDate: monthDate, i: i }),
|
|
13453
|
-
React__namespace.default.createElement(Month$1, _assign({}, Calendar.defaultProps, _this.props, { containerRef: _this.containerRef, ariaLabelPrefix: _this.props.monthAriaLabelPrefix, day: monthDate, onDayClick: _this.handleDayClick, handleOnKeyDown: _this.props.handleOnDayKeyDown, handleOnMonthKeyDown: _this.props.handleOnKeyDown, onDayMouseEnter: _this.handleDayMouseEnter, onMouseLeave: _this.handleMonthMouseLeave, orderInDisplay: i, selectingDate: _this.state.selectingDate, monthShowsDuplicateDaysEnd: monthShowsDuplicateDaysEnd, monthShowsDuplicateDaysStart: monthShowsDuplicateDaysStart }))));
|
|
13600
|
+
React__namespace.default.createElement(Month$1, _assign({}, Calendar.defaultProps, _this.props, { containerRef: _this.containerRef, ariaLabelPrefix: _this.props.monthAriaLabelPrefix, day: monthDate, onDayClick: _this.handleDayClick, handleOnKeyDown: _this.props.handleOnDayKeyDown, handleOnMonthKeyDown: _this.props.handleOnKeyDown, onDayMouseEnter: _this.handleDayMouseEnter, onMouseLeave: _this.handleMonthMouseLeave, orderInDisplay: i, selectingDate: _this.state.selectingDate, monthShowsDuplicateDaysEnd: monthShowsDuplicateDaysEnd, monthShowsDuplicateDaysStart: monthShowsDuplicateDaysStart, dayNamesHeader: _this.renderDayNamesHeader(monthDate) }))));
|
|
13454
13601
|
}
|
|
13455
13602
|
return monthList;
|
|
13456
13603
|
};
|
|
@@ -13521,6 +13668,7 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
13521
13668
|
return {
|
|
13522
13669
|
monthsShown: 1,
|
|
13523
13670
|
forceShowMonthNavigation: false,
|
|
13671
|
+
outsideClickIgnoreClass: OUTSIDE_CLICK_IGNORE_CLASS,
|
|
13524
13672
|
timeCaption: "Time",
|
|
13525
13673
|
previousYearButtonLabel: "Previous Year",
|
|
13526
13674
|
nextYearButtonLabel: "Next Year",
|
|
@@ -13754,7 +13902,7 @@ var TabLoop = /** @class */ (function (_super) {
|
|
|
13754
13902
|
* @returns A new component with floating behavior.
|
|
13755
13903
|
*/
|
|
13756
13904
|
function withFloating(Component) {
|
|
13757
|
-
|
|
13905
|
+
function WithFloating(props) {
|
|
13758
13906
|
var _a;
|
|
13759
13907
|
var hidePopper = typeof props.hidePopper === "boolean" ? props.hidePopper : true;
|
|
13760
13908
|
var arrowRef = React.useRef(null);
|
|
@@ -13765,51 +13913,35 @@ function withFloating(Component) {
|
|
|
13765
13913
|
], ((_a = props.popperModifiers) !== null && _a !== void 0 ? _a : []), true) }, props.popperProps));
|
|
13766
13914
|
var componentProps = _assign(_assign({}, props), { hidePopper: hidePopper, popperProps: _assign(_assign({}, floatingProps), { arrowRef: arrowRef }) });
|
|
13767
13915
|
return React__namespace.default.createElement(Component, _assign({}, componentProps));
|
|
13768
|
-
}
|
|
13916
|
+
}
|
|
13917
|
+
WithFloating.displayName = "withFloating(".concat(Component.displayName || Component.name || "Component", ")");
|
|
13769
13918
|
return WithFloating;
|
|
13770
13919
|
}
|
|
13771
13920
|
|
|
13772
13921
|
// Exported for testing purposes
|
|
13773
|
-
var PopperComponent =
|
|
13774
|
-
|
|
13775
|
-
|
|
13776
|
-
|
|
13777
|
-
|
|
13778
|
-
|
|
13779
|
-
|
|
13780
|
-
|
|
13781
|
-
|
|
13782
|
-
|
|
13783
|
-
|
|
13784
|
-
|
|
13785
|
-
|
|
13786
|
-
|
|
13787
|
-
|
|
13788
|
-
|
|
13789
|
-
|
|
13790
|
-
|
|
13791
|
-
|
|
13792
|
-
|
|
13793
|
-
|
|
13794
|
-
popperComponent,
|
|
13795
|
-
showArrow && (React__namespace.default.createElement(FloatingArrow, { ref: popperProps.arrowRef, context: popperProps.context, fill: "currentColor", strokeWidth: 1, height: 8, width: 16, style: { transform: "translateY(-1px)" }, className: "react-datepicker__triangle" })))));
|
|
13796
|
-
}
|
|
13797
|
-
if (this.props.popperContainer) {
|
|
13798
|
-
popper = React.createElement(this.props.popperContainer, {}, popper);
|
|
13799
|
-
}
|
|
13800
|
-
if (portalId && !hidePopper) {
|
|
13801
|
-
popper = (React__namespace.default.createElement(Portal, { portalId: portalId, portalHost: portalHost }, popper));
|
|
13802
|
-
}
|
|
13803
|
-
var wrapperClasses = clsx("react-datepicker-wrapper", wrapperClassName);
|
|
13804
|
-
return (React__namespace.default.createElement(React__namespace.default.Fragment, null,
|
|
13805
|
-
React__namespace.default.createElement("div", { ref: popperProps.refs.setReference, className: wrapperClasses }, targetComponent),
|
|
13806
|
-
popper));
|
|
13807
|
-
};
|
|
13808
|
-
return PopperComponent;
|
|
13809
|
-
}(React.Component));
|
|
13922
|
+
var PopperComponent = function (props) {
|
|
13923
|
+
var className = props.className, wrapperClassName = props.wrapperClassName, _a = props.hidePopper, hidePopper = _a === void 0 ? true : _a, popperComponent = props.popperComponent, targetComponent = props.targetComponent, enableTabLoop = props.enableTabLoop, popperOnKeyDown = props.popperOnKeyDown, portalId = props.portalId, portalHost = props.portalHost, popperProps = props.popperProps, showArrow = props.showArrow;
|
|
13924
|
+
var popper = undefined;
|
|
13925
|
+
if (!hidePopper) {
|
|
13926
|
+
var classes = clsx("react-datepicker-popper", className);
|
|
13927
|
+
popper = (React__namespace.default.createElement(TabLoop, { enableTabLoop: enableTabLoop },
|
|
13928
|
+
React__namespace.default.createElement("div", { ref: popperProps.refs.setFloating, style: popperProps.floatingStyles, className: classes, "data-placement": popperProps.placement, onKeyDown: popperOnKeyDown },
|
|
13929
|
+
popperComponent,
|
|
13930
|
+
showArrow && (React__namespace.default.createElement(FloatingArrow, { ref: popperProps.arrowRef, context: popperProps.context, fill: "currentColor", strokeWidth: 1, height: 8, width: 16, style: { transform: "translateY(-1px)" }, className: "react-datepicker__triangle" })))));
|
|
13931
|
+
}
|
|
13932
|
+
if (props.popperContainer) {
|
|
13933
|
+
popper = React.createElement(props.popperContainer, {}, popper);
|
|
13934
|
+
}
|
|
13935
|
+
if (portalId && !hidePopper) {
|
|
13936
|
+
popper = (React__namespace.default.createElement(Portal, { portalId: portalId, portalHost: portalHost }, popper));
|
|
13937
|
+
}
|
|
13938
|
+
var wrapperClasses = clsx("react-datepicker-wrapper", wrapperClassName);
|
|
13939
|
+
return (React__namespace.default.createElement(React__namespace.default.Fragment, null,
|
|
13940
|
+
React__namespace.default.createElement("div", { ref: popperProps.refs.setReference, className: wrapperClasses }, targetComponent),
|
|
13941
|
+
popper));
|
|
13942
|
+
};
|
|
13810
13943
|
var PopperComponent$1 = withFloating(PopperComponent);
|
|
13811
13944
|
|
|
13812
|
-
var outsideClickIgnoreClass = "react-datepicker-ignore-onclickoutside";
|
|
13813
13945
|
// Compares dates year+month combinations
|
|
13814
13946
|
function hasPreSelectionChanged(date1, date2) {
|
|
13815
13947
|
if (date1 && date2) {
|
|
@@ -13875,6 +14007,35 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
13875
14007
|
wasHidden: false,
|
|
13876
14008
|
};
|
|
13877
14009
|
};
|
|
14010
|
+
_this.getInputValue = function () {
|
|
14011
|
+
var _a;
|
|
14012
|
+
var _b = _this.props, locale = _b.locale, startDate = _b.startDate, endDate = _b.endDate, rangeSeparator = _b.rangeSeparator, selected = _b.selected, selectedDates = _b.selectedDates, selectsMultiple = _b.selectsMultiple, selectsRange = _b.selectsRange, value = _b.value;
|
|
14013
|
+
var dateFormat = (_a = _this.props.dateFormat) !== null && _a !== void 0 ? _a : DatePicker.defaultProps.dateFormat;
|
|
14014
|
+
var inputValue = _this.state.inputValue;
|
|
14015
|
+
if (typeof value === "string") {
|
|
14016
|
+
return value;
|
|
14017
|
+
}
|
|
14018
|
+
else if (typeof inputValue === "string") {
|
|
14019
|
+
return inputValue;
|
|
14020
|
+
}
|
|
14021
|
+
else if (selectsRange) {
|
|
14022
|
+
return safeDateRangeFormat(startDate, endDate, {
|
|
14023
|
+
dateFormat: dateFormat,
|
|
14024
|
+
locale: locale,
|
|
14025
|
+
rangeSeparator: rangeSeparator,
|
|
14026
|
+
});
|
|
14027
|
+
}
|
|
14028
|
+
else if (selectsMultiple) {
|
|
14029
|
+
return safeMultipleDatesFormat(selectedDates !== null && selectedDates !== void 0 ? selectedDates : [], {
|
|
14030
|
+
dateFormat: dateFormat,
|
|
14031
|
+
locale: locale,
|
|
14032
|
+
});
|
|
14033
|
+
}
|
|
14034
|
+
return safeDateFormat(selected, {
|
|
14035
|
+
dateFormat: dateFormat,
|
|
14036
|
+
locale: locale,
|
|
14037
|
+
});
|
|
14038
|
+
};
|
|
13878
14039
|
_this.resetHiddenStatus = function () {
|
|
13879
14040
|
_this.setState(_assign(_assign({}, _this.state), { wasHidden: false }));
|
|
13880
14041
|
};
|
|
@@ -13974,11 +14135,15 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
13974
14135
|
_this.handleDropdownFocus = function () {
|
|
13975
14136
|
_this.cancelFocusInput();
|
|
13976
14137
|
};
|
|
14138
|
+
_this.resetInputValue = function () {
|
|
14139
|
+
_this.setState(_assign(_assign({}, _this.state), { inputValue: null }));
|
|
14140
|
+
};
|
|
13977
14141
|
_this.handleBlur = function (event) {
|
|
13978
14142
|
var _a, _b;
|
|
13979
14143
|
if (!_this.state.open || _this.props.withPortal || _this.props.showTimeInput) {
|
|
13980
14144
|
(_b = (_a = _this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, event);
|
|
13981
14145
|
}
|
|
14146
|
+
_this.resetInputValue();
|
|
13982
14147
|
if (_this.state.open && _this.props.open === false) {
|
|
13983
14148
|
_this.setOpen(false);
|
|
13984
14149
|
}
|
|
@@ -14019,11 +14184,17 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14019
14184
|
var strictParsing = (_b = _this.props.strictParsing) !== null && _b !== void 0 ? _b : DatePicker.defaultProps.strictParsing;
|
|
14020
14185
|
var value = (event === null || event === void 0 ? void 0 : event.target) instanceof HTMLInputElement ? event.target.value : "";
|
|
14021
14186
|
if (selectsRange) {
|
|
14187
|
+
var rangeSeparator = _this.props.rangeSeparator;
|
|
14188
|
+
var trimmedRangeSeparator = rangeSeparator.trim();
|
|
14022
14189
|
var _g = value
|
|
14023
|
-
.split(dateFormat.includes(
|
|
14190
|
+
.split(dateFormat.includes(trimmedRangeSeparator)
|
|
14191
|
+
? rangeSeparator
|
|
14192
|
+
: trimmedRangeSeparator, 2)
|
|
14024
14193
|
.map(function (val) { return val.trim(); }), valueStart = _g[0], valueEnd = _g[1];
|
|
14025
14194
|
var startDateNew = parseDate(valueStart !== null && valueStart !== void 0 ? valueStart : "", dateFormat, _this.props.locale, strictParsing);
|
|
14026
|
-
var endDateNew =
|
|
14195
|
+
var endDateNew = startDateNew
|
|
14196
|
+
? parseDate(valueEnd !== null && valueEnd !== void 0 ? valueEnd : "", dateFormat, _this.props.locale, strictParsing)
|
|
14197
|
+
: null;
|
|
14027
14198
|
var startChanged = (startDate === null || startDate === void 0 ? void 0 : startDate.getTime()) !== (startDateNew === null || startDateNew === void 0 ? void 0 : startDateNew.getTime());
|
|
14028
14199
|
var endChanged = (endDate === null || endDate === void 0 ? void 0 : endDate.getTime()) !== (endDateNew === null || endDateNew === void 0 ? void 0 : endDateNew.getTime());
|
|
14029
14200
|
if (!startChanged && !endChanged) {
|
|
@@ -14047,15 +14218,26 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14047
14218
|
}
|
|
14048
14219
|
};
|
|
14049
14220
|
_this.handleSelect = function (date, event, monthSelectedIn) {
|
|
14221
|
+
var _a;
|
|
14050
14222
|
if (_this.props.readOnly)
|
|
14051
14223
|
return;
|
|
14052
|
-
|
|
14224
|
+
var _b = _this.props, selectsRange = _b.selectsRange, startDate = _b.startDate, endDate = _b.endDate, locale = _b.locale, swapRange = _b.swapRange;
|
|
14225
|
+
var dateFormat = (_a = _this.props.dateFormat) !== null && _a !== void 0 ? _a : DatePicker.defaultProps.dateFormat;
|
|
14226
|
+
var isDateSelectionComplete = !selectsRange ||
|
|
14227
|
+
(startDate && !endDate && (swapRange || !isDateBefore(date, startDate)));
|
|
14228
|
+
if (_this.props.shouldCloseOnSelect &&
|
|
14229
|
+
!_this.props.showTimeSelect &&
|
|
14230
|
+
isDateSelectionComplete) {
|
|
14053
14231
|
// Preventing onFocus event to fix issue
|
|
14054
14232
|
// https://github.com/Hacker0x01/react-datepicker/issues/628
|
|
14055
14233
|
_this.sendFocusBackToInput();
|
|
14056
14234
|
}
|
|
14057
14235
|
if (_this.props.onChangeRaw) {
|
|
14058
|
-
|
|
14236
|
+
var formattedDate = safeDateFormat(date, {
|
|
14237
|
+
dateFormat: dateFormat,
|
|
14238
|
+
locale: locale,
|
|
14239
|
+
});
|
|
14240
|
+
_this.props.onChangeRaw(event, { date: date, formattedDate: formattedDate });
|
|
14059
14241
|
}
|
|
14060
14242
|
_this.setSelected(date, event, false, monthSelectedIn);
|
|
14061
14243
|
if (_this.props.showDateSelect) {
|
|
@@ -14064,16 +14246,8 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14064
14246
|
if (!_this.props.shouldCloseOnSelect || _this.props.showTimeSelect) {
|
|
14065
14247
|
_this.setPreSelection(date);
|
|
14066
14248
|
}
|
|
14067
|
-
else if (
|
|
14068
|
-
|
|
14069
|
-
_this.setOpen(false);
|
|
14070
|
-
}
|
|
14071
|
-
var _a = _this.props, startDate = _a.startDate, endDate = _a.endDate;
|
|
14072
|
-
if (startDate &&
|
|
14073
|
-
!endDate &&
|
|
14074
|
-
(_this.props.swapRange || !isDateBefore(date, startDate))) {
|
|
14075
|
-
_this.setOpen(false);
|
|
14076
|
-
}
|
|
14249
|
+
else if (isDateSelectionComplete) {
|
|
14250
|
+
_this.setOpen(false);
|
|
14077
14251
|
}
|
|
14078
14252
|
};
|
|
14079
14253
|
// setSelected is called either from handleChange (user typed date into textbox and it was parsed) or handleSelect (user selected date from calendar using mouse or keyboard)
|
|
@@ -14138,6 +14312,7 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14138
14312
|
if (selectsRange) {
|
|
14139
14313
|
var noRanges = !startDate && !endDate;
|
|
14140
14314
|
var hasStartRange = startDate && !endDate;
|
|
14315
|
+
var hasOnlyEndRange = !startDate && !!endDate;
|
|
14141
14316
|
var isRangeFilled = startDate && endDate;
|
|
14142
14317
|
if (noRanges) {
|
|
14143
14318
|
onChange === null || onChange === void 0 ? void 0 : onChange([changedDate, null], event);
|
|
@@ -14158,6 +14333,14 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14158
14333
|
onChange === null || onChange === void 0 ? void 0 : onChange([startDate, changedDate], event);
|
|
14159
14334
|
}
|
|
14160
14335
|
}
|
|
14336
|
+
else if (hasOnlyEndRange) {
|
|
14337
|
+
if (changedDate && isDateBefore(changedDate, endDate)) {
|
|
14338
|
+
onChange === null || onChange === void 0 ? void 0 : onChange([changedDate, endDate], event);
|
|
14339
|
+
}
|
|
14340
|
+
else {
|
|
14341
|
+
onChange === null || onChange === void 0 ? void 0 : onChange([changedDate, null], event);
|
|
14342
|
+
}
|
|
14343
|
+
}
|
|
14161
14344
|
if (isRangeFilled) {
|
|
14162
14345
|
onChange === null || onChange === void 0 ? void 0 : onChange([changedDate, null], event);
|
|
14163
14346
|
}
|
|
@@ -14531,10 +14714,12 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14531
14714
|
}
|
|
14532
14715
|
return (React__namespace.default.createElement(Calendar, _assign({ showMonthYearDropdown: undefined, ref: function (elem) {
|
|
14533
14716
|
_this.calendar = elem;
|
|
14534
|
-
} }, _this.props, _this.state, { setOpen: _this.setOpen, dateFormat: (_a = _this.props.dateFormatCalendar) !== null && _a !== void 0 ? _a : DatePicker.defaultProps.dateFormatCalendar, onSelect: _this.handleSelect, onClickOutside: _this.handleCalendarClickOutside, holidays: getHolidaysMap(_this.modifyHolidays()), outsideClickIgnoreClass: outsideClickIgnoreClass, onDropdownFocus: _this.handleDropdownFocus, onTimeChange: _this.handleTimeChange, className: _this.props.calendarClassName, container: _this.props.calendarContainer, handleOnKeyDown: _this.props.onKeyDown, handleOnDayKeyDown: _this.onDayKeyDown, setPreSelection: _this.setPreSelection, dropdownMode: (_b = _this.props.dropdownMode) !== null && _b !== void 0 ? _b : DatePicker.defaultProps.dropdownMode }), _this.props.children));
|
|
14717
|
+
} }, _this.props, _this.state, { setOpen: _this.setOpen, dateFormat: (_a = _this.props.dateFormatCalendar) !== null && _a !== void 0 ? _a : DatePicker.defaultProps.dateFormatCalendar, onSelect: _this.handleSelect, onClickOutside: _this.handleCalendarClickOutside, holidays: getHolidaysMap(_this.modifyHolidays()), outsideClickIgnoreClass: _this.props.outsideClickIgnoreClass, onDropdownFocus: _this.handleDropdownFocus, onTimeChange: _this.handleTimeChange, className: _this.props.calendarClassName, container: _this.props.calendarContainer, handleOnKeyDown: _this.props.onKeyDown, handleOnDayKeyDown: _this.onDayKeyDown, setPreSelection: _this.setPreSelection, dropdownMode: (_b = _this.props.dropdownMode) !== null && _b !== void 0 ? _b : DatePicker.defaultProps.dropdownMode }), _this.props.children));
|
|
14535
14718
|
};
|
|
14536
14719
|
_this.renderAriaLiveRegion = function () {
|
|
14537
|
-
var _a
|
|
14720
|
+
var _a;
|
|
14721
|
+
var locale = _this.props.locale;
|
|
14722
|
+
var dateFormat = (_a = _this.props.dateFormat) !== null && _a !== void 0 ? _a : DatePicker.defaultProps.dateFormat;
|
|
14538
14723
|
var isContainsTime = _this.props.showTimeInput || _this.props.showTimeSelect;
|
|
14539
14724
|
var longDateFormat = isContainsTime ? "PPPPp" : "PPPP";
|
|
14540
14725
|
var ariaLiveMessage;
|
|
@@ -14577,36 +14762,17 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14577
14762
|
};
|
|
14578
14763
|
_this.renderDateInput = function () {
|
|
14579
14764
|
var _a, _b;
|
|
14580
|
-
var _c;
|
|
14581
14765
|
var className = clsx(_this.props.className, (_a = {},
|
|
14582
|
-
_a[
|
|
14766
|
+
_a[_this.props.outsideClickIgnoreClass ||
|
|
14767
|
+
DatePicker.defaultProps.outsideClickIgnoreClass] = _this.state.open,
|
|
14583
14768
|
_a));
|
|
14584
14769
|
var customInput = _this.props.customInput || React__namespace.default.createElement("input", { type: "text" });
|
|
14585
14770
|
var customInputRef = _this.props.customInputRef || "ref";
|
|
14586
|
-
var _d = _this.props, _e = _d.dateFormat, dateFormat = _e === void 0 ? DatePicker.defaultProps.dateFormat : _e, locale = _d.locale;
|
|
14587
|
-
var inputValue = typeof _this.props.value === "string"
|
|
14588
|
-
? _this.props.value
|
|
14589
|
-
: typeof _this.state.inputValue === "string"
|
|
14590
|
-
? _this.state.inputValue
|
|
14591
|
-
: _this.props.selectsRange
|
|
14592
|
-
? safeDateRangeFormat(_this.props.startDate, _this.props.endDate, {
|
|
14593
|
-
dateFormat: dateFormat,
|
|
14594
|
-
locale: locale,
|
|
14595
|
-
})
|
|
14596
|
-
: _this.props.selectsMultiple
|
|
14597
|
-
? safeMultipleDatesFormat((_c = _this.props.selectedDates) !== null && _c !== void 0 ? _c : [], {
|
|
14598
|
-
dateFormat: dateFormat,
|
|
14599
|
-
locale: locale,
|
|
14600
|
-
})
|
|
14601
|
-
: safeDateFormat(_this.props.selected, {
|
|
14602
|
-
dateFormat: dateFormat,
|
|
14603
|
-
locale: locale,
|
|
14604
|
-
});
|
|
14605
14771
|
return React.cloneElement(customInput, (_b = {},
|
|
14606
14772
|
_b[customInputRef] = function (input) {
|
|
14607
14773
|
_this.input = input;
|
|
14608
14774
|
},
|
|
14609
|
-
_b.value =
|
|
14775
|
+
_b.value = _this.getInputValue(),
|
|
14610
14776
|
_b.onBlur = _this.handleBlur,
|
|
14611
14777
|
_b.onChange = _this.handleChange,
|
|
14612
14778
|
_b.onClick = _this.onInputClick,
|
|
@@ -14659,7 +14825,9 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
14659
14825
|
dropdownMode: "scroll",
|
|
14660
14826
|
preventOpenOnFocus: false,
|
|
14661
14827
|
monthsShown: 1,
|
|
14828
|
+
outsideClickIgnoreClass: OUTSIDE_CLICK_IGNORE_CLASS,
|
|
14662
14829
|
readOnly: false,
|
|
14830
|
+
rangeSeparator: DATE_RANGE_SEPARATOR,
|
|
14663
14831
|
withPortal: false,
|
|
14664
14832
|
selectsDisabledDaysInRange: false,
|
|
14665
14833
|
shouldCloseOnSelect: true,
|
|
@@ -15175,4 +15343,4 @@ exports.DatePickerGroup = DatePickerGroup;
|
|
|
15175
15343
|
exports.HelperText = HelperText;
|
|
15176
15344
|
exports.InlineDatePicker = InlineDatePicker;
|
|
15177
15345
|
exports.ValidationText = ValidationText;
|
|
15178
|
-
//# sourceMappingURL=InlineDatePicker-
|
|
15346
|
+
//# sourceMappingURL=InlineDatePicker-B7DTwvhv.js.map
|