@gooddata/sdk-ui-filters 11.51.0-alpha.0 → 11.51.0-alpha.2

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.
Files changed (84) hide show
  1. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelect.js +1 -1
  2. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.d.ts +2 -2
  3. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.d.ts.map +1 -1
  4. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.js +18 -6
  5. package/esm/AttributeFilter/Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js +3 -2
  6. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts +2 -1
  7. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts.map +1 -1
  8. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js +3 -3
  9. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.d.ts +2 -1
  10. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.d.ts.map +1 -1
  11. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.js +2 -2
  12. package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts +2 -2
  13. package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts.map +1 -1
  14. package/esm/DateFilter/AbsoluteDateFilterForm/conversions.js +9 -4
  15. package/esm/DateFilter/DateFilter.d.ts +7 -0
  16. package/esm/DateFilter/DateFilter.d.ts.map +1 -1
  17. package/esm/DateFilter/DateFilter.js +3 -2
  18. package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts +1 -0
  19. package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts.map +1 -1
  20. package/esm/DateFilter/DateFilterBody/DateFilterBody.js +2 -2
  21. package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.d.ts +2 -1
  22. package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.d.ts.map +1 -1
  23. package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.js +2 -2
  24. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts +2 -1
  25. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts.map +1 -1
  26. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.js +2 -2
  27. package/esm/DateFilter/DateFilterCore.d.ts +2 -1
  28. package/esm/DateFilter/DateFilterCore.d.ts.map +1 -1
  29. package/esm/DateFilter/DateFilterCore.js +13 -5
  30. package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts +2 -1
  31. package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts.map +1 -1
  32. package/esm/DateFilter/DateRangePicker/DateRangeHint.js +11 -2
  33. package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts +2 -1
  34. package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  35. package/esm/DateFilter/DateRangePicker/DateRangePicker.js +4 -4
  36. package/esm/DateFilter/DateRangePicker/DateTimePicker.d.ts +1 -0
  37. package/esm/DateFilter/DateRangePicker/DateTimePicker.d.ts.map +1 -1
  38. package/esm/DateFilter/DateRangePicker/DateTimePicker.js +2 -2
  39. package/esm/DateFilter/DateRangePicker/EndDateInputField.d.ts.map +1 -1
  40. package/esm/DateFilter/DateRangePicker/EndDateInputField.js +2 -2
  41. package/esm/DateFilter/DateRangePicker/StartDateInputField.d.ts.map +1 -1
  42. package/esm/DateFilter/DateRangePicker/StartDateInputField.js +2 -2
  43. package/esm/DateFilter/DateRangePicker/TimeInput.d.ts +2 -1
  44. package/esm/DateFilter/DateRangePicker/TimeInput.d.ts.map +1 -1
  45. package/esm/DateFilter/DateRangePicker/TimeInput.js +33 -13
  46. package/esm/DateFilter/DateRangePicker/types.d.ts +2 -0
  47. package/esm/DateFilter/DateRangePicker/types.d.ts.map +1 -1
  48. package/esm/DateFilter/DateRangePicker/utils.d.ts.map +1 -1
  49. package/esm/DateFilter/DateRangePicker/utils.js +2 -1
  50. package/esm/DateFilter/DynamicSelect/utils.d.ts +1 -0
  51. package/esm/DateFilter/DynamicSelect/utils.d.ts.map +1 -1
  52. package/esm/DateFilter/DynamicSelect/utils.js +2 -0
  53. package/esm/DateFilter/constants/Platform.d.ts +5 -0
  54. package/esm/DateFilter/constants/Platform.d.ts.map +1 -1
  55. package/esm/DateFilter/constants/Platform.js +6 -1
  56. package/esm/DateFilter/constants/i18n.d.ts +1 -1
  57. package/esm/DateFilter/constants/i18n.d.ts.map +1 -1
  58. package/esm/DateFilter/constants/i18n.js +2 -0
  59. package/esm/DateFilter/index.d.ts +1 -0
  60. package/esm/DateFilter/index.d.ts.map +1 -1
  61. package/esm/DateFilter/utils/DateConversions.d.ts.map +1 -1
  62. package/esm/DateFilter/utils/DateConversions.js +4 -3
  63. package/esm/DateFilter/utils/DefaultDateFilterConfig.d.ts.map +1 -1
  64. package/esm/DateFilter/utils/DefaultDateFilterConfig.js +1 -0
  65. package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts +1 -1
  66. package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts.map +1 -1
  67. package/esm/DateFilter/utils/Translations/DateFilterTitle.js +11 -6
  68. package/esm/locales.d.ts.map +1 -1
  69. package/esm/locales.js +16 -0
  70. package/esm/sdk-ui-filters.d.ts +9 -1
  71. package/package.json +12 -12
  72. package/styles/css/attributeFilter.css.map +1 -1
  73. package/styles/css/attributeFilterNext/attributeFilter.css.map +1 -1
  74. package/styles/css/attributeFilterNext/attributeFilterAddons.css.map +1 -1
  75. package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
  76. package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
  77. package/styles/css/attributeFilterNext/attributeFilterElementsSelect.css.map +1 -1
  78. package/styles/css/attributeFilterNext/attributeFilterEmptyResult.css.map +1 -1
  79. package/styles/css/attributeFilterNext/attributeFilterStatusBar.css.map +1 -1
  80. package/styles/css/attributeFilterNext.css.map +1 -1
  81. package/styles/css/components/DateFilterButton.css.map +1 -1
  82. package/styles/css/dateFilter.css.map +1 -1
  83. package/styles/css/main.css.map +1 -1
  84. package/styles/css/measureValueFilter.css.map +1 -1
@@ -57,7 +57,7 @@ export function AttributeFilterElementsSelect({ items, totalItemsCount, totalIte
57
57
  // Keep legacy list-search autofocus only when both text filter modes are disabled.
58
58
  return !availableSelectionTypes.includes("arbitrary") && !availableSelectionTypes.includes("match");
59
59
  }, [menuConfig?.availableSelectionTypes]);
60
- const elementsSelectContent = (_jsx(InvertableSelectVirtualised, { className: "gd-attribute-filter-elements-select__next", adaptiveWidth: true, adaptiveHeight: isAdaptiveHeight, isSingleSelect: selectionMode === "single", items: items, totalItemsCount: totalItemsCountWithCurrentSettings, itemHeight: itemHeight, getItemKey: getElementKey, getItemTitle: (item) => getElementTitle(item, intl), isItemQuestionMarkEnabled: (item) => !!getElementPrimaryTitle(item), isInverted: isInverted, selectedItems: selectedItems, selectedItemsLimit: MAX_SELECTION_SIZE, onSelect: onSelect, onApplyButtonClick: onApplyButtonClick, searchString: searchString, onSearch: onSearch, canSubmitOnKeyDown: !isApplyDisabled, isLoading: isLoading, error: error, isLoadingNextPage: isLoadingNextPage, nextPageItemPlaceholdersCount: nextPageSize, onLoadNextPage: onLoadNextPage, numberOfHiddenSelectedItems: irrelevantSelection?.length ?? 0, renderItem: (props) => (_jsx(ElementsSelectItemComponent, { ...props, primaryLabelTitle: primaryLabelTitle ?? undefined, fullscreenOnMobile: fullscreenOnMobile })), renderError: () => {
60
+ const elementsSelectContent = (_jsx(InvertableSelectVirtualised, { className: "gd-attribute-filter-elements-select__next", adaptiveWidth: true, adaptiveHeight: isAdaptiveHeight, isSingleSelect: selectionMode === "single", items: items, totalItemsCount: totalItemsCountWithCurrentSettings, itemHeight: itemHeight, getItemKey: getElementKey, getItemTitle: (item) => getElementTitle(item, intl), isItemQuestionMarkEnabled: (item) => !!primaryLabelTitle && !!getElementPrimaryTitle(item), isInverted: isInverted, selectedItems: selectedItems, selectedItemsLimit: MAX_SELECTION_SIZE, onSelect: onSelect, onApplyButtonClick: onApplyButtonClick, searchString: searchString, onSearch: onSearch, canSubmitOnKeyDown: !isApplyDisabled, isLoading: isLoading, error: error, isLoadingNextPage: isLoadingNextPage, nextPageItemPlaceholdersCount: nextPageSize, onLoadNextPage: onLoadNextPage, numberOfHiddenSelectedItems: irrelevantSelection?.length ?? 0, renderItem: (props) => (_jsx(ElementsSelectItemComponent, { ...props, primaryLabelTitle: primaryLabelTitle ?? undefined, fullscreenOnMobile: fullscreenOnMobile })), renderError: () => {
61
61
  // error is guaranteed to exist when renderError is called
62
62
  return _jsx(ElementsSelectErrorComponent, { error: error });
63
63
  }, renderLoading: () => {
@@ -6,9 +6,9 @@ export interface IAttributeFilterElementsSelectItemTooltipProps {
6
6
  primaryLabelTitle?: string;
7
7
  itemPrimaryTitle?: string;
8
8
  isFocused?: boolean;
9
+ /** Id of the focusable element itself (grid representation only - the roving tabindex target). */
9
10
  id?: string;
10
11
  renderAsCell?: boolean;
11
- ariaLabel?: string;
12
12
  }
13
- export declare function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused, renderAsCell, ariaLabel }: IAttributeFilterElementsSelectItemTooltipProps): import("react/jsx-runtime").JSX.Element | null;
13
+ export declare function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused, renderAsCell }: IAttributeFilterElementsSelectItemTooltipProps): import("react/jsx-runtime").JSX.Element | null;
14
14
  //# sourceMappingURL=AttributeFilterElementsSelectItemTooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterElementsSelectItemTooltip.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.tsx"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,8CAA8C;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,wCAAwC,CAAC,EACrD,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,SAAiB,EACjB,YAAmB,EACnB,SAAS,EACZ,EAAE,8CAA8C,kDA6ChD"}
1
+ {"version":3,"file":"AttributeFilterElementsSelectItemTooltip.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.tsx"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,WAAW,8CAA8C;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kGAAkG;IAClG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,wCAAwC,CAAC,EACrD,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,SAAiB,EACjB,YAAmB,EACtB,EAAE,8CAA8C,kDAwDhD"}
@@ -1,17 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2007-2026 GoodData Corporation
3
+ import { useEffect, useState } from "react";
3
4
  import cx from "classnames";
4
5
  import { useIntl } from "react-intl";
5
- import { UiIcon, UiTooltip } from "@gooddata/sdk-ui-kit";
6
- export function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused = false, renderAsCell = true, ariaLabel, }) {
6
+ import { UiIcon, UiTooltip, useCloseOnEscape } from "@gooddata/sdk-ui-kit";
7
+ export function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused = false, renderAsCell = true, }) {
7
8
  const { formatMessage } = useIntl();
9
+ // Reveal only on keyboard focus (:focus-visible), not a mouse-click focus - LX-2753.
10
+ const [isKeyboardFocused, setIsKeyboardFocused] = useState(false);
11
+ useEffect(() => {
12
+ if (!isFocused) {
13
+ setIsKeyboardFocused(false);
14
+ return;
15
+ }
16
+ setIsKeyboardFocused(document.activeElement?.matches(":focus-visible") ?? false);
17
+ }, [isFocused]);
18
+ // Escape hides the tooltip without closing the dropdown - LX-2753 / WCAG 1.4.13.
19
+ useCloseOnEscape(isKeyboardFocused, () => setIsKeyboardFocused(false), true);
8
20
  if (!primaryLabelTitle || !itemPrimaryTitle) {
9
21
  return null;
10
22
  }
11
- return (_jsx("div", { role: renderAsCell ? "gridcell" : "div", children: _jsx(UiTooltip, { hoverOpenDelay: 0, hoverCloseDelay: 0, arrowPlacement: "left", optimalPlacement: true, offset: 15, isOpen: isFocused ? true : undefined, triggerBy: ["focus", "hover"], anchor: _jsx("div", { className: cx("gd-list-item-only gd-item-title-tooltip-wrapper", {
12
- "gd-list-item-only--isFocusedSelectItem": isFocused,
13
- }), id: id, tabIndex: isFocused ? 0 : -1, role: "button", "aria-label": ariaLabel ??
14
- formatMessage({ id: "attributesDropdown.alternativeValueTooltip" }, { label: primaryLabelTitle, value: itemPrimaryTitle }), children: _jsx(UiIcon, { color: "currentColor", layout: "block", size: 13, type: "question" }) }), content: _jsxs("div", { className: "gd-item-title-tooltip", children: [
23
+ return (_jsx("div", { role: renderAsCell ? "gridcell" : undefined, id: renderAsCell ? id : undefined, tabIndex: renderAsCell ? (isFocused ? 0 : -1) : undefined, "aria-label": renderAsCell ? formatMessage({ id: "attributesDropdown.detailsLabel" }) : undefined, children: _jsx(UiTooltip, { hoverOpenDelay: 0, hoverCloseDelay: 0, arrowPlacement: "left", optimalPlacement: true, offset: 15, isOpen: isKeyboardFocused ? true : undefined, triggerBy: ["hover"], anchor: _jsx("div", { className: cx("gd-list-item-only gd-item-title-tooltip-wrapper", {
24
+ // Icon is a real focus target only in the grid (multi-select) case.
25
+ "gd-list-item-only--isFocusedSelectItem": renderAsCell && isFocused,
26
+ }), children: _jsx(UiIcon, { color: "currentColor", layout: "block", size: 13, type: "question" }) }), content: _jsxs("div", { className: "gd-item-title-tooltip", children: [
15
27
  _jsx("h4", { children: primaryLabelTitle }), _jsx("p", { children: itemPrimaryTitle })
16
28
  ] }) }) }));
17
29
  }
@@ -4,7 +4,7 @@ import { useCallback, useMemo } from "react";
4
4
  import cx from "classnames";
5
5
  import { camelCase } from "lodash-es";
6
6
  import { useIntl } from "react-intl";
7
- import { CustomizableCheckmark, useMediaQuery } from "@gooddata/sdk-ui-kit";
7
+ import { CustomizableCheckmark, ScopedIdStore, useMediaQuery } from "@gooddata/sdk-ui-kit";
8
8
  import { getElementPrimaryTitle, getElementTitle } from "../../utils.js";
9
9
  import { AttributeFilterElementsSelectItemTooltip } from "./AttributeFilterElementsSelectItemTooltip.js";
10
10
  /**
@@ -14,6 +14,7 @@ import { AttributeFilterElementsSelectItemTooltip } from "./AttributeFilterEleme
14
14
  */
15
15
  export function SingleSelectionAttributeFilterElementsSelectItem({ item, onSelectOnly, isSelected, focusedAction, fullscreenOnMobile = false, primaryLabelTitle, }) {
16
16
  const intl = useIntl();
17
+ const makeId = ScopedIdStore.useContextStoreOptional((ctx) => ctx.makeId);
17
18
  // Modify item click behavior to select only this particular item.
18
19
  const onItemClick = useCallback((event) => {
19
20
  event.stopPropagation();
@@ -30,6 +31,6 @@ export function SingleSelectionAttributeFilterElementsSelectItem({ item, onSelec
30
31
  });
31
32
  return (_jsxs("div", { className: classes, onClick: onItemClick, children: [
32
33
  _jsxs("div", { className: "gd-attribute-filter-list-item-label ", children: [
33
- _jsx("span", { children: itemTitle }), isSelected && isMobile && fullscreenOnMobile ? (_jsx("span", { className: "gd-customizable-checkmark-mobile-navigation-wrapper", children: _jsx(CustomizableCheckmark, { className: "gd-customizable-checkmark-mobile-navigation" }) })) : null] }), _jsx(AttributeFilterElementsSelectItemTooltip, { primaryLabelTitle: primaryLabelTitle, itemPrimaryTitle: itemPrimaryTitle, renderAsCell: false, ariaLabel: intl.formatMessage({ id: "attributesDropdown.alternativeValueTooltipShort" }, { label: primaryLabelTitle, value: itemPrimaryTitle }) })
34
+ _jsx("span", { children: itemTitle }), isSelected && isMobile && fullscreenOnMobile ? (_jsx("span", { className: "gd-customizable-checkmark-mobile-navigation-wrapper", children: _jsx(CustomizableCheckmark, { className: "gd-customizable-checkmark-mobile-navigation" }) })) : null] }), _jsx(AttributeFilterElementsSelectItemTooltip, { primaryLabelTitle: primaryLabelTitle, itemPrimaryTitle: itemPrimaryTitle, renderAsCell: false, isFocused: !!focusedAction, id: makeId?.({ item, specifier: "questionMark" }) })
34
35
  ] }));
35
36
  }
@@ -9,6 +9,7 @@ export interface IAbsoluteDateFilterFormProps {
9
9
  isMobile: boolean;
10
10
  onSelectedFilterOptionChange: (option: DateFilterOption) => void;
11
11
  isTimeEnabled: boolean;
12
+ isSecondsEnabled?: boolean;
12
13
  weekStart?: WeekStart;
13
14
  shouldOverlayDatePicker?: boolean;
14
15
  withoutApply?: boolean;
@@ -17,5 +18,5 @@ export interface IAbsoluteDateFilterFormProps {
17
18
  /**
18
19
  * @internal
19
20
  */
20
- export declare function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm }: IAbsoluteDateFilterFormProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm }: IAbsoluteDateFilterFormProps): import("react/jsx-runtime").JSX.Element;
21
22
  //# sourceMappingURL=AbsoluteDateFilterForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbsoluteDateFilterForm.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAI/F;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAOD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACnC,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,4BAA4B,EAC5B,UAAU,EACb,EAAE,4BAA4B,2CA0B9B"}
1
+ {"version":3,"file":"AbsoluteDateFilterForm.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAI/F;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAOD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACnC,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,gBAAwB,EACxB,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,4BAA4B,EAC5B,UAAU,EACb,EAAE,4BAA4B,2CA4B9B"}
@@ -8,9 +8,9 @@ const dayPickerProps = {
8
8
  /**
9
9
  * @internal
10
10
  */
11
- export function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, }) {
11
+ export function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled = false, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, }) {
12
12
  const handleRangeChange = (range) => {
13
- onSelectedFilterOptionChange(dateRangeToDateFilterValue(range, selectedFilterOption.localIdentifier, isTimeEnabled, selectedFilterOption.emptyValueHandling));
13
+ onSelectedFilterOptionChange(dateRangeToDateFilterValue(range, selectedFilterOption.localIdentifier, isTimeEnabled, selectedFilterOption.emptyValueHandling, isSecondsEnabled));
14
14
  };
15
- return (_jsx(DateRangePicker, { dateFormat: dateFormat, onRangeChange: handleRangeChange, range: dateFilterValueToDateRange(selectedFilterOption, isTimeEnabled), isMobile: isMobile, dayPickerProps: dayPickerProps, isTimeEnabled: isTimeEnabled, weekStart: weekStart, shouldOverlayDatePicker: shouldOverlayDatePicker, submitForm: submitForm, withoutApply: withoutApply }));
15
+ return (_jsx(DateRangePicker, { dateFormat: dateFormat, onRangeChange: handleRangeChange, range: dateFilterValueToDateRange(selectedFilterOption, isTimeEnabled, isSecondsEnabled), isMobile: isMobile, dayPickerProps: dayPickerProps, isTimeEnabled: isTimeEnabled, isSecondsEnabled: isSecondsEnabled, weekStart: weekStart, shouldOverlayDatePicker: shouldOverlayDatePicker, submitForm: submitForm, withoutApply: withoutApply }));
16
16
  }
@@ -7,6 +7,7 @@ interface IAbsoluteDateFilterFormSection {
7
7
  dateFormat: string;
8
8
  weekStart: WeekStart;
9
9
  isTimeForAbsoluteRangeEnabled: boolean;
10
+ isSecondsForAbsoluteRangeEnabled?: boolean;
10
11
  isMobile: boolean;
11
12
  route: DateFilterRoute;
12
13
  withoutApply?: boolean;
@@ -15,6 +16,6 @@ interface IAbsoluteDateFilterFormSection {
15
16
  closeDropdown: () => void;
16
17
  onApplyClick: () => void;
17
18
  }
18
- export declare function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick }: IAbsoluteDateFilterFormSection): import("react/jsx-runtime").JSX.Element | null;
19
+ export declare function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick }: IAbsoluteDateFilterFormSection): import("react/jsx-runtime").JSX.Element | null;
19
20
  export {};
20
21
  //# sourceMappingURL=AbsoluteDateFilterFormSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbsoluteDateFilterFormSection.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA4B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAEhC,MAAM,wBAAwB,CAAC;AAOhC,UAAU,8BAA8B;IACpC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,6BAA6B,CAAC,EAC1C,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACf,EAAE,8BAA8B,kDAqDhC"}
1
+ {"version":3,"file":"AbsoluteDateFilterFormSection.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA4B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAEhC,MAAM,wBAAwB,CAAC;AAOhC,UAAU,8BAA8B;IACpC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,6BAA6B,CAAC,EAC1C,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,gCAAgC,EAChC,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACf,EAAE,8BAA8B,kDAsDhC"}
@@ -8,7 +8,7 @@ import { DateFilterFormWrapper } from "../DateFilterFormWrapper/DateFilterFormWr
8
8
  import { ListItem } from "../ListItem/ListItem.js";
9
9
  import { AbsoluteDateFilterForm } from "./AbsoluteDateFilterForm.js";
10
10
  const ITEM_CLASS_MOBILE = "gd-date-filter-item-mobile";
11
- export function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick, }) {
11
+ export function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick, }) {
12
12
  const submitForm = useCallback(() => {
13
13
  onApplyClick();
14
14
  closeDropdown();
@@ -23,5 +23,5 @@ export function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOpt
23
23
  if (!isAbsoluteDateFilterForm(selectedFilterOption)) {
24
24
  onSelectedFilterOptionChange(filterOptions.absoluteForm);
25
25
  }
26
- }, className: cx("s-absolute-form", "s-do-not-close-dropdown-on-click", isMobile && ITEM_CLASS_MOBILE), children: filterOptions.absoluteForm.name ? (filterOptions.absoluteForm.name) : (_jsx(FormattedMessage, { id: "filters.staticPeriod" })) })) : null, isSelected && (!isMobile || isOnRoute) ? (_jsx(DateFilterFormWrapper, { isMobile: isMobile, children: _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }) })) : null] }));
26
+ }, className: cx("s-absolute-form", "s-do-not-close-dropdown-on-click", isMobile && ITEM_CLASS_MOBILE), children: filterOptions.absoluteForm.name ? (filterOptions.absoluteForm.name) : (_jsx(FormattedMessage, { id: "filters.staticPeriod" })) })) : null, isSelected && (!isMobile || isOnRoute) ? (_jsx(DateFilterFormWrapper, { isMobile: isMobile, children: _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }) })) : null] }));
27
27
  }
@@ -1,6 +1,6 @@
1
1
  import { type EmptyValues } from "@gooddata/sdk-model";
2
2
  import { type IDateRange } from "../DateRangePicker/types.js";
3
3
  import { type IUiAbsoluteDateFilterForm } from "../interfaces/index.js";
4
- export declare const dateRangeToDateFilterValue: (range: IDateRange, localIdentifier: string, isTimeForAbsoluteRangeEnabled: boolean, emptyValueHandling?: EmptyValues | undefined) => IUiAbsoluteDateFilterForm;
5
- export declare const dateFilterValueToDateRange: (value: IUiAbsoluteDateFilterForm, isTimeForAbsoluteRangeEnabled?: boolean) => IDateRange;
4
+ export declare const dateRangeToDateFilterValue: (range: IDateRange, localIdentifier: string, isTimeForAbsoluteRangeEnabled: boolean, emptyValueHandling?: EmptyValues | undefined, isSecondsForAbsoluteRangeEnabled?: boolean) => IUiAbsoluteDateFilterForm;
5
+ export declare const dateFilterValueToDateRange: (value: IUiAbsoluteDateFilterForm, isTimeForAbsoluteRangeEnabled?: boolean, isSecondsForAbsoluteRangeEnabled?: boolean) => IDateRange;
6
6
  //# sourceMappingURL=conversions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/conversions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAMxE,eAAO,MAAM,0BAA0B,iKAiBtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,2FAoBtC,CAAC"}
1
+ {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/conversions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAMxE,eAAO,MAAM,0BAA0B,6MAqBtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,uIAuBtC,CAAC"}
@@ -1,8 +1,11 @@
1
1
  // (C) 2007-2026 GoodData Corporation
2
- import { platformDateFormat, platformDateTimeFormat } from "../constants/Platform.js";
2
+ import { platformDateFormat, platformDateTimeFormat, platformDateTimeFormatWithSeconds, } from "../constants/Platform.js";
3
3
  import { convertDateToPlatformDateString, convertPlatformDateStringToDate, } from "../utils/DateConversions.js";
4
- export const dateRangeToDateFilterValue = (range, localIdentifier, isTimeForAbsoluteRangeEnabled, emptyValueHandling) => {
5
- const parsingFormat = isTimeForAbsoluteRangeEnabled ? platformDateTimeFormat : platformDateFormat;
4
+ export const dateRangeToDateFilterValue = (range, localIdentifier, isTimeForAbsoluteRangeEnabled, emptyValueHandling, isSecondsForAbsoluteRangeEnabled = false) => {
5
+ const timeFormat = isSecondsForAbsoluteRangeEnabled
6
+ ? platformDateTimeFormatWithSeconds
7
+ : platformDateTimeFormat;
8
+ const parsingFormat = isTimeForAbsoluteRangeEnabled ? timeFormat : platformDateFormat;
6
9
  return {
7
10
  from: convertDateToPlatformDateString(range.from, parsingFormat) ?? undefined,
8
11
  to: convertDateToPlatformDateString(range.to, parsingFormat) ?? undefined,
@@ -13,7 +16,7 @@ export const dateRangeToDateFilterValue = (range, localIdentifier, isTimeForAbso
13
16
  ...(emptyValueHandling ? { emptyValueHandling } : {}),
14
17
  };
15
18
  };
16
- export const dateFilterValueToDateRange = (value, isTimeForAbsoluteRangeEnabled = false) => {
19
+ export const dateFilterValueToDateRange = (value, isTimeForAbsoluteRangeEnabled = false, isSecondsForAbsoluteRangeEnabled = false) => {
17
20
  const isFromTimeDefined = value.from && value.from.split(" ").length > 1;
18
21
  const isToTimeDefined = value.to && value.to.split(" ").length > 1;
19
22
  const from = value ? (convertPlatformDateStringToDate(value.from) ?? undefined) : undefined;
@@ -21,10 +24,12 @@ export const dateFilterValueToDateRange = (value, isTimeForAbsoluteRangeEnabled
21
24
  if (from && !isFromTimeDefined && isTimeForAbsoluteRangeEnabled) {
22
25
  from.setHours(0);
23
26
  from.setMinutes(0);
27
+ from.setSeconds(0);
24
28
  }
25
29
  if (to && !isToTimeDefined && isTimeForAbsoluteRangeEnabled) {
26
30
  to.setHours(23);
27
31
  to.setMinutes(59);
32
+ to.setSeconds(isSecondsForAbsoluteRangeEnabled ? 59 : 0);
28
33
  }
29
34
  return { from, to };
30
35
  };
@@ -28,6 +28,13 @@ export interface IDateFilterOwnProps extends IDateFilterStatePropsIntersection {
28
28
  dateFormat?: string;
29
29
  locale?: string;
30
30
  isTimeForAbsoluteRangeEnabled?: boolean;
31
+ /**
32
+ * If enabled, the absolute date filter form time inputs allow second-level precision (HH:mm:ss) instead
33
+ * of minute precision (HH:mm). Only takes effect together with `isTimeForAbsoluteRangeEnabled`.
34
+ *
35
+ * @defaultValue false
36
+ */
37
+ isSecondsForAbsoluteRangeEnabled?: boolean;
31
38
  showDropDownHeaderMessage?: boolean;
32
39
  weekStart?: WeekStart;
33
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DateFilter.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateFilter.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilter.tsx"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export class DateFilter extends PureComponent {
19
19
  dateFormat: DEFAULT_DATE_FORMAT,
20
20
  isEditMode: false,
21
21
  isTimeForAbsoluteRangeEnabled: false,
22
+ isSecondsForAbsoluteRangeEnabled: false,
22
23
  locale: "en-US",
23
24
  onCancel: () => { },
24
25
  onOpen: () => { },
@@ -100,9 +101,9 @@ export class DateFilter extends PureComponent {
100
101
  DateFilter.checkInitialFilterOption(this.props.selectedFilterOption);
101
102
  }
102
103
  render() {
103
- const { customFilterName, dateFilterMode, dateFormat, filterOptions, selectedFilterOption: originalSelectedFilterOption, excludeCurrentPeriod: originalExcludeCurrentPeriod, availableGranularities, isEditMode, openOnInit, locale, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, showDropDownHeaderMessage, FilterConfigurationComponent, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, enableEmptyDateValues, } = this.props;
104
+ const { customFilterName, dateFilterMode, dateFormat, filterOptions, selectedFilterOption: originalSelectedFilterOption, excludeCurrentPeriod: originalExcludeCurrentPeriod, availableGranularities, isEditMode, openOnInit, locale, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, showDropDownHeaderMessage, FilterConfigurationComponent, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, enableEmptyDateValues, } = this.props;
104
105
  const { excludeCurrentPeriod, selectedFilterOption, isExcludeCurrentPeriodEnabled } = this.state;
105
- return dateFilterMode === "hidden" ? null : (_jsx(DateFilterCore, { availableGranularities: availableGranularities, customFilterName: customFilterName, dateFormat: dateFormat ?? DEFAULT_DATE_FORMAT, openOnInit: openOnInit, showDropDownHeaderMessage: showDropDownHeaderMessage, disabled: dateFilterMode === "readonly", excludeCurrentPeriod: excludeCurrentPeriod, originalExcludeCurrentPeriod: originalExcludeCurrentPeriod, isExcludeCurrentPeriodEnabled: isExcludeCurrentPeriodEnabled, hideDisabledExclude: this.props.hideDisabledExclude, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled ?? false, isEditMode: isEditMode ?? false, filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, originalSelectedFilterOption: originalSelectedFilterOption, locale: locale, onApplyClick: this.handleApplyClick, onCancelClick: this.onCancelClicked, onDropdownOpenChanged: this.onDropdownOpenChanged, onExcludeCurrentPeriodChange: this.handleExcludeCurrentPeriodChange, onSelectedFilterOptionChange: this.handleSelectedFilterOptionChange, errors: validateFilterOption(selectedFilterOption), weekStart: weekStart, customIcon: customIcon, FilterConfigurationComponent: FilterConfigurationComponent, withoutApply: withoutApply, ButtonComponent: ButtonComponent, overlayPositionType: overlayPositionType, activeCalendars: activeCalendars, enableEmptyDateValues: enableEmptyDateValues }));
106
+ return dateFilterMode === "hidden" ? null : (_jsx(DateFilterCore, { availableGranularities: availableGranularities, customFilterName: customFilterName, dateFormat: dateFormat ?? DEFAULT_DATE_FORMAT, openOnInit: openOnInit, showDropDownHeaderMessage: showDropDownHeaderMessage, disabled: dateFilterMode === "readonly", excludeCurrentPeriod: excludeCurrentPeriod, originalExcludeCurrentPeriod: originalExcludeCurrentPeriod, isExcludeCurrentPeriodEnabled: isExcludeCurrentPeriodEnabled, hideDisabledExclude: this.props.hideDisabledExclude, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled ?? false, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled ?? false, isEditMode: isEditMode ?? false, filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, originalSelectedFilterOption: originalSelectedFilterOption, locale: locale, onApplyClick: this.handleApplyClick, onCancelClick: this.onCancelClicked, onDropdownOpenChanged: this.onDropdownOpenChanged, onExcludeCurrentPeriodChange: this.handleExcludeCurrentPeriodChange, onSelectedFilterOptionChange: this.handleSelectedFilterOptionChange, errors: validateFilterOption(selectedFilterOption), weekStart: weekStart, customIcon: customIcon, FilterConfigurationComponent: FilterConfigurationComponent, withoutApply: withoutApply, ButtonComponent: ButtonComponent, overlayPositionType: overlayPositionType, activeCalendars: activeCalendars, enableEmptyDateValues: enableEmptyDateValues }));
106
107
  }
107
108
  handleApplyClick = () => {
108
109
  const normalizedSelectedFilterOption = this.normalizeEmptyValueHandling(normalizeSelectedFilterOption(this.state.selectedFilterOption));
@@ -11,6 +11,7 @@ export interface IDateFilterBodyProps {
11
11
  isExcludeCurrentPeriodEnabled: boolean;
12
12
  onExcludeCurrentPeriodChange: (isExcluded: boolean) => void;
13
13
  isTimeForAbsoluteRangeEnabled: boolean;
14
+ isSecondsForAbsoluteRangeEnabled?: boolean;
14
15
  availableGranularities: DateFilterGranularity[];
15
16
  isEditMode: boolean;
16
17
  isMobile: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DateFilterBody.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBody.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EAKpB,MAAM,OAAO,CAAC;AAMf,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAEjC,MAAM,wBAAwB,CAAC;AA0BhC,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,EAAE,OAAO,CAAC;IACvC,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IAEvC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,gBAAgB,EAAE,YAAY,CAAC;IAE/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,cAAc,iHA0ZzB,CAAC"}
1
+ {"version":3,"file":"DateFilterBody.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBody.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EAKpB,MAAM,OAAO,CAAC;AAMf,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAEjC,MAAM,wBAAwB,CAAC;AA0BhC,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,EAAE,OAAO,CAAC;IACvC,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,gBAAgB,EAAE,YAAY,CAAC;IAE/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,cAAc,iHA4ZzB,CAAC"}
@@ -112,7 +112,7 @@ export const DateFilterBody = forwardRef((props, ref) => {
112
112
  }
113
113
  return "gd-extended-date-filter-body-scrollable";
114
114
  };
115
- const { isExcludeCurrentPeriodEnabled, isMobile, dateFilterButton, errors, isConfigurationEnabled, withoutApply, selectedFilterOption, isEditMode, excludeCurrentPeriod, hideDisabledExclude, filterOptions, showHeaderMessage = true, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart = "Sunday", availableGranularities, onApplyClick, onCancelClick, closeDropdown, onConfigurationClick, onExcludeCurrentPeriodChange, onSelectedFilterOptionChange, ariaLabel, id, } = props;
115
+ const { isExcludeCurrentPeriodEnabled, isMobile, dateFilterButton, errors, isConfigurationEnabled, withoutApply, selectedFilterOption, isEditMode, excludeCurrentPeriod, hideDisabledExclude, filterOptions, showHeaderMessage = true, dateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart = "Sunday", availableGranularities, onApplyClick, onCancelClick, closeDropdown, onConfigurationClick, onExcludeCurrentPeriodChange, onSelectedFilterOptionChange, ariaLabel, id, } = props;
116
116
  // Keep the same behavior as `DateFilterBody`:
117
117
  // - hide disabled exclude toggle on mobile by default
118
118
  // - allow callers to hide it on desktop via `hideDisabledExclude`
@@ -163,7 +163,7 @@ export const DateFilterBody = forwardRef((props, ref) => {
163
163
  return (_jsxs("div", { ref: rootRef, className: cx(!isMobile && "gd-extended-date-filter-body-redesigned", "gd-extended-date-filter-body", "s-extended-date-filters-body", isMobile && "gd-extended-date-filter-body-mobile", route && "gd-active-form"), onKeyDown: handleKeyDown, onFocus: handleFocus, role: "dialog", id: formId, "aria-label": formLabel, children: [route === null && isMobile ? (_jsx("div", { className: "gd-extended-date-filter-mobile-header", onClick: () => {
164
164
  onCancelClick();
165
165
  closeDropdown();
166
- }, children: dateFilterButton })) : null, route ? (_jsx("div", { className: "gd-extended-date-filter-form-wrapper", ref: ref, children: _jsx(DateFilterFormContent, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, dateFormat: dateFormat, weekStart: weekStart, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, withoutApply: withoutApply, enableEmptyDateValues: props.enableEmptyDateValues, activeForm: route, onBackNavigation: handleBackNavigation, onClose: closeDropdown, submitForm: () => {
166
+ }, children: dateFilterButton })) : null, route ? (_jsx("div", { className: "gd-extended-date-filter-form-wrapper", ref: ref, children: _jsx(DateFilterFormContent, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, dateFormat: dateFormat, weekStart: weekStart, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, withoutApply: withoutApply, enableEmptyDateValues: props.enableEmptyDateValues, activeForm: route, onBackNavigation: handleBackNavigation, onClose: closeDropdown, submitForm: () => {
167
167
  onApplyClick();
168
168
  if (!withoutApply) {
169
169
  closeDropdown();
@@ -8,6 +8,7 @@ interface IDateFilterBodyContentProps {
8
8
  route: DateFilterRoute;
9
9
  dateFormat: string;
10
10
  isTimeForAbsoluteRangeEnabled: boolean;
11
+ isSecondsForAbsoluteRangeEnabled?: boolean;
11
12
  weekStart: WeekStart;
12
13
  availableGranularities: DateFilterGranularity[];
13
14
  errors?: IExtendedDateFilterErrors;
@@ -27,6 +28,6 @@ interface IDateFilterBodyContentProps {
27
28
  */
28
29
  enableEmptyDateValues?: boolean;
29
30
  }
30
- export declare function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues }: IDateFilterBodyContentProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues }: IDateFilterBodyContentProps): import("react/jsx-runtime").JSX.Element;
31
32
  export {};
32
33
  //# sourceMappingURL=DateFilterBodyContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateFilterBodyContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKxG,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,UAAU,2BAA2B;IACjC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B,EAAE,OAAO,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,6BAA6B,EAC7B,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACxB,EAAE,2BAA2B,2CAkI7B"}
1
+ {"version":3,"file":"DateFilterBodyContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKxG,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,UAAU,2BAA2B;IACjC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACxB,EAAE,2BAA2B,2CAmI7B"}
@@ -13,7 +13,7 @@ import { AbsolutePresetFilterItems } from "./AbsolutePresetFilterItems.js";
13
13
  import { CalendarTypeTabs } from "./CalendarTypeTabs.js";
14
14
  import { RelativePresetFilterItems } from "./RelativePresetFilterItems.js";
15
15
  const ITEM_CLASS_MOBILE = "gd-date-filter-item-mobile";
16
- export function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues, }) {
16
+ export function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues, }) {
17
17
  const intl = useIntl();
18
18
  const listboxLabel = intl.formatMessage({ id: "dateFilterDropdown.label" });
19
19
  const fiscalTabsConfig = getFiscalTabsConfig(filterOptions.relativePreset, activeCalendars);
@@ -38,7 +38,7 @@ export function DateFilterBodyContent({ filterOptions, selectedFilterOption, isM
38
38
  filterOptions.absolutePreset?.some((p) => p.localIdentifier === selectedId) ||
39
39
  Object.values(filteredRelativePreset ?? {}).some((items) => items?.some((p) => p.localIdentifier === selectedId));
40
40
  const listContent = (_jsxs(_Fragment, { children: [
41
- _jsx(AllTimeFilterSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, isFocusFallback: !isSelectedInVisibleList }), _jsx(AbsoluteDateFilterFormSection, { filterOptions: filterOptions, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, withoutApply: withoutApply }), isEmpty(filteredAvailableGranularities) ? null : (_jsx(RelativeDateFilterFormSection, { filterOptions: filterOptions, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, changeRoute: changeRoute, route: route, errors: errors || undefined, onApplyClick: onApplyClick, closeDropdown: closeDropdown, withoutApply: withoutApply })), filterOptions.absolutePreset && filterOptions.absolutePreset.length > 0 ? (_jsx(AbsolutePresetFilterItems, { dateFormat: dateFormat, filterOptions: filterOptions.absolutePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, filteredRelativePreset ? (_jsx(RelativePresetFilterItems, { dateFormat: dateFormat, filterOption: filteredRelativePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, _jsx(OtherPresetsSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, enableEmptyDateValues: enableEmptyDateValues ?? false })
41
+ _jsx(AllTimeFilterSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, isFocusFallback: !isSelectedInVisibleList }), _jsx(AbsoluteDateFilterFormSection, { filterOptions: filterOptions, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, withoutApply: withoutApply }), isEmpty(filteredAvailableGranularities) ? null : (_jsx(RelativeDateFilterFormSection, { filterOptions: filterOptions, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, changeRoute: changeRoute, route: route, errors: errors || undefined, onApplyClick: onApplyClick, closeDropdown: closeDropdown, withoutApply: withoutApply })), filterOptions.absolutePreset && filterOptions.absolutePreset.length > 0 ? (_jsx(AbsolutePresetFilterItems, { dateFormat: dateFormat, filterOptions: filterOptions.absolutePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, filteredRelativePreset ? (_jsx(RelativePresetFilterItems, { dateFormat: dateFormat, filterOption: filteredRelativePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, _jsx(OtherPresetsSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, enableEmptyDateValues: enableEmptyDateValues ?? false })
42
42
  ] }));
43
43
  return (_jsxs(_Fragment, { children: [fiscalTabsConfig.showTabs ? (_jsx(CalendarTypeTabs, { selectedTab: selectedTab, onTabSelect: setSelectedTab, tabIds: tabIds, panelId: panelId })) : null, fiscalTabsConfig.showTabs ? (_jsx("div", { role: "tabpanel", id: panelId, "aria-labelledby": activeTabId, children: _jsx("div", { role: "listbox", "aria-label": listboxLabel, children: listContent }) })) : (_jsx("div", { role: "listbox", "aria-label": listboxLabel, children: listContent }))] }));
44
44
  }
@@ -8,6 +8,7 @@ export interface IDateFilterFormContentProps {
8
8
  dateFormat: string;
9
9
  weekStart: WeekStart;
10
10
  isTimeForAbsoluteRangeEnabled: boolean;
11
+ isSecondsForAbsoluteRangeEnabled?: boolean;
11
12
  availableGranularities: DateFilterGranularity[];
12
13
  isMobile: boolean;
13
14
  withoutApply?: boolean;
@@ -24,5 +25,5 @@ export interface IDateFilterFormContentProps {
24
25
  *
25
26
  * @internal
26
27
  */
27
- export declare function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors }: IDateFilterFormContentProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors }: IDateFilterFormContentProps): import("react/jsx-runtime").JSX.Element;
28
29
  //# sourceMappingURL=DateFilterFormContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateFilterFormContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterFormContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,2BAA2B;IACxC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,MAAM,EACT,EAAE,2BAA2B,2CAyI7B"}
1
+ {"version":3,"file":"DateFilterFormContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterFormContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,2BAA2B;IACxC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,MAAM,EACT,EAAE,2BAA2B,2CA0I7B"}
@@ -17,7 +17,7 @@ import { DateFilterFormNavigationWrapper } from "./DateFilterFormNavigationWrapp
17
17
  *
18
18
  * @internal
19
19
  */
20
- export function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors, }) {
20
+ export function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors, }) {
21
21
  const showStaticForm = activeForm === "absoluteForm" && filterOptions.absoluteForm;
22
22
  const showRelativeForm = activeForm === "relativeForm" && filterOptions.relativeForm && availableGranularities.length > 0;
23
23
  const absoluteSelectedFilterOption = filterOptions.absoluteForm && isAbsoluteDateFilterForm(selectedFilterOption)
@@ -47,7 +47,7 @@ export function DateFilterFormContent({ filterOptions, selectedFilterOption, onS
47
47
  return (_jsxs("div", { className: "gd-date-filter-form-content", children: [showStaticForm ? (_jsx(DateFilterFormNavigationWrapper, { title: filterOptions.absoluteForm?.name
48
48
  ? filterOptions.absoluteForm.name
49
49
  : intl.formatMessage({ id: "filters.staticPeriod" }), onBack: onBackNavigation, backLabel: intl.formatMessage({ id: "menu.back" }), isMobile: isMobile, children: _jsxs(DateFilterFormWrapper, { isMobile: isMobile, children: [
50
- _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: absoluteSelectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }), shouldRenderEmptyValuesHandling ? (_jsx(EmptyValuesHandlingToggle, { mode: "include", className: "gd-date-filter-empty-values-handling-toggle", checked: emptyValueHandlingToggleChecked, onChange: (checked) => {
50
+ _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: absoluteSelectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }), shouldRenderEmptyValuesHandling ? (_jsx(EmptyValuesHandlingToggle, { mode: "include", className: "gd-date-filter-empty-values-handling-toggle", checked: emptyValueHandlingToggleChecked, onChange: (checked) => {
51
51
  const emptyValueHandling = checked ? "include" : undefined;
52
52
  onSelectedFilterOptionChange({
53
53
  ...absoluteSelectedFilterOption,
@@ -23,6 +23,7 @@ export interface IDateFilterCoreProps {
23
23
  hideDisabledExclude?: boolean;
24
24
  onExcludeCurrentPeriodChange: (isExcluded: boolean) => void;
25
25
  isTimeForAbsoluteRangeEnabled: boolean;
26
+ isSecondsForAbsoluteRangeEnabled?: boolean;
26
27
  availableGranularities: DateFilterGranularity[];
27
28
  isEditMode: boolean;
28
29
  locale?: string;
@@ -62,5 +63,5 @@ export interface IDateFilterCoreProps {
62
63
  enableEmptyDateValues?: boolean;
63
64
  }
64
65
  export declare const verifyDateFormat: (dateFormat: string) => string;
65
- export declare function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }: IDateFilterCoreProps): import("react/jsx-runtime").JSX.Element;
66
+ export declare function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }: IDateFilterCoreProps): import("react/jsx-runtime").JSX.Element;
66
67
  //# sourceMappingURL=DateFilterCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAOrB,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOxG,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAW7E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC;;OAEG;IACH,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,4BAA4B,EAAE,gBAAgB,CAAC;IAE/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IAEvC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,4BAA4B,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAExE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAExD;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,gCAY5B,CAAC;AAwBF,wBAAgB,cAAc,CAAC,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,6BAA6B,EAC7B,SAAS,EACT,UAAU,EACV,4BAA4B,EAC5B,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,GAAG,iBAAiB,EACvB,EAAE,oBAAoB,2CA6KtB"}
1
+ {"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAOrB,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOxG,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAe7E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC;;OAEG;IACH,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,4BAA4B,EAAE,gBAAgB,CAAC;IAE/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,4BAA4B,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAExE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAExD;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,gCAY5B,CAAC;AAqCF,wBAAgB,cAAc,CAAC,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,6BAA6B,EAC7B,gCAAgC,EAChC,SAAS,EACT,UAAU,EACV,4BAA4B,EAC5B,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,GAAG,iBAAiB,EACvB,EAAE,oBAAoB,2CAiLtB"}
@@ -9,7 +9,7 @@ import { Dropdown } from "@gooddata/sdk-ui-kit";
9
9
  import { MediaQueries } from "../constants/MediaQueries.js";
10
10
  import { DATE_FILTER_ACTIVE_CALENDAR_TAB_ID, DATE_FILTER_CUSTOM_RELATIVE_ID, DATE_FILTER_CUSTOM_STATIC_ID, DATE_FILTER_SELECTED_LIST_ITEM_ID, } from "./accessibility/elementId.js";
11
11
  import { createDateFilterKeyboardHandler } from "./accessibility/keyboardNavigation.js";
12
- import { DEFAULT_DATE_FORMAT, TIME_FORMAT_WITH_SEPARATOR } from "./constants/Platform.js";
12
+ import { DEFAULT_DATE_FORMAT, TIME_FORMAT_WITH_SECONDS_WITH_SEPARATOR, TIME_FORMAT_WITH_SEPARATOR, } from "./constants/Platform.js";
13
13
  import { DateFilterBody } from "./DateFilterBody/DateFilterBody.js";
14
14
  import { DateFilterButtonLocalized } from "./DateFilterButtonLocalized/DateFilterButtonLocalized.js";
15
15
  import { filterVisibleDateFilterOptions, sanitizePresetIntervals } from "./utils/OptionUtils.js";
@@ -27,7 +27,15 @@ export const verifyDateFormat = (dateFormat) => {
27
27
  return DEFAULT_DATE_FORMAT;
28
28
  }
29
29
  };
30
- const adjustDateFormatForDisplay = (dateFormat, isTimeForAbsoluteRangeEnabled = false) => isTimeForAbsoluteRangeEnabled ? dateFormat + TIME_FORMAT_WITH_SEPARATOR : dateFormat;
30
+ const adjustDateFormatForDisplay = (dateFormat, isTimeForAbsoluteRangeEnabled = false, isSecondsForAbsoluteRangeEnabled = false) => {
31
+ if (!isTimeForAbsoluteRangeEnabled) {
32
+ return dateFormat;
33
+ }
34
+ return (dateFormat +
35
+ (isSecondsForAbsoluteRangeEnabled
36
+ ? TIME_FORMAT_WITH_SECONDS_WITH_SEPARATOR
37
+ : TIME_FORMAT_WITH_SEPARATOR));
38
+ };
31
39
  const getInitialFocus = (selectedFilterOption, filterOptions, activeCalendars) => {
32
40
  const { showTabs } = getFiscalTabsConfig(filterOptions.relativePreset, activeCalendars);
33
41
  if (showTabs) {
@@ -41,7 +49,7 @@ const getInitialFocus = (selectedFilterOption, filterOptions, activeCalendars) =
41
49
  }
42
50
  return DATE_FILTER_SELECTED_LIST_ITEM_ID;
43
51
  };
44
- export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }) {
52
+ export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }) {
45
53
  const [isConfigurationOpen, setIsConfigurationOpen] = useState(false);
46
54
  const verifiedDateFormat = verifyDateFormat(dateFormat);
47
55
  const dateFilterContainerRef = useRef(null);
@@ -82,7 +90,7 @@ export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCu
82
90
  ? lastValidSelectedFilterOption
83
91
  : originalSelectedFilterOption, withoutApply
84
92
  ? (lastValidExcludeCurrentPeriod ?? false)
85
- : originalExcludeCurrentPeriod), dateFormat: adjustDateFormatForDisplay(verifiedDateFormat, isTimeForAbsoluteRangeEnabled), customFilterName: customFilterName, customIcon: customIcon, onClick: toggleDropdown, ButtonComponent: ButtonComponent, buttonRef: buttonRef ?? undefined, dropdownId: dropdownId }));
93
+ : originalExcludeCurrentPeriod), dateFormat: adjustDateFormatForDisplay(verifiedDateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled), customFilterName: customFilterName, customIcon: customIcon, onClick: toggleDropdown, ButtonComponent: ButtonComponent, buttonRef: buttonRef ?? undefined, dropdownId: dropdownId }));
86
94
  return (_jsx(Dropdown, { openOnInit: openOnInit, closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, enableEventPropagation: true, autofocusOnOpen: true, initialFocus: initialFocus, alignPoints: [
87
95
  { align: "bl tl" },
88
96
  { align: "tr tl" },
@@ -101,7 +109,7 @@ export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCu
101
109
  _jsx("div", { className: "gd-extended-date-filter-container", ref: dateFilterContainerRef, onKeyDown: (e) => handleKeyDown(e, closeDropdown), children: _jsx(DateFilterBody, { ...dropdownBodyProps, activeCalendars: activeCalendars, id: ariaAttributes.id, "aria-label": customFilterName, selectedFilterOption: selectedFilterOption, excludeCurrentPeriod: excludeCurrentPeriod, hideDisabledExclude: hideDisabledExclude, showHeaderMessage: showDropDownHeaderMessage, onApplyClick: onApplyClick, onCancelClick: onCancelClick, filterOptions: filteredFilterOptions, isMobile: isMobile, closeDropdown: closeDropdown,
102
110
  // This button is rendered inside the open dropdown body on mobile,
103
111
  // so it should use the "open" visual state (chevron up).
104
- dateFilterButton: dateFilterButton(isMobile), dateFormat: verifiedDateFormat, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, isConfigurationEnabled: FilterConfigurationComponent !== undefined, onConfigurationClick: openConfiguration, withoutApply: withoutApply, ref: dateFilterBodyRef }) }));
112
+ dateFilterButton: dateFilterButton(isMobile), dateFormat: verifiedDateFormat, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, isConfigurationEnabled: FilterConfigurationComponent !== undefined, onConfigurationClick: openConfiguration, withoutApply: withoutApply, ref: dateFilterBodyRef }) }));
105
113
  } }));
106
114
  } }) }) }));
107
115
  }
@@ -1,7 +1,8 @@
1
1
  import { type IntlShape } from "react-intl";
2
- export declare function DateRangeHint({ dateFormat, isTimeEnabled, dateHintId, timeHintId, intl }: {
2
+ export declare function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled, dateHintId, timeHintId, intl }: {
3
3
  dateFormat: string;
4
4
  isTimeEnabled: boolean;
5
+ isSecondsEnabled?: boolean;
5
6
  dateHintId: string;
6
7
  timeHintId: string;
7
8
  intl: IntlShape;
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeHint.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangeHint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,wBAAgB,aAAa,CAAC,EAC1B,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,IAAI,EACP,EAAE;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACnB,2CAcA"}
1
+ {"version":3,"file":"DateRangeHint.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangeHint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAC;AAU5D,wBAAgB,aAAa,CAAC,EAC1B,UAAU,EACV,aAAa,EACb,gBAAwB,EACxB,UAAU,EACV,UAAU,EACV,IAAI,EACP,EAAE;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACnB,2CAiBA"}
@@ -1,6 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025-2026 GoodData Corporation
3
+ import { defineMessages } from "react-intl";
2
4
  import { getLocalizedDateFormat } from "../utils/FormattingUtils.js";
3
- export function DateRangeHint({ dateFormat, isTimeEnabled, dateHintId, timeHintId, intl, }) {
5
+ const messages = defineMessages({
6
+ dateFormatHint: { id: "filters.staticPeriod.dateFormatHint" },
7
+ timeFormatHint: { id: "filters.staticPeriod.timeFormatHint" },
8
+ timeFormatHintWithSeconds: { id: "filters.staticPeriod.timeFormatHintWithSeconds" },
9
+ });
10
+ export function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled = false, dateHintId, timeHintId, intl, }) {
4
11
  return (_jsxs("div", { className: "gd-date-range__hint", children: [
5
- _jsx("div", { id: dateHintId, children: intl.formatMessage({ id: "filters.staticPeriod.dateFormatHint" }, { format: dateFormat || getLocalizedDateFormat(intl.locale) }) }), isTimeEnabled ? (_jsx("div", { id: timeHintId, children: intl.formatMessage({ id: "filters.staticPeriod.timeFormatHint" }) })) : null] }));
12
+ _jsx("div", { id: dateHintId, children: intl.formatMessage(messages.dateFormatHint, {
13
+ format: dateFormat || getLocalizedDateFormat(intl.locale),
14
+ }) }), isTimeEnabled ? (_jsx("div", { id: timeHintId, children: intl.formatMessage(isSecondsEnabled ? messages.timeFormatHintWithSeconds : messages.timeFormatHint) })) : null] }));
6
15
  }
@@ -8,10 +8,11 @@ export interface IDateRangePickerProps {
8
8
  dayPickerProps?: DayPickerProps;
9
9
  isMobile: boolean;
10
10
  isTimeEnabled: boolean;
11
+ isSecondsEnabled?: boolean;
11
12
  weekStart?: WeekStart;
12
13
  shouldOverlayDatePicker?: boolean;
13
14
  withoutApply?: boolean;
14
15
  submitForm: () => void;
15
16
  }
16
- export declare function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, weekStart, shouldOverlayDatePicker, withoutApply, submitForm }: IDateRangePickerProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, submitForm }: IDateRangePickerProps): import("react/jsx-runtime").JSX.Element;
17
18
  //# sourceMappingURL=DateRangePicker.d.ts.map