@gooddata/sdk-ui-filters 11.52.0-alpha.5 → 11.52.0-alpha.7

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 (25) hide show
  1. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItem.d.ts.map +1 -1
  2. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItem.js +1 -1
  3. package/esm/AttributeFilter/Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js +1 -1
  4. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts +3 -1
  5. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts.map +1 -1
  6. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js +2 -2
  7. package/esm/DateFilter/DateFilter.d.ts +13 -1
  8. package/esm/DateFilter/DateFilter.d.ts.map +1 -1
  9. package/esm/DateFilter/DateFilter.js +2 -2
  10. package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts +7 -1
  11. package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts.map +1 -1
  12. package/esm/DateFilter/DateFilterBody/DateFilterBody.js +1 -1
  13. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts +3 -1
  14. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts.map +1 -1
  15. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.js +2 -2
  16. package/esm/DateFilter/DateFilterCore.d.ts +7 -1
  17. package/esm/DateFilter/DateFilterCore.d.ts.map +1 -1
  18. package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts +3 -1
  19. package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts.map +1 -1
  20. package/esm/DateFilter/DateRangePicker/DateRangeHint.js +2 -3
  21. package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts +3 -1
  22. package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  23. package/esm/DateFilter/DateRangePicker/DateRangePicker.js +2 -2
  24. package/esm/sdk-ui-filters.d.ts +12 -0
  25. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterElementsSelectItem.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItem.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,uCAAuC,EAAE,MAAM,YAAY,CAAC;AAI1E;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAAC,EAC9C,IAAI,EACJ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,KAAK,EACR,EAAE,uCAAuC,2CA8GzC"}
1
+ {"version":3,"file":"AttributeFilterElementsSelectItem.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItem.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,uCAAuC,EAAE,MAAM,YAAY,CAAC;AAI1E;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAAC,EAC9C,IAAI,EACJ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,KAAK,EACR,EAAE,uCAAuC,2CA+GzC"}
@@ -44,7 +44,7 @@ export function AttributeFilterElementsSelectItem({ item, isSelected, focusedAct
44
44
  const itemTitle = getElementTitle(item, intl);
45
45
  const itemPrimaryTitle = getElementPrimaryTitle(item);
46
46
  const makeId = ScopedIdStore.useContextStoreOptional((ctx) => ctx.makeId);
47
- return (_jsxs("div", { className: classes, onClick: onItemClick, role: "row", tabIndex: -1, "aria-rowindex": index, "aria-label": itemTitle, children: [
47
+ return (_jsxs("div", { className: classes, onClick: onItemClick, role: "row", tabIndex: -1, "aria-rowindex": index, "aria-label": itemTitle, title: itemTitle, children: [
48
48
  _jsx("div", { role: "gridcell", className: "gd-attribute-filter-list-item-label", children: _jsxs("label", { className: labelClasses, children: [
49
49
  _jsx("input", { tabIndex: focusedAction === "selectItem" ? 0 : -1, id: makeId?.({ item, specifier: SELECT_ITEM_ACTION }), type: "checkbox", className: "input-checkbox", readOnly: true, checked: isSelected }), _jsx("span", { className: "input-label-text", children: itemTitle })
50
50
  ] }) }), !item.title && (_jsx("div", { className: "gd-empty-list-item-tooltip-wrapper", children: _jsxs(BubbleHoverTrigger, { className: "gd-empty-list-item-tooltip", showDelay: 0, hideDelay: 0, children: [
@@ -29,7 +29,7 @@ export function SingleSelectionAttributeFilterElementsSelectItem({ item, onSelec
29
29
  "gd-attribute-filter-list-item--isFocused": !!focusedAction,
30
30
  "gd-attribute-filter-single-selection-list-item--isFocusedSelectItem": focusedAction === "selectItem",
31
31
  });
32
- return (_jsxs("div", { className: classes, onClick: onItemClick, children: [
32
+ return (_jsxs("div", { className: classes, onClick: onItemClick, title: itemTitle, children: [
33
33
  _jsxs("div", { className: "gd-attribute-filter-list-item-label ", children: [
34
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" }) })
35
35
  ] }));
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from "react";
1
2
  import { type WeekStart } from "@gooddata/sdk-model";
2
3
  import { type DateFilterOption, type IUiAbsoluteDateFilterForm } from "../interfaces/index.js";
3
4
  /**
@@ -14,9 +15,10 @@ export interface IAbsoluteDateFilterFormProps {
14
15
  shouldOverlayDatePicker?: boolean;
15
16
  withoutApply?: boolean;
16
17
  submitForm: () => void;
18
+ customRangeHint?: ReactNode;
17
19
  }
18
20
  /**
19
21
  * @internal
20
22
  */
21
- export declare function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm }: IAbsoluteDateFilterFormProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, customRangeHint }: IAbsoluteDateFilterFormProps): import("react/jsx-runtime").JSX.Element;
22
24
  //# 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,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"}
1
+ {"version":3,"file":"AbsoluteDateFilterForm.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,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;IACvB,eAAe,CAAC,EAAE,SAAS,CAAC;CAC/B;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,EACV,eAAe,EAClB,EAAE,4BAA4B,2CA6B9B"}
@@ -8,9 +8,9 @@ const dayPickerProps = {
8
8
  /**
9
9
  * @internal
10
10
  */
11
- export function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled = false, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, }) {
11
+ export function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled = false, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, customRangeHint, }) {
12
12
  const handleRangeChange = (range) => {
13
13
  onSelectedFilterOptionChange(dateRangeToDateFilterValue(range, selectedFilterOption.localIdentifier, isTimeEnabled, selectedFilterOption.emptyValueHandling, isSecondsEnabled));
14
14
  };
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 }));
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, customRangeHint: customRangeHint }));
16
16
  }
@@ -1,4 +1,4 @@
1
- import { type ComponentType, PureComponent } from "react";
1
+ import { type ComponentType, PureComponent, type ReactNode } from "react";
2
2
  import { type DateFilterGranularity, type IActiveCalendars, type WeekStart } from "@gooddata/sdk-model";
3
3
  import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
4
4
  import { type IFilterButtonCustomIcon, type VisibilityMode } from "../shared/interfaces/index.js";
@@ -120,6 +120,18 @@ export interface IDateFilterOwnProps extends IDateFilterStatePropsIntersection {
120
120
  * @alpha
121
121
  */
122
122
  activeCalendars?: IActiveCalendars;
123
+ /**
124
+ * Custom content rendered at the end of the hint area of the static period (absolute range) form,
125
+ * after the default date/time format hints.
126
+ *
127
+ * @remarks
128
+ * Use this to surface an application-specific note about the selected range (e.g. that the whole
129
+ * period is always applied). The content is appended after the built-in hints, so their
130
+ * accessibility wiring (`aria-describedby` of the range inputs) is preserved.
131
+ *
132
+ * @alpha
133
+ */
134
+ customRangeHint?: ReactNode;
123
135
  }
124
136
  /**
125
137
  * Callback props of the {@link DateFilter} component.
@@ -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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"}
@@ -101,9 +101,9 @@ export class DateFilter extends PureComponent {
101
101
  DateFilter.checkInitialFilterOption(this.props.selectedFilterOption);
102
102
  }
103
103
  render() {
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
+ const { customFilterName, dateFilterMode, dateFormat, filterOptions, selectedFilterOption: originalSelectedFilterOption, excludeCurrentPeriod: originalExcludeCurrentPeriod, availableGranularities, isEditMode, openOnInit, locale, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, showDropDownHeaderMessage, FilterConfigurationComponent, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, enableEmptyDateValues, customRangeHint, } = this.props;
105
105
  const { excludeCurrentPeriod, selectedFilterOption, isExcludeCurrentPeriodEnabled } = this.state;
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
+ 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, customRangeHint: customRangeHint }));
107
107
  }
108
108
  handleApplyClick = () => {
109
109
  const normalizedSelectedFilterOption = this.normalizeEmptyValueHandling(normalizeSelectedFilterOption(this.state.selectedFilterOption));
@@ -1,4 +1,4 @@
1
- import { type ReactElement } from "react";
1
+ import { type ReactElement, type ReactNode } from "react";
2
2
  import { type DateFilterGranularity, type IActiveCalendars, type WeekStart } from "@gooddata/sdk-model";
3
3
  import { type DateFilterOption, type IDateFilterOptionsByType, type IExtendedDateFilterErrors } from "../interfaces/index.js";
4
4
  export interface IDateFilterBodyProps {
@@ -38,6 +38,12 @@ export interface IDateFilterBodyProps {
38
38
  * @alpha
39
39
  */
40
40
  enableEmptyDateValues?: boolean;
41
+ /**
42
+ * Custom content rendered at the end of the static period form hint area.
43
+ *
44
+ * @alpha
45
+ */
46
+ customRangeHint?: ReactNode;
41
47
  }
42
48
  export declare const DateFilterBody: import("react").ForwardRefExoticComponent<IDateFilterBodyProps & import("react").RefAttributes<HTMLDivElement>>;
43
49
  //# sourceMappingURL=DateFilterBody.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"DateFilterBody.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBody.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EACjB,KAAK,SAAS,EAKjB,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;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc,iHA6ZzB,CAAC"}
@@ -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, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, 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, customRangeHint: props.customRangeHint, activeForm: route, onBackNavigation: handleBackNavigation, onClose: closeDropdown, submitForm: () => {
167
167
  onApplyClick();
168
168
  if (!withoutApply) {
169
169
  closeDropdown();
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from "react";
1
2
  import { type DateFilterGranularity, type WeekStart } from "@gooddata/sdk-model";
2
3
  import { type DateFilterOption, type IDateFilterOptionsByType, type IExtendedDateFilterErrors } from "../interfaces/index.js";
3
4
  import { type DateFilterRoute } from "./types.js";
@@ -13,6 +14,7 @@ export interface IDateFilterFormContentProps {
13
14
  isMobile: boolean;
14
15
  withoutApply?: boolean;
15
16
  enableEmptyDateValues?: boolean;
17
+ customRangeHint?: ReactNode;
16
18
  activeForm: DateFilterRoute;
17
19
  onBackNavigation: () => void;
18
20
  onClose: () => void;
@@ -25,5 +27,5 @@ export interface IDateFilterFormContentProps {
25
27
  *
26
28
  * @internal
27
29
  */
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;
30
+ export declare function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, customRangeHint, activeForm, onBackNavigation, onClose, submitForm, errors }: IDateFilterFormContentProps): import("react/jsx-runtime").JSX.Element;
29
31
  //# 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,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"}
1
+ {"version":3,"file":"DateFilterFormContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterFormContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAKhF,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;IAChC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,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,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,MAAM,EACT,EAAE,2BAA2B,2CA2I7B"}
@@ -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, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors, }) {
20
+ export function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, customRangeHint, 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, 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) => {
50
+ _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: absoluteSelectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply, customRangeHint: customRangeHint }), 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,
@@ -1,4 +1,4 @@
1
- import { type ComponentType } from "react";
1
+ import { type ComponentType, type ReactNode } from "react";
2
2
  import { type DateFilterGranularity, type IActiveCalendars, type WeekStart } from "@gooddata/sdk-model";
3
3
  import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
4
4
  import { type IFilterButtonCustomIcon } from "../shared/interfaces/index.js";
@@ -61,6 +61,12 @@ export interface IDateFilterCoreProps {
61
61
  * @alpha
62
62
  */
63
63
  enableEmptyDateValues?: boolean;
64
+ /**
65
+ * Custom content rendered at the end of the static period form hint area.
66
+ *
67
+ * @alpha
68
+ */
69
+ customRangeHint?: ReactNode;
64
70
  }
65
71
  export declare const verifyDateFormat: (dateFormat: string) => string;
66
72
  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;
@@ -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;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"}
1
+ {"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
+ import { type ReactNode } from "react";
1
2
  import { type IntlShape } from "react-intl";
2
- export declare function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled, dateHintId, timeHintId, intl }: {
3
+ export declare function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled, dateHintId, timeHintId, customRangeHint, intl }: {
3
4
  dateFormat: string;
4
5
  isTimeEnabled: boolean;
5
6
  isSecondsEnabled?: boolean;
6
7
  dateHintId: string;
7
8
  timeHintId: string;
9
+ customRangeHint?: ReactNode;
8
10
  intl: IntlShape;
9
11
  }): import("react/jsx-runtime").JSX.Element;
10
12
  //# sourceMappingURL=DateRangeHint.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"DateRangeHint.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangeHint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAC;AAU5D,wBAAgB,aAAa,CAAC,EAC1B,UAAU,EACV,aAAa,EACb,gBAAwB,EACxB,UAAU,EACV,UAAU,EACV,eAAe,EACf,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,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB,2CAkBA"}
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2025-2026 GoodData Corporation
3
2
  import { defineMessages } from "react-intl";
4
3
  import { getLocalizedDateFormat } from "../utils/FormattingUtils.js";
5
4
  const messages = defineMessages({
@@ -7,9 +6,9 @@ const messages = defineMessages({
7
6
  timeFormatHint: { id: "filters.staticPeriod.timeFormatHint" },
8
7
  timeFormatHintWithSeconds: { id: "filters.staticPeriod.timeFormatHintWithSeconds" },
9
8
  });
10
- export function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled = false, dateHintId, timeHintId, intl, }) {
9
+ export function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled = false, dateHintId, timeHintId, customRangeHint, intl, }) {
11
10
  return (_jsxs("div", { className: "gd-date-range__hint", children: [
12
11
  _jsx("div", { id: dateHintId, children: intl.formatMessage(messages.dateFormatHint, {
13
12
  format: dateFormat || getLocalizedDateFormat(intl.locale),
14
- }) }), isTimeEnabled ? (_jsx("div", { id: timeHintId, children: intl.formatMessage(isSecondsEnabled ? messages.timeFormatHintWithSeconds : messages.timeFormatHint) })) : null] }));
13
+ }) }), isTimeEnabled ? (_jsx("div", { id: timeHintId, children: intl.formatMessage(isSecondsEnabled ? messages.timeFormatHintWithSeconds : messages.timeFormatHint) })) : null, customRangeHint] }));
15
14
  }
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from "react";
1
2
  import { type DayPickerProps } from "react-day-picker";
2
3
  import { type WeekStart } from "@gooddata/sdk-model";
3
4
  import { type IDateRange } from "./types.js";
@@ -13,6 +14,7 @@ export interface IDateRangePickerProps {
13
14
  shouldOverlayDatePicker?: boolean;
14
15
  withoutApply?: boolean;
15
16
  submitForm: () => void;
17
+ customRangeHint?: ReactNode;
16
18
  }
17
- export declare function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, submitForm }: IDateRangePickerProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, submitForm, customRangeHint }: IDateRangePickerProps): import("react/jsx-runtime").JSX.Element;
18
20
  //# sourceMappingURL=DateRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,cAAc,EAAgC,MAAM,kBAAkB,CAAC;AAGrG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQrD,OAAO,EAEH,KAAK,UAAU,EAIlB,MAAM,YAAY,CAAC;AAoPpB,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,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;AAED,wBAAgB,eAAe,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACb,gBAAwB,EACxB,SAAoB,EACpB,uBAA+B,EAC/B,YAAoB,EACpB,UAAU,EACb,EAAE,qBAAqB,2CAwHvB"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAErG,OAAO,EAAkB,KAAK,cAAc,EAAgC,MAAM,kBAAkB,CAAC;AAGrG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQrD,OAAO,EAEH,KAAK,UAAU,EAIlB,MAAM,YAAY,CAAC;AAoPpB,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,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;IACvB,eAAe,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACb,gBAAwB,EACxB,SAAoB,EACpB,uBAA+B,EAC/B,YAAoB,EACpB,UAAU,EACV,eAAe,EAClB,EAAE,qBAAqB,2CAyHvB"}
@@ -146,7 +146,7 @@ const useRangeState = (range, onRangeChange, closeCalendarPopup, selectedInput,
146
146
  onEndTimeChange,
147
147
  };
148
148
  };
149
- export function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, isSecondsEnabled = false, weekStart = "Sunday", shouldOverlayDatePicker = false, withoutApply = false, submitForm, }) {
149
+ export function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, isSecondsEnabled = false, weekStart = "Sunday", shouldOverlayDatePicker = false, withoutApply = false, submitForm, customRangeHint, }) {
150
150
  const intl = useIntl();
151
151
  const { selectedInput, isCalendarPopupOpen, onDateInputKeyDown, onStartDateClick, onEndDateClick, calendarPopupRef, startDateInputRef, endDateInputRef, closeCalendarPopup, } = useCalendarPopup();
152
152
  const { startDate, startTime, endDate, endTime, startDateTimeErrors, endDateTimeErrors, onCalendarDateSelect, onStartDateChange, onStartTimeChange, onEndDateChange, onEndTimeChange, } = useRangeState(range, onRangeChange, closeCalendarPopup, selectedInput, submitForm);
@@ -154,7 +154,7 @@ export function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerPro
154
154
  const EndDateField = (_jsx(EndDateInputField, { ref: endDateInputRef, date: endDate, time: endTime, onDateChange: onEndDateChange, onTimeChange: onEndTimeChange, onInputClick: onEndDateClick, onDateInputKeyDown: onDateInputKeyDown, dateFormat: dateFormat, isMobile: isMobile, isTimeEnabled: isTimeEnabled, isSecondsEnabled: isSecondsEnabled, errors: endDateTimeErrors, intl: intl }));
155
155
  const datePickerRange = { from: startDate, to: endDate };
156
156
  const DatePicker = (_jsx(DayPicker, { ref: calendarPopupRef, mode: selectedInput, originalDateRange: datePickerRange, selectedDateRange: datePickerRange, onDateRangeSelect: onCalendarDateSelect, alignTo: `.gd-date-range-picker-${isTimeEnabled ? selectedInput : "from"}`, calendarClassNames: `gd-date-range-picker-picker s-date-range-calendar-${selectedInput}`, dayPickerProps: dayPickerProps, weekStart: weekStart, renderAsOverlay: shouldOverlayDatePicker, intl: intl }));
157
- const HintPanel = isMobile ? null : (_jsx(DateRangeHint, { dateFormat: dateFormat, isTimeEnabled: isTimeEnabled, isSecondsEnabled: isSecondsEnabled, dateHintId: DATE_INPUT_HINT_ID, timeHintId: TIME_INPUT_HINT_ID, intl: intl }));
157
+ const HintPanel = isMobile ? null : (_jsx(DateRangeHint, { dateFormat: dateFormat, isTimeEnabled: isTimeEnabled, isSecondsEnabled: isSecondsEnabled, dateHintId: DATE_INPUT_HINT_ID, timeHintId: TIME_INPUT_HINT_ID, customRangeHint: customRangeHint, intl: intl }));
158
158
  if (isTimeEnabled) {
159
159
  const isFromInputDatePickerOpen = selectedInput === "from" && isCalendarPopupOpen;
160
160
  const isToInputDatePickerOpen = selectedInput === "to" && isCalendarPopupOpen;
@@ -3351,6 +3351,18 @@ export declare interface IDateFilterOwnProps extends IDateFilterStatePropsInters
3351
3351
  * @alpha
3352
3352
  */
3353
3353
  activeCalendars?: IActiveCalendars;
3354
+ /**
3355
+ * Custom content rendered at the end of the hint area of the static period (absolute range) form,
3356
+ * after the default date/time format hints.
3357
+ *
3358
+ * @remarks
3359
+ * Use this to surface an application-specific note about the selected range (e.g. that the whole
3360
+ * period is always applied). The content is appended after the built-in hints, so their
3361
+ * accessibility wiring (`aria-describedby` of the range inputs) is preserved.
3362
+ *
3363
+ * @alpha
3364
+ */
3365
+ customRangeHint?: ReactNode;
3354
3366
  }
3355
3367
 
3356
3368
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-filters",
3
- "version": "11.52.0-alpha.5",
3
+ "version": "11.52.0-alpha.7",
4
4
  "description": "GoodData.UI SDK - Filter Components",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -46,11 +46,11 @@
46
46
  "ts-invariant": "0.10.3",
47
47
  "tslib": "2.8.1",
48
48
  "uuid": "11.1.1",
49
- "@gooddata/sdk-backend-spi": "11.52.0-alpha.5",
50
- "@gooddata/sdk-model": "11.52.0-alpha.5",
51
- "@gooddata/sdk-ui": "11.52.0-alpha.5",
52
- "@gooddata/sdk-ui-kit": "11.52.0-alpha.5",
53
- "@gooddata/util": "11.52.0-alpha.5"
49
+ "@gooddata/sdk-ui": "11.52.0-alpha.7",
50
+ "@gooddata/sdk-backend-spi": "11.52.0-alpha.7",
51
+ "@gooddata/sdk-ui-kit": "11.52.0-alpha.7",
52
+ "@gooddata/util": "11.52.0-alpha.7",
53
+ "@gooddata/sdk-model": "11.52.0-alpha.7"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@microsoft/api-documenter": "^7.17.0",
@@ -92,12 +92,12 @@
92
92
  "typescript": "5.9.3",
93
93
  "vitest": "4.1.8",
94
94
  "vitest-dom": "0.1.1",
95
- "@gooddata/eslint-config": "11.52.0-alpha.5",
96
- "@gooddata/oxlint-config": "11.52.0-alpha.5",
97
- "@gooddata/reference-workspace": "11.52.0-alpha.5",
98
- "@gooddata/sdk-backend-mockingbird": "11.52.0-alpha.5",
99
- "@gooddata/sdk-ui-theme-provider": "11.52.0-alpha.5",
100
- "@gooddata/stylelint-config": "11.52.0-alpha.5"
95
+ "@gooddata/eslint-config": "11.52.0-alpha.7",
96
+ "@gooddata/oxlint-config": "11.52.0-alpha.7",
97
+ "@gooddata/reference-workspace": "11.52.0-alpha.7",
98
+ "@gooddata/sdk-backend-mockingbird": "11.52.0-alpha.7",
99
+ "@gooddata/sdk-ui-theme-provider": "11.52.0-alpha.7",
100
+ "@gooddata/stylelint-config": "11.52.0-alpha.7"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "react": "^18.0.0 || ^19.0.0",