@kaizen/components 1.68.2 → 1.68.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Filter/FilterBar/context/FilterBarContext.cjs +13 -3
- package/dist/cjs/Filter/FilterBar/context/reducer/filterBarStateReducer.cjs +1 -1
- package/dist/cjs/Filter/FilterBar/context/reducer/setupFilterBarState.cjs +4 -0
- package/dist/cjs/Filter/FilterBar/context/utils/updateDependentFilters.cjs +1 -1
- package/dist/cjs/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.cjs +7 -2
- package/dist/cjs/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss.cjs +2 -1
- package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.cjs +3 -0
- package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.cjs +16 -3
- package/dist/esm/Filter/FilterBar/context/FilterBarContext.mjs +13 -3
- package/dist/esm/Filter/FilterBar/context/reducer/filterBarStateReducer.mjs +1 -1
- package/dist/esm/Filter/FilterBar/context/reducer/setupFilterBarState.mjs +4 -0
- package/dist/esm/Filter/FilterBar/context/utils/updateDependentFilters.mjs +1 -1
- package/dist/esm/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.mjs +6 -2
- package/dist/esm/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss.mjs +2 -1
- package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.mjs +3 -0
- package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.mjs +16 -3
- package/dist/styles.css +81 -77
- package/dist/types/Filter/FilterBar/context/FilterBarContext.d.ts +1 -0
- package/dist/types/Filter/FilterBar/context/types.d.ts +1 -0
- package/dist/types/Tile/subcomponents/GenericTile/GenericTile.d.ts +3 -1
- package/locales/en.json +8 -0
- package/package.json +1 -1
- package/src/Avatar/_docs/Avatar.stickersheet.stories.tsx +30 -32
- package/src/AvatarGroup/_docs/AvatarGroup.stickersheet.stories.tsx +14 -16
- package/src/Badge/_docs/Badge.stickersheet.stories.tsx +22 -22
- package/src/Brand/_docs/Brand.stickersheet.stories.tsx +24 -26
- package/src/BrandMoment/_docs/BrandMoment.stickersheet.stories.tsx +35 -39
- package/src/ButtonGroup/_docs/ButtonGroup.stickersheet.stories.tsx +117 -122
- package/src/Calendar/CalendarPopover/_docs/CalendarPopover.stickersheet.stories.tsx +4 -4
- package/src/Calendar/CalendarRange/_docs/CalendarRange.stickersheet.stories.tsx +22 -30
- package/src/Calendar/CalendarSingle/_docs/CalendarSingle.stickersheet.stories.tsx +58 -58
- package/src/Card/_docs/Card.stickersheet.stories.tsx +12 -16
- package/src/Checkbox/Checkbox/_docs/Checkbox.stickersheet.stories.tsx +24 -27
- package/src/Checkbox/CheckboxField/_docs/CheckboxField.stickersheet.stories.tsx +31 -34
- package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.stickersheet.stories.tsx +25 -29
- package/src/ClearButton/_docs/ClearButton.stickersheet.stories.tsx +9 -9
- package/src/Collapsible/Collapsible/_docs/Collapsible.stickersheet.stories.tsx +56 -62
- package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.stickersheet.stories.tsx +19 -21
- package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.stickersheets.stories.tsx +6 -8
- package/src/DatePicker/_docs/DatePicker.stickersheet.stories.tsx +129 -144
- package/src/DatePicker/_docs/getLocale.stickersheet.stories.tsx +9 -11
- package/src/DateRangePicker/_docs/DateRangePicker.stickersheet.stories.tsx +26 -28
- package/src/Divider/_docs/Divider.stickersheet.stories.tsx +13 -10
- package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +7 -2
- package/src/ErrorPage/_docs/ErrorPage.stickersheet.stories.tsx +16 -20
- package/src/FieldGroup/_docs/FieldGroup.stickersheet.stories.tsx +5 -8
- package/src/FieldMessage/_docs/FieldMessage.stickersheet.stories.tsx +10 -20
- package/src/Filter/Filter/_docs/Filter.stickersheet.stories.tsx +13 -15
- package/src/Filter/FilterBar/FilterBar.spec.tsx +0 -64
- package/src/Filter/FilterBar/_docs/FilterBar.spec.stories.tsx +249 -0
- package/src/Filter/FilterBar/_docs/FilterBar.stickersheet.stories.tsx +34 -48
- package/src/Filter/FilterBar/_docs/FilterBar.stories.tsx +1 -1
- package/src/Filter/FilterBar/context/FilterBarContext.tsx +17 -5
- package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.spec.ts +3 -0
- package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.ts +1 -1
- package/src/Filter/FilterBar/context/reducer/setupFilterBarState.spec.tsx +40 -0
- package/src/Filter/FilterBar/context/reducer/setupFilterBarState.ts +5 -0
- package/src/Filter/FilterBar/context/reducer/updateSingleFilter.spec.ts +2 -0
- package/src/Filter/FilterBar/context/reducer/updateValues.spec.ts +5 -0
- package/src/Filter/FilterBar/context/types.ts +1 -0
- package/src/Filter/FilterBar/context/utils/checkShouldUpdateValues.spec.ts +1 -0
- package/src/Filter/FilterBar/context/utils/getInactiveFilters.spec.ts +2 -0
- package/src/Filter/FilterBar/context/utils/getIsUsableWhenArgs.spec.ts +1 -0
- package/src/Filter/FilterBar/context/utils/updateDependentFilters.spec.ts +8 -0
- package/src/Filter/FilterBar/context/utils/updateDependentFilters.ts +1 -1
- package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss +4 -0
- package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.tsx +5 -2
- package/src/Filter/FilterButton/_docs/filter-buttons.stickersheet.stories.tsx +45 -51
- package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.stickersheet.stories.tsx +74 -93
- package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stickersheet.stories.tsx +110 -128
- package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.tsx +4 -0
- package/src/Filter/FilterSelect/_docs/FilterSelect.stickersheet.stories.tsx +239 -249
- package/src/GuidanceBlock/_docs/GuidanceBlock.stickersheet.stories.tsx +38 -40
- package/src/Heading/_docs/Heading.stickersheet.stories.tsx +101 -111
- package/src/Icon/_docs/Icon.stickersheet.stories.tsx +13 -19
- package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.stickersheet.stories.tsx +8 -8
- package/src/Illustration/Scene/_docs/Scene.stickersheet.stories.tsx +139 -185
- package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.stickersheet.stories.tsx +39 -41
- package/src/Input/Input/_docs/Input.stickersheet.stories.tsx +30 -33
- package/src/Input/InputRange/_docs/InputRange.stickersheet.stories.tsx +21 -20
- package/src/Input/InputSearch/_docs/InputSearch.stickersheet.stories.tsx +137 -144
- package/src/Label/_docs/Label.stickersheet.stories.tsx +78 -85
- package/src/LabelledMessage/_docs/LabelledMessage.stickersheet.stories.tsx +3 -5
- package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stickersheet.stories.tsx +82 -82
- package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stickersheet.stories.tsx +18 -20
- package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stories.tsx +46 -52
- package/src/Loading/LoadingHeading/_docs/LoadingHeading.stickersheet.stories.tsx +14 -18
- package/src/Loading/LoadingHeading/_docs/LoadingHeading.stories.tsx +7 -13
- package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.stickersheet.stories.tsx +14 -16
- package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stickersheet.stories.tsx +13 -15
- package/src/MultiSelect/_docs/MultiSelect.stickersheet.stories.tsx +69 -74
- package/src/MultiSelect/subcomponents/Checkbox/_docs/Checkbox.stickersheet.stories.tsx +22 -28
- package/src/MultiSelect/subcomponents/MultiSelectOptionField/_docs/MultiSelectOptionField.stickersheet.stories.tsx +62 -67
- package/src/MultiSelect/subcomponents/MultiSelectOptions/_docs/MultiSelectOptions.stickersheet.stories.tsx +21 -28
- package/src/MultiSelect/subcomponents/MultiSelectToggle/_docs/MultiSelectToggle.stickersheet.stories.tsx +69 -93
- package/src/Notification/GlobalNotification/_docs/GlobalNotification.stickersheet.stories.tsx +13 -16
- package/src/Notification/InlineNotification/_docs/InlineNotification.stickersheet.stories.tsx +13 -16
- package/src/Pagination/_docs/Pagination.stickersheet.stories.tsx +60 -74
- package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.stickersheet.stories.tsx +21 -23
- package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.stickersheet.stories.tsx +24 -28
- package/src/Popover/_docs/Popover.stickersheet.stories.tsx +33 -45
- package/src/ProgressBar/_docs/ProgressBar.stickersheet.stories.tsx +15 -26
- package/src/Radio/Radio/_docs/Radio.stickersheet.stories.tsx +46 -54
- package/src/Radio/RadioField/_docs/RadioField.stickersheet.stories.tsx +51 -54
- package/src/Radio/RadioGroup/_docs/RadioGroup.stickersheet.stories.tsx +80 -86
- package/src/RichTextEditor/EditableRichTextContent/_docs/EditableRichTextContent.stickersheet.stories.tsx +42 -58
- package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stickersheet.stories.tsx +34 -57
- package/src/SearchField/_docs/SearchField.stickersheet.stories.tsx +32 -31
- package/src/Select/_docs/Select.stickersheet.stories.tsx +128 -127
- package/src/Slider/_docs/Slider.stickersheet.stories.tsx +85 -96
- package/src/SplitButton/_docs/SplitButton.stickersheet.stories.tsx +62 -68
- package/src/Tag/_docs/Tag.stickersheet.stories.tsx +49 -57
- package/src/Text/_docs/Text.stickersheet.stories.tsx +43 -47
- package/src/TextArea/_docs/TextArea.stickersheet.stories.tsx +28 -31
- package/src/TextAreaField/_docs/TextAreaField.stickersheet.stories.tsx +71 -89
- package/src/TextField/_docs/TextField.stickersheet.stories.tsx +47 -50
- package/src/Tile/InformationTile/_docs/InformationTile.mdx +4 -0
- package/src/Tile/InformationTile/_docs/InformationTile.stickersheet.stories.tsx +15 -21
- package/src/Tile/InformationTile/_docs/InformationTile.stories.tsx +7 -0
- package/src/Tile/MultiActionTile/_docs/MultiActionTile.stickersheet.stories.tsx +15 -21
- package/src/Tile/TileGrid/_docs/TileGrid.stickersheet.stories.tsx +91 -99
- package/src/Tile/subcomponents/GenericTile/GenericTile.spec.stories.tsx +65 -5
- package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +20 -2
- package/src/Tile/subcomponents/GenericTile/_docs/GenericTile.stickersheet.stories.tsx +15 -21
- package/src/TimeField/_docs/TimeField.stickersheet.stories.tsx +74 -83
- package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +73 -75
- package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.stickersheet.stories.tsx +24 -27
- package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.stickersheet.stories.tsx +47 -50
- package/src/Well/_docs/Well.stickersheet.stories.tsx +31 -41
- package/src/__actions__/Button/v1/Button/_docs/Button.stickersheet.stories.tsx +107 -146
- package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stickersheet.stories.tsx +26 -29
- package/src/__actions__/Button/v3/_docs/Button.stickersheet.stories.tsx +141 -159
- package/src/__actions__/Menu/v1/_docs/Menu.stickersheet.stories.tsx +33 -36
- package/src/__future__/Icon/_docs/Icon.docs.stories.tsx +17 -23
- package/src/__future__/Icon/_docs/Icon.stickersheet.stories.tsx +63 -72
- package/src/__future__/Select/_docs/Select.stickersheet.stories.tsx +287 -309
- package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.stickersheet.stories.tsx +42 -46
- package/src/__future__/Tag/Tag/_docs/Tag.stickersheet.stories.tsx +14 -17
- package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stickersheet.stories.tsx +101 -103
- package/src/__overlays__/Tooltip/v3/_docs/Tooltip.stickersheet.stories.tsx +3 -4
|
@@ -35,6 +35,18 @@ var FilterBarProvider = function (_a) {
|
|
|
35
35
|
var _b = React.useReducer(filterBarStateReducer.filterBarStateReducer, setupFilterBarState.setupFilterBarState(filters, values)),
|
|
36
36
|
state = _b[0],
|
|
37
37
|
dispatch = _b[1];
|
|
38
|
+
var activeFilters = Array.from(state.activeFilterIds, function (id) {
|
|
39
|
+
return mappedFilters[id];
|
|
40
|
+
});
|
|
41
|
+
// Workaround for DateRangePicker populating the values object before the value is valid
|
|
42
|
+
// (it purposefully persists a state with a 'from' date but no 'to' date, but hides it on the filter button)
|
|
43
|
+
var isDraftDateRange = function (v) {
|
|
44
|
+
return v && v.from !== undefined && v.to === undefined;
|
|
45
|
+
};
|
|
46
|
+
var hasDraftDateRangeOnly = Object.values(values).every(isDraftDateRange);
|
|
47
|
+
var isClearable = Object.keys(values).length > 0 && !hasDraftDateRangeOnly || state.hasRemovableFilter && activeFilters.some(function (f) {
|
|
48
|
+
return f.isRemovable;
|
|
49
|
+
});
|
|
38
50
|
var value = {
|
|
39
51
|
getFilterState: function (id) {
|
|
40
52
|
return tslib.__assign(tslib.__assign({}, state.filters[id]), {
|
|
@@ -42,6 +54,7 @@ var FilterBarProvider = function (_a) {
|
|
|
42
54
|
value: values[id]
|
|
43
55
|
});
|
|
44
56
|
},
|
|
57
|
+
isClearable: isClearable,
|
|
45
58
|
getActiveFilterValues: function () {
|
|
46
59
|
return values;
|
|
47
60
|
},
|
|
@@ -147,9 +160,6 @@ var FilterBarProvider = function (_a) {
|
|
|
147
160
|
});
|
|
148
161
|
}
|
|
149
162
|
}, [filters]);
|
|
150
|
-
var activeFilters = Array.from(state.activeFilterIds, function (id) {
|
|
151
|
-
return mappedFilters[id];
|
|
152
|
-
});
|
|
153
163
|
return React__default.default.createElement(FilterBarContext.Provider
|
|
154
164
|
// @note: Context object cannot be generic, thus the type-casting to a looser type
|
|
155
165
|
, {
|
|
@@ -25,7 +25,7 @@ var filterBarStateReducer = function (state, action) {
|
|
|
25
25
|
return tslib.__assign({}, updateDependentFilters.updateDependentFilters(state));
|
|
26
26
|
case "deactivate_filter":
|
|
27
27
|
state.activeFilterIds.delete(action.id);
|
|
28
|
-
state.values[action.id]
|
|
28
|
+
delete state.values[action.id];
|
|
29
29
|
return tslib.__assign(tslib.__assign({}, updateDependentFilters.updateDependentFilters(state)), {
|
|
30
30
|
hasUpdatedValues: true
|
|
31
31
|
});
|
|
@@ -22,6 +22,9 @@ var setupFilterBarState = function (filters, values) {
|
|
|
22
22
|
if (!isRemovable || values[id] !== undefined) {
|
|
23
23
|
baseState.activeFilterIds.add(id);
|
|
24
24
|
}
|
|
25
|
+
if (isRemovable) {
|
|
26
|
+
baseState.hasRemovableFilter = true;
|
|
27
|
+
}
|
|
25
28
|
return baseState;
|
|
26
29
|
}, {
|
|
27
30
|
filters: {},
|
|
@@ -29,6 +32,7 @@ var setupFilterBarState = function (filters, values) {
|
|
|
29
32
|
values: values,
|
|
30
33
|
dependentFilterIds: new Set(),
|
|
31
34
|
hasUpdatedValues: false,
|
|
35
|
+
hasRemovableFilter: false,
|
|
32
36
|
focusId: undefined
|
|
33
37
|
});
|
|
34
38
|
return updateDependentFilters.updateDependentFilters(state);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var i18nReactIntl = require('@cultureamp/i18n-react-intl');
|
|
5
|
+
var classnames = require('classnames');
|
|
5
6
|
var FilterBarContext = require('../../context/FilterBarContext.cjs');
|
|
6
7
|
var ClearAllButton_module = require('./ClearAllButton.module.scss.cjs');
|
|
7
8
|
var Button = require('../../../../__actions__/Button/v1/Button/Button.cjs');
|
|
@@ -11,7 +12,9 @@ function _interopDefault(e) {
|
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
15
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
14
16
|
var ClearAllButton = function () {
|
|
17
|
+
var _a;
|
|
15
18
|
var formatMessage = i18nReactIntl.useIntl().formatMessage;
|
|
16
19
|
var clearButtonLabel = formatMessage({
|
|
17
20
|
id: "filterBar.clearAllButton.label",
|
|
@@ -23,11 +26,13 @@ var ClearAllButton = function () {
|
|
|
23
26
|
defaultMessage: "Clear all filters",
|
|
24
27
|
description: "Button aria-label to clear all values within the filter bar"
|
|
25
28
|
});
|
|
26
|
-
var
|
|
29
|
+
var _b = FilterBarContext.useFilterBarContext(),
|
|
30
|
+
clearAllFilters = _b.clearAllFilters,
|
|
31
|
+
isClearable = _b.isClearable;
|
|
27
32
|
return React__default.default.createElement(Button.Button, {
|
|
28
33
|
label: clearButtonLabel,
|
|
29
34
|
"aria-label": clearButtonAriaLabel,
|
|
30
|
-
classNameOverride: ClearAllButton_module.clearAllButton,
|
|
35
|
+
classNameOverride: classnames__default.default(ClearAllButton_module.clearAllButton, (_a = {}, _a[ClearAllButton_module.hidden] = !isClearable, _a)),
|
|
31
36
|
secondary: true,
|
|
32
37
|
onClick: clearAllFilters
|
|
33
38
|
});
|
|
@@ -184,6 +184,9 @@ var FilterDateRangePickerField = function (_a) {
|
|
|
184
184
|
// Translations are loading
|
|
185
185
|
return;
|
|
186
186
|
}
|
|
187
|
+
if (state.inputStartValue === "" && state.inputEndValue === "") {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
187
190
|
var newStartDate = validateStartDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from, state.inputStartValue);
|
|
188
191
|
var newEndDate = validateEndDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to, state.inputEndValue);
|
|
189
192
|
if (newStartDate && !isValidRange.isValidRange(newStartDate, newEndDate)) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
|
+
var i18nReactIntl = require('@cultureamp/i18n-react-intl');
|
|
5
6
|
var classnames = require('classnames');
|
|
6
7
|
var Heading = require('../../../Heading/Heading.cjs');
|
|
7
8
|
var Text = require('../../../Text/Text.cjs');
|
|
@@ -23,15 +24,22 @@ var GenericTile = function (_a) {
|
|
|
23
24
|
titleTag = _b === void 0 ? "h3" : _b,
|
|
24
25
|
metadata = _a.metadata,
|
|
25
26
|
information = _a.information,
|
|
27
|
+
infoButtonLabel = _a.infoButtonLabel,
|
|
26
28
|
mood = _a.mood,
|
|
27
29
|
_c = _a.variant,
|
|
28
30
|
variant = _c === void 0 ? "default" : _c,
|
|
29
31
|
footer = _a.footer,
|
|
30
32
|
classNameOverride = _a.classNameOverride,
|
|
31
|
-
restProps = tslib.__rest(_a, ["children", "title", "titleTag", "metadata", "information", "mood", "variant", "footer", "classNameOverride"]);
|
|
33
|
+
restProps = tslib.__rest(_a, ["children", "title", "titleTag", "metadata", "information", "infoButtonLabel", "mood", "variant", "footer", "classNameOverride"]);
|
|
32
34
|
var _d = React.useState(false),
|
|
33
35
|
isFlipped = _d[0],
|
|
34
36
|
setIsFlipped = _d[1];
|
|
37
|
+
var formatMessage = i18nReactIntl.useIntl().formatMessage;
|
|
38
|
+
var translatedInfoLabel = formatMessage({
|
|
39
|
+
id: "kzGenericTile.infoButtonLabel",
|
|
40
|
+
defaultMessage: "View more information:",
|
|
41
|
+
description: "Prompts user to interact with button to reveal more information"
|
|
42
|
+
});
|
|
35
43
|
var renderTitle = function () {
|
|
36
44
|
return React__default.default.createElement("div", {
|
|
37
45
|
className: GenericTile_module.title
|
|
@@ -51,7 +59,7 @@ var GenericTile = function (_a) {
|
|
|
51
59
|
}, information && React__default.default.createElement("div", {
|
|
52
60
|
className: GenericTile_module.informationBtn
|
|
53
61
|
}, React__default.default.createElement(IconButton.IconButton, {
|
|
54
|
-
label: "
|
|
62
|
+
label: infoButtonLabel || "".concat(translatedInfoLabel, " ").concat(title),
|
|
55
63
|
icon: React__default.default.createElement(Icon.Icon, {
|
|
56
64
|
name: "info",
|
|
57
65
|
isPresentational: true,
|
|
@@ -87,12 +95,17 @@ var GenericTile = function (_a) {
|
|
|
87
95
|
};
|
|
88
96
|
var renderBack = function () {
|
|
89
97
|
if (!information) return;
|
|
98
|
+
var returnButtonLabel = formatMessage({
|
|
99
|
+
id: "kzGenericTile.infoButtonReturnLabel",
|
|
100
|
+
defaultMessage: "Hide information:",
|
|
101
|
+
description: "Prompts user to interact with button to hide information"
|
|
102
|
+
});
|
|
90
103
|
return React__default.default.createElement("div", {
|
|
91
104
|
className: classnames__default.default(GenericTile_module.face, GenericTile_module.faceBack)
|
|
92
105
|
}, React__default.default.createElement("div", {
|
|
93
106
|
className: GenericTile_module.informationBtn
|
|
94
107
|
}, React__default.default.createElement(IconButton.IconButton, {
|
|
95
|
-
label: "
|
|
108
|
+
label: "".concat(returnButtonLabel, " ").concat(title),
|
|
96
109
|
icon: React__default.default.createElement(Icon.Icon, {
|
|
97
110
|
name: "arrow_back",
|
|
98
111
|
isPresentational: true
|
|
@@ -27,6 +27,18 @@ var FilterBarProvider = function (_a) {
|
|
|
27
27
|
var _b = useReducer(filterBarStateReducer, setupFilterBarState(filters, values)),
|
|
28
28
|
state = _b[0],
|
|
29
29
|
dispatch = _b[1];
|
|
30
|
+
var activeFilters = Array.from(state.activeFilterIds, function (id) {
|
|
31
|
+
return mappedFilters[id];
|
|
32
|
+
});
|
|
33
|
+
// Workaround for DateRangePicker populating the values object before the value is valid
|
|
34
|
+
// (it purposefully persists a state with a 'from' date but no 'to' date, but hides it on the filter button)
|
|
35
|
+
var isDraftDateRange = function (v) {
|
|
36
|
+
return v && v.from !== undefined && v.to === undefined;
|
|
37
|
+
};
|
|
38
|
+
var hasDraftDateRangeOnly = Object.values(values).every(isDraftDateRange);
|
|
39
|
+
var isClearable = Object.keys(values).length > 0 && !hasDraftDateRangeOnly || state.hasRemovableFilter && activeFilters.some(function (f) {
|
|
40
|
+
return f.isRemovable;
|
|
41
|
+
});
|
|
30
42
|
var value = {
|
|
31
43
|
getFilterState: function (id) {
|
|
32
44
|
return __assign(__assign({}, state.filters[id]), {
|
|
@@ -34,6 +46,7 @@ var FilterBarProvider = function (_a) {
|
|
|
34
46
|
value: values[id]
|
|
35
47
|
});
|
|
36
48
|
},
|
|
49
|
+
isClearable: isClearable,
|
|
37
50
|
getActiveFilterValues: function () {
|
|
38
51
|
return values;
|
|
39
52
|
},
|
|
@@ -139,9 +152,6 @@ var FilterBarProvider = function (_a) {
|
|
|
139
152
|
});
|
|
140
153
|
}
|
|
141
154
|
}, [filters]);
|
|
142
|
-
var activeFilters = Array.from(state.activeFilterIds, function (id) {
|
|
143
|
-
return mappedFilters[id];
|
|
144
|
-
});
|
|
145
155
|
return /*#__PURE__*/React.createElement(FilterBarContext.Provider
|
|
146
156
|
// @note: Context object cannot be generic, thus the type-casting to a looser type
|
|
147
157
|
, {
|
|
@@ -23,7 +23,7 @@ var filterBarStateReducer = function (state, action) {
|
|
|
23
23
|
return __assign({}, updateDependentFilters(state));
|
|
24
24
|
case "deactivate_filter":
|
|
25
25
|
state.activeFilterIds.delete(action.id);
|
|
26
|
-
state.values[action.id]
|
|
26
|
+
delete state.values[action.id];
|
|
27
27
|
return __assign(__assign({}, updateDependentFilters(state)), {
|
|
28
28
|
hasUpdatedValues: true
|
|
29
29
|
});
|
|
@@ -20,6 +20,9 @@ var setupFilterBarState = function (filters, values) {
|
|
|
20
20
|
if (!isRemovable || values[id] !== undefined) {
|
|
21
21
|
baseState.activeFilterIds.add(id);
|
|
22
22
|
}
|
|
23
|
+
if (isRemovable) {
|
|
24
|
+
baseState.hasRemovableFilter = true;
|
|
25
|
+
}
|
|
23
26
|
return baseState;
|
|
24
27
|
}, {
|
|
25
28
|
filters: {},
|
|
@@ -27,6 +30,7 @@ var setupFilterBarState = function (filters, values) {
|
|
|
27
30
|
values: values,
|
|
28
31
|
dependentFilterIds: new Set(),
|
|
29
32
|
hasUpdatedValues: false,
|
|
33
|
+
hasRemovableFilter: false,
|
|
30
34
|
focusId: undefined
|
|
31
35
|
});
|
|
32
36
|
return updateDependentFilters(state);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useIntl } from '@cultureamp/i18n-react-intl';
|
|
3
|
+
import classnames from 'classnames';
|
|
3
4
|
import { useFilterBarContext } from '../../context/FilterBarContext.mjs';
|
|
4
5
|
import styles from './ClearAllButton.module.scss.mjs';
|
|
5
6
|
import { Button } from '../../../../__actions__/Button/v1/Button/Button.mjs';
|
|
6
7
|
const ClearAllButton = /*#__PURE__*/function () {
|
|
7
8
|
const ClearAllButton = function () {
|
|
9
|
+
var _a;
|
|
8
10
|
var formatMessage = useIntl().formatMessage;
|
|
9
11
|
var clearButtonLabel = formatMessage({
|
|
10
12
|
id: "filterBar.clearAllButton.label",
|
|
@@ -16,11 +18,13 @@ const ClearAllButton = /*#__PURE__*/function () {
|
|
|
16
18
|
defaultMessage: "Clear all filters",
|
|
17
19
|
description: "Button aria-label to clear all values within the filter bar"
|
|
18
20
|
});
|
|
19
|
-
var
|
|
21
|
+
var _b = useFilterBarContext(),
|
|
22
|
+
clearAllFilters = _b.clearAllFilters,
|
|
23
|
+
isClearable = _b.isClearable;
|
|
20
24
|
return /*#__PURE__*/React.createElement(Button, {
|
|
21
25
|
label: clearButtonLabel,
|
|
22
26
|
"aria-label": clearButtonAriaLabel,
|
|
23
|
-
classNameOverride: styles.clearAllButton,
|
|
27
|
+
classNameOverride: classnames(styles.clearAllButton, (_a = {}, _a[styles.hidden] = !isClearable, _a)),
|
|
24
28
|
secondary: true,
|
|
25
29
|
onClick: clearAllFilters
|
|
26
30
|
});
|
|
@@ -176,6 +176,9 @@ const FilterDateRangePickerField = /*#__PURE__*/function () {
|
|
|
176
176
|
// Translations are loading
|
|
177
177
|
return;
|
|
178
178
|
}
|
|
179
|
+
if (state.inputStartValue === "" && state.inputEndValue === "") {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
179
182
|
var newStartDate = validateStartDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from, state.inputStartValue);
|
|
180
183
|
var newEndDate = validateEndDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to, state.inputEndValue);
|
|
181
184
|
if (newStartDate && !isValidRange(newStartDate, newEndDate)) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
|
+
import { useIntl } from '@cultureamp/i18n-react-intl';
|
|
3
4
|
import classnames from 'classnames';
|
|
4
5
|
import { Heading } from '../../../Heading/Heading.mjs';
|
|
5
6
|
import { Text } from '../../../Text/Text.mjs';
|
|
@@ -15,15 +16,22 @@ const GenericTile = /*#__PURE__*/function () {
|
|
|
15
16
|
titleTag = _b === void 0 ? "h3" : _b,
|
|
16
17
|
metadata = _a.metadata,
|
|
17
18
|
information = _a.information,
|
|
19
|
+
infoButtonLabel = _a.infoButtonLabel,
|
|
18
20
|
mood = _a.mood,
|
|
19
21
|
_c = _a.variant,
|
|
20
22
|
variant = _c === void 0 ? "default" : _c,
|
|
21
23
|
footer = _a.footer,
|
|
22
24
|
classNameOverride = _a.classNameOverride,
|
|
23
|
-
restProps = __rest(_a, ["children", "title", "titleTag", "metadata", "information", "mood", "variant", "footer", "classNameOverride"]);
|
|
25
|
+
restProps = __rest(_a, ["children", "title", "titleTag", "metadata", "information", "infoButtonLabel", "mood", "variant", "footer", "classNameOverride"]);
|
|
24
26
|
var _d = useState(false),
|
|
25
27
|
isFlipped = _d[0],
|
|
26
28
|
setIsFlipped = _d[1];
|
|
29
|
+
var formatMessage = useIntl().formatMessage;
|
|
30
|
+
var translatedInfoLabel = formatMessage({
|
|
31
|
+
id: "kzGenericTile.infoButtonLabel",
|
|
32
|
+
defaultMessage: "View more information:",
|
|
33
|
+
description: "Prompts user to interact with button to reveal more information"
|
|
34
|
+
});
|
|
27
35
|
var renderTitle = function () {
|
|
28
36
|
return /*#__PURE__*/React.createElement("div", {
|
|
29
37
|
className: styles.title
|
|
@@ -43,7 +51,7 @@ const GenericTile = /*#__PURE__*/function () {
|
|
|
43
51
|
}, information && ( /*#__PURE__*/React.createElement("div", {
|
|
44
52
|
className: styles.informationBtn
|
|
45
53
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
46
|
-
label: "
|
|
54
|
+
label: infoButtonLabel || "".concat(translatedInfoLabel, " ").concat(title),
|
|
47
55
|
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
48
56
|
name: "info",
|
|
49
57
|
isPresentational: true,
|
|
@@ -79,12 +87,17 @@ const GenericTile = /*#__PURE__*/function () {
|
|
|
79
87
|
};
|
|
80
88
|
var renderBack = function () {
|
|
81
89
|
if (!information) return;
|
|
90
|
+
var returnButtonLabel = formatMessage({
|
|
91
|
+
id: "kzGenericTile.infoButtonReturnLabel",
|
|
92
|
+
defaultMessage: "Hide information:",
|
|
93
|
+
description: "Prompts user to interact with button to hide information"
|
|
94
|
+
});
|
|
82
95
|
return /*#__PURE__*/React.createElement("div", {
|
|
83
96
|
className: classnames(styles.face, styles.faceBack)
|
|
84
97
|
}, /*#__PURE__*/React.createElement("div", {
|
|
85
98
|
className: styles.informationBtn
|
|
86
99
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
87
|
-
label: "
|
|
100
|
+
label: "".concat(returnButtonLabel, " ").concat(title),
|
|
88
101
|
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
89
102
|
name: "arrow_back",
|
|
90
103
|
isPresentational: true
|
package/dist/styles.css
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
1
|
@layer tokens, normalize, reset;@layer tokens{:root{--theme-key:heart;--animation-easing-function-ease-in-out:cubic-bezier(0.455,0.03,0.515,0.955);--animation-easing-function-ease-in:cubic-bezier(0.55,0.085,0.68,0.53);--animation-easing-function-ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--animation-easing-function-linear:linear;--animation-easing-function-bounce-in:cubic-bezier(0.485,0.155,0.24,1.245);--animation-easing-function-bounce-out:cubic-bezier(0.485,0.155,0.515,0.845);--animation-easing-function-bounce-in-out:cubic-bezier(0.76,-0.245,0.24,1.245);--animation-duration-instant:0ms;--animation-duration-immediate:100ms;--animation-duration-rapid:200ms;--animation-duration-fast:300ms;--animation-duration-slow:400ms;--animation-duration-deliberate:700ms;--border-solid-border-width:2px;--border-solid-border-radius:7px;--border-solid-border-style:solid;--border-solid-border-color:#e1e2ea;--border-solid-border-color-rgb:225,226,234;--border-dashed-border-width:2px;--border-dashed-border-radius:7px;--border-dashed-border-style:dashed;--border-borderless-border-width:2px;--border-borderless-border-radius:7px;--border-borderless-border-style:solid;--border-borderless-border-color:transparent;--border-borderless-border-color-rgb:0,0,0;--border-focus-ring-border-width:2px;--border-focus-ring-border-radius:10px;--border-focus-ring-border-style:solid;--border-width-1:1px;--color-purple-100:#f4edf8;--color-purple-100-rgb:244,237,248;--color-purple-200:#dfc9ea;--color-purple-200-rgb:223,201,234;--color-purple-300:#c9a5dd;--color-purple-300-rgb:201,165,221;--color-purple-400:#ae67b1;--color-purple-400-rgb:174,103,177;--color-purple-500:#844587;--color-purple-500-rgb:132,69,135;--color-purple-600:#5f3361;--color-purple-600-rgb:95,51,97;--color-purple-700:#4a234d;--color-purple-700-rgb:74,35,77;--color-purple-800:#2f2438;--color-purple-800-rgb:47,36,56;--color-blue-100:#e6f6ff;--color-blue-100-rgb:230,246,255;--color-blue-200:#bde2f5;--color-blue-200-rgb:189,226,245;--color-blue-300:#73c0e8;--color-blue-300-rgb:115,192,232;--color-blue-400:#008bd6;--color-blue-400-rgb:0,139,214;--color-blue-500:#0168b3;--color-blue-500-rgb:1,104,179;--color-blue-600:#004970;--color-blue-600-rgb:0,73,112;--color-blue-700:#003157;--color-blue-700-rgb:0,49,87;--color-green-100:#e8f8f4;--color-green-100-rgb:232,248,244;--color-green-200:#c4ede2;--color-green-200-rgb:196,237,226;--color-green-300:#8fdbc7;--color-green-300-rgb:143,219,199;--color-green-400:#5dcaad;--color-green-400-rgb:93,202,173;--color-green-500:#3f9a86;--color-green-500-rgb:63,154,134;--color-green-600:#2c7d67;--color-green-600-rgb:44,125,103;--color-green-700:#22594a;--color-green-700-rgb:34,89,74;--color-yellow-100:#fff9e4;--color-yellow-100-rgb:255,249,228;--color-yellow-200:#ffeeb3;--color-yellow-200-rgb:255,238,179;--color-yellow-300:#ffe36e;--color-yellow-300-rgb:255,227,110;--color-yellow-400:#ffca4d;--color-yellow-400-rgb:255,202,77;--color-yellow-500:#ffb600;--color-yellow-500-rgb:255,182,0;--color-yellow-600:#c68600;--color-yellow-600-rgb:198,134,0;--color-yellow-700:#876400;--color-yellow-700-rgb:135,100,0;--color-red-100:#fdeaee;--color-red-100-rgb:253,234,238;--color-red-200:#f9c2cb;--color-red-200-rgb:249,194,203;--color-red-300:#f597a8;--color-red-300-rgb:245,151,168;--color-red-400:#e0707d;--color-red-400-rgb:224,112,125;--color-red-500:#c93b55;--color-red-500-rgb:201,59,85;--color-red-600:#a82433;--color-red-600-rgb:168,36,51;--color-red-700:#6c1e20;--color-red-700-rgb:108,30,32;--color-orange-100:#fff0e8;--color-orange-100-rgb:255,240,232;--color-orange-200:#ffd1b9;--color-orange-200-rgb:255,209,185;--color-orange-300:#ffb08a;--color-orange-300-rgb:255,176,138;--color-orange-400:#ff9461;--color-orange-400-rgb:255,148,97;--color-orange-500:#e96c2f;--color-orange-500-rgb:233,108,47;--color-orange-600:#b74302;--color-orange-600-rgb:183,67,2;--color-orange-700:#903c00;--color-orange-700-rgb:144,60,0;--color-gray-100:#f9f9f9;--color-gray-100-rgb:249,249,249;--color-gray-200:#f4f4f5;--color-gray-200-rgb:244,244,245;--color-gray-300:#eaeaec;--color-gray-300-rgb:234,234,236;--color-gray-400:#cdcdd0;--color-gray-400-rgb:205,205,208;--color-gray-500:#878792;--color-gray-500-rgb:135,135,146;--color-gray-600:#524e56;--color-gray-600-rgb:82,78,86;--color-white:#fff;--color-white-rgb:255,255,255;--color-black:#000;--color-black-rgb:0,0,0;--data-viz-favorable:#7dd5bd;--data-viz-favorable-rgb:125,213,189;--data-viz-unfavorable:#e68d97;--data-viz-unfavorable-rgb:230,141,151;--layout-content-max-width:1392px;--layout-content-max-width-with-sidebar:1080px;--layout-content-side-margin:72px;--layout-mobile-actions-drawer-height:60px;--layout-navigation-bar-height:72px;--layout-breakpoints-medium:768px;--layout-breakpoints-large:1080px;--shadow-small-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 3px 16px 0 rgba(0,0,0,.06);--shadow-large-box-shadow:0 3px 9px 0 rgba(0,0,0,.1),0 8px 40px 0 rgba(0,0,0,.08);--spacing-0:0;--spacing-1:.0625rem;--spacing-2:.125rem;--spacing-4:.25rem;--spacing-6:.375rem;--spacing-8:.5rem;--spacing-12:.75rem;--spacing-16:1rem;--spacing-20:1.25rem;--spacing-24:1.5rem;--spacing-32:2rem;--spacing-40:2.5rem;--spacing-48:3rem;--spacing-56:3.5rem;--spacing-64:4rem;--spacing-72:4.5rem;--spacing-80:5rem;--spacing-96:6rem;--spacing-112:7rem;--spacing-128:8rem;--spacing-160:10rem;--spacing-200:12.5rem;--spacing-240:15rem;--spacing-280:17.5rem;--spacing-320:20rem;--spacing-xs:0.375rem;--spacing-sm:0.75rem;--spacing-md:1.5rem;--spacing-lg:2.25rem;--spacing-xl:3rem;--spacing-xxl:3.75rem;--spacing-xxxl:4.5rem;--spacing-xxxxl:5.25rem;--spacing-xxxxxl:6rem;--typography-data-large-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-large-font-weight:700;--typography-data-large-font-size:5.25rem;--typography-data-large-line-height:5.25rem;--typography-data-large-letter-spacing:normal;--typography-data-large-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-large-units-font-weight:700;--typography-data-large-units-font-size:2.625rem;--typography-data-large-units-line-height:5.25rem;--typography-data-large-units-letter-spacing:normal;--typography-data-medium-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-medium-font-weight:700;--typography-data-medium-font-size:3rem;--typography-data-medium-line-height:5rem;--typography-data-medium-letter-spacing:normal;--typography-data-medium-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-medium-units-font-weight:700;--typography-data-medium-units-font-size:1.5rem;--typography-data-medium-units-line-height:5rem;--typography-data-medium-units-letter-spacing:normal;--typography-data-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-small-font-weight:700;--typography-data-small-font-size:1.5rem;--typography-data-small-line-height:1.5rem;--typography-data-small-letter-spacing:normal;--typography-data-small-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-small-units-font-weight:700;--typography-data-small-units-font-size:1.125rem;--typography-data-small-units-line-height:1.5rem;--typography-data-small-units-letter-spacing:normal;--typography-display-0-font-family:"Tiempos Headline",Georgia,serif;--typography-display-0-font-weight:800;--typography-display-0-font-size:4.5rem;--typography-display-0-line-height:5.25rem;--typography-display-0-letter-spacing:0em;--typography-heading-1-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-1-font-weight:500;--typography-heading-1-font-size:2.125rem;--typography-heading-1-line-height:2.625rem;--typography-heading-1-letter-spacing:normal;--typography-heading-2-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-2-font-weight:600;--typography-heading-2-font-size:1.75rem;--typography-heading-2-line-height:2.25rem;--typography-heading-2-letter-spacing:normal;--typography-heading-3-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-3-font-weight:600;--typography-heading-3-font-size:1.375rem;--typography-heading-3-line-height:1.875rem;--typography-heading-3-letter-spacing:normal;--typography-heading-4-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-4-font-weight:600;--typography-heading-4-font-size:1.125rem;--typography-heading-4-line-height:1.5rem;--typography-heading-4-letter-spacing:normal;--typography-heading-5-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-5-font-weight:600;--typography-heading-5-font-size:1rem;--typography-heading-5-line-height:1.5rem;--typography-heading-5-letter-spacing:normal;--typography-heading-6-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-6-font-weight:600;--typography-heading-6-font-size:0.875rem;--typography-heading-6-line-height:1.5rem;--typography-heading-6-letter-spacing:normal;--typography-paragraph-intro-lede-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-intro-lede-font-weight:400;--typography-paragraph-intro-lede-font-size:1.25rem;--typography-paragraph-intro-lede-line-height:1.875rem;--typography-paragraph-intro-lede-letter-spacing:0;--typography-paragraph-intro-lede-max-width:975px;--typography-paragraph-body-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-body-font-weight:400;--typography-paragraph-body-font-size:1rem;--typography-paragraph-body-line-height:1.5rem;--typography-paragraph-body-letter-spacing:normal;--typography-paragraph-body-max-width:780px;--typography-paragraph-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-small-font-weight:400;--typography-paragraph-small-font-size:0.875rem;--typography-paragraph-small-line-height:1.125rem;--typography-paragraph-small-letter-spacing:normal;--typography-paragraph-small-max-width:680px;--typography-paragraph-extra-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-extra-small-font-weight:400;--typography-paragraph-extra-small-font-size:0.75rem;--typography-paragraph-extra-small-line-height:1.125rem;--typography-paragraph-extra-small-letter-spacing:normal;--typography-paragraph-extra-small-max-width:600px;--typography-paragraph-bold-font-weight:600;--typography-button-primary-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-button-primary-font-weight:500;--typography-button-primary-font-size:1.125rem;--typography-button-primary-line-height:1.5rem;--typography-button-primary-letter-spacing:normal;--typography-button-secondary-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-button-secondary-font-weight:500;--typography-button-secondary-font-size:1rem;--typography-button-secondary-line-height:1.5rem;--typography-button-secondary-letter-spacing:normal}}@layer normalize{html{text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}}@layer reset{@font-face{font-family:Tiempos Headline;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-bold.woff)}@font-face{font-family:Tiempos Headline;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-medium.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-medium.woff)}@font-face{font-family:Greycliff CF;font-weight:300;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-light.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:400;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-regular.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-medium.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:600;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-demi-bold.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:700;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-bold.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-extra-bold.woff) format("woff")}@font-face{font-family:Inter;font-weight:300;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-light.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-light.woff)}@font-face{font-family:Inter;font-weight:400;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-regular.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-regular.woff)}@font-face{font-family:Inter;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-medium.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-medium.woff)}@font-face{font-family:Inter;font-weight:600;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-demi-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-demi-bold.woff)}@font-face{font-family:Inter;font-weight:700;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-bold.woff)}@font-face{font-family:Inter;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-extra-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-extra-bold.woff)}@font-face{font-family:IBM Plex Mono;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/ibm-plex-mono/ibm-plex-mono-regular.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/ibm-plex-mono/ibm-plex-mono-regular.woff)}}@layer reset{*,:after,:before{border-color:var(--border-solid-border-color,"currentColor");border-style:solid;border-width:0}}
|
|
2
|
-
.Menu-module_menu__AowD8 {
|
|
3
|
-
background-color: var(--color-white);
|
|
4
|
-
color: var(--color-purple-800);
|
|
5
|
-
width: 248px;
|
|
6
|
-
max-height: 22rem;
|
|
7
|
-
overflow: auto;
|
|
8
|
-
padding-block: var(--spacing-6);
|
|
9
|
-
outline: none;
|
|
10
|
-
border-radius: var(--border-solid-border-radius);
|
|
11
|
-
box-shadow: var(--shadow-large-box-shadow);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.Menu-module_menu__AowD8 .react-aria-Header {
|
|
15
|
-
font-family: var(--typography-heading-6-font-family);
|
|
16
|
-
font-size: var(--typography-heading-6-font-size);
|
|
17
|
-
letter-spacing: var(--typography-heading-6-letter-spacing);
|
|
18
|
-
font-weight: var(--typography-heading-6-font-weight);
|
|
19
|
-
line-height: var(--typography-heading-6-line-height);
|
|
20
|
-
padding: var(--spacing-6) 10px;
|
|
21
|
-
margin-inline: var(--spacing-6);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.Menu-module_menu__AowD8 section:not(:last-of-type) {
|
|
25
|
-
&::after {
|
|
26
|
-
width: 100%;
|
|
27
|
-
height: 1px;
|
|
28
|
-
background-color: var(--border-solid-border-color);
|
|
29
|
-
content: "";
|
|
30
|
-
display: block;
|
|
31
|
-
margin-block: var(--spacing-6);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
2
|
.MenuItem-module_item__uImZI {
|
|
36
3
|
display: block;
|
|
37
4
|
font-family: var(--typography-paragraph-body-font-family);
|
|
@@ -80,6 +47,39 @@
|
|
|
80
47
|
opacity: 0.3;
|
|
81
48
|
}
|
|
82
49
|
|
|
50
|
+
.Menu-module_menu__AowD8 {
|
|
51
|
+
background-color: var(--color-white);
|
|
52
|
+
color: var(--color-purple-800);
|
|
53
|
+
width: 248px;
|
|
54
|
+
max-height: 22rem;
|
|
55
|
+
overflow: auto;
|
|
56
|
+
padding-block: var(--spacing-6);
|
|
57
|
+
outline: none;
|
|
58
|
+
border-radius: var(--border-solid-border-radius);
|
|
59
|
+
box-shadow: var(--shadow-large-box-shadow);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.Menu-module_menu__AowD8 .react-aria-Header {
|
|
63
|
+
font-family: var(--typography-heading-6-font-family);
|
|
64
|
+
font-size: var(--typography-heading-6-font-size);
|
|
65
|
+
letter-spacing: var(--typography-heading-6-letter-spacing);
|
|
66
|
+
font-weight: var(--typography-heading-6-font-weight);
|
|
67
|
+
line-height: var(--typography-heading-6-line-height);
|
|
68
|
+
padding: var(--spacing-6) 10px;
|
|
69
|
+
margin-inline: var(--spacing-6);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.Menu-module_menu__AowD8 section:not(:last-of-type) {
|
|
73
|
+
&::after {
|
|
74
|
+
width: 100%;
|
|
75
|
+
height: 1px;
|
|
76
|
+
background-color: var(--border-solid-border-color);
|
|
77
|
+
content: "";
|
|
78
|
+
display: block;
|
|
79
|
+
margin-block: var(--spacing-6);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
83
|
.Button-module_button__vlUCI {
|
|
84
84
|
/* RESET */
|
|
85
85
|
appearance: none;
|
|
@@ -316,23 +316,6 @@
|
|
|
316
316
|
visibility: hidden;
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
.PendingContent-module_pendingContent__c4IFS {
|
|
320
|
-
display: inline-flex;
|
|
321
|
-
align-items: center;
|
|
322
|
-
gap: var(--button-pending-content-gap, var(--spacing-6));
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
.PendingContent-module_large__ypTxk {
|
|
326
|
-
--button-pending-content-gap: var(--spacing-8);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
.PendingContent-module_centerSpinner__EYn7L {
|
|
330
|
-
position: absolute;
|
|
331
|
-
left: 50%;
|
|
332
|
-
top: 50%;
|
|
333
|
-
transform: translate(-50%, -50%);
|
|
334
|
-
}
|
|
335
|
-
|
|
336
319
|
.ButtonContent-module_buttonContent__v5mHZ {
|
|
337
320
|
display: inline-flex;
|
|
338
321
|
align-items: center;
|
|
@@ -353,37 +336,23 @@
|
|
|
353
336
|
align-items: center;
|
|
354
337
|
}
|
|
355
338
|
|
|
356
|
-
.
|
|
339
|
+
.PendingContent-module_pendingContent__c4IFS {
|
|
357
340
|
display: inline-flex;
|
|
341
|
+
align-items: center;
|
|
342
|
+
gap: var(--button-pending-content-gap, var(--spacing-6));
|
|
358
343
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
display: flex;
|
|
363
|
-
padding: 8px;
|
|
364
|
-
}
|
|
365
|
-
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=top], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] {
|
|
366
|
-
padding: 0 8px;
|
|
367
|
-
}
|
|
368
|
-
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=left], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] {
|
|
369
|
-
padding: 8px 0;
|
|
370
|
-
}
|
|
371
|
-
.OverlayArrow-module_overlayArrow__hoDyK path {
|
|
372
|
-
fill: var(--color-purple-800, #2f2438);
|
|
373
|
-
box-shadow: var(--shadow-small-box-shadow, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.06));
|
|
374
|
-
}
|
|
375
|
-
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] svg {
|
|
376
|
-
transform: rotate(90deg);
|
|
377
|
-
}
|
|
378
|
-
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] svg {
|
|
379
|
-
transform: rotate(180deg);
|
|
380
|
-
}
|
|
381
|
-
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=left] svg {
|
|
382
|
-
transform: rotate(270deg);
|
|
344
|
+
|
|
345
|
+
.PendingContent-module_large__ypTxk {
|
|
346
|
+
--button-pending-content-gap: var(--spacing-8);
|
|
383
347
|
}
|
|
384
|
-
|
|
385
|
-
|
|
348
|
+
|
|
349
|
+
.PendingContent-module_centerSpinner__EYn7L {
|
|
350
|
+
position: absolute;
|
|
351
|
+
left: 50%;
|
|
352
|
+
top: 50%;
|
|
353
|
+
transform: translate(-50%, -50%);
|
|
386
354
|
}
|
|
355
|
+
|
|
387
356
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
388
357
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
389
358
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
@@ -440,6 +409,37 @@
|
|
|
440
409
|
opacity: 1;
|
|
441
410
|
}
|
|
442
411
|
}
|
|
412
|
+
.Focusable-module_focusableWrapper__NfuIi {
|
|
413
|
+
display: inline-flex;
|
|
414
|
+
}
|
|
415
|
+
/** THIS IS AN AUTOGENERATED FILE **/
|
|
416
|
+
/** THIS IS AN AUTOGENERATED FILE **/
|
|
417
|
+
.OverlayArrow-module_overlayArrow__hoDyK {
|
|
418
|
+
display: flex;
|
|
419
|
+
padding: 8px;
|
|
420
|
+
}
|
|
421
|
+
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=top], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] {
|
|
422
|
+
padding: 0 8px;
|
|
423
|
+
}
|
|
424
|
+
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=left], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] {
|
|
425
|
+
padding: 8px 0;
|
|
426
|
+
}
|
|
427
|
+
.OverlayArrow-module_overlayArrow__hoDyK path {
|
|
428
|
+
fill: var(--color-purple-800, #2f2438);
|
|
429
|
+
box-shadow: var(--shadow-small-box-shadow, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.06));
|
|
430
|
+
}
|
|
431
|
+
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] svg {
|
|
432
|
+
transform: rotate(90deg);
|
|
433
|
+
}
|
|
434
|
+
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] svg {
|
|
435
|
+
transform: rotate(180deg);
|
|
436
|
+
}
|
|
437
|
+
.OverlayArrow-module_overlayArrow__hoDyK[data-placement=left] svg {
|
|
438
|
+
transform: rotate(270deg);
|
|
439
|
+
}
|
|
440
|
+
.OverlayArrow-module_overlayArrow__hoDyK.OverlayArrow-module_reversed__-WGcR path {
|
|
441
|
+
fill: var(--color-white, #ffffff);
|
|
442
|
+
}
|
|
443
443
|
/*
|
|
444
444
|
* This is taken from the Material Symbols CDN
|
|
445
445
|
* font-weight & font-size removed as overridden in .icon
|
|
@@ -4809,6 +4809,10 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
|
|
|
4809
4809
|
.ClearAllButton-module_clearAllButton__XNkm2 {
|
|
4810
4810
|
white-space: nowrap;
|
|
4811
4811
|
}
|
|
4812
|
+
|
|
4813
|
+
.ClearAllButton-module_hidden__-L2eA {
|
|
4814
|
+
visibility: hidden;
|
|
4815
|
+
}
|
|
4812
4816
|
.FilterBar-module_filterBar__JEVKL {
|
|
4813
4817
|
display: flex;
|
|
4814
4818
|
padding: var(--spacing-8);
|
|
@@ -2,6 +2,7 @@ import { FilterAttributes, FilterState, Filters, FiltersValues } from "../types"
|
|
|
2
2
|
import { ActiveFiltersArray } from "./types";
|
|
3
3
|
export type FilterBarContextValue<Value, ValuesMap extends FiltersValues = Record<string, Value>> = {
|
|
4
4
|
getFilterState: <Id extends keyof ValuesMap>(id: Id) => FilterState<keyof ValuesMap, ValuesMap[Id]>;
|
|
5
|
+
isClearable: boolean;
|
|
5
6
|
getActiveFilterValues: () => Partial<ValuesMap>;
|
|
6
7
|
/**
|
|
7
8
|
* @deprecated Use `setFilterOpenState` instead.
|
|
@@ -20,6 +20,7 @@ export type FilterBarStateFilters<ValuesMap extends FiltersValues> = {
|
|
|
20
20
|
};
|
|
21
21
|
export type FilterBarState<ValuesMap extends FiltersValues> = {
|
|
22
22
|
hasUpdatedValues: boolean;
|
|
23
|
+
hasRemovableFilter: boolean;
|
|
23
24
|
filters: FilterBarStateFilters<ValuesMap>;
|
|
24
25
|
activeFilterIds: Set<keyof ValuesMap>;
|
|
25
26
|
values: Partial<ValuesMap>;
|
|
@@ -14,6 +14,8 @@ export type GenericTileProps = {
|
|
|
14
14
|
titleTag?: AllowedHeadingTags;
|
|
15
15
|
metadata?: string;
|
|
16
16
|
information?: TileInformation | React.ReactNode;
|
|
17
|
+
/** Provides accessible label for the title's info button @default "View more information: [title]" */
|
|
18
|
+
infoButtonLabel?: string;
|
|
17
19
|
/** @deprecated Use `variant` instead */
|
|
18
20
|
mood?: "positive" | "informative" | "cautionary" | "assertive" | "negative" | "prominent";
|
|
19
21
|
/**
|
|
@@ -26,6 +28,6 @@ export type GenericTileProps = {
|
|
|
26
28
|
footer: React.ReactNode;
|
|
27
29
|
} & OverrideClassName<Omit<HTMLAttributes<HTMLDivElement>, "title">>;
|
|
28
30
|
export declare const GenericTile: {
|
|
29
|
-
({ children, title, titleTag, metadata, information, mood, variant, footer, classNameOverride, ...restProps }: GenericTileProps): JSX.Element;
|
|
31
|
+
({ children, title, titleTag, metadata, information, infoButtonLabel, mood, variant, footer, classNameOverride, ...restProps }: GenericTileProps): JSX.Element;
|
|
30
32
|
displayName: string;
|
|
31
33
|
};
|
package/locales/en.json
CHANGED
|
@@ -165,6 +165,14 @@
|
|
|
165
165
|
"description": "Home button label",
|
|
166
166
|
"message": "Go to Home"
|
|
167
167
|
},
|
|
168
|
+
"kzGenericTile.infoButtonLabel": {
|
|
169
|
+
"description": "Prompts user to interact with button to reveal more information",
|
|
170
|
+
"message": "View more information:"
|
|
171
|
+
},
|
|
172
|
+
"kzGenericTile.infoButtonReturnLabel": {
|
|
173
|
+
"description": "Prompts user to interact with button to hide information",
|
|
174
|
+
"message": "Hide information:"
|
|
175
|
+
},
|
|
168
176
|
"splitButton.dropdownButton.label": {
|
|
169
177
|
"description": "Label for a dropdown menu holding additional actions",
|
|
170
178
|
"message": "Additional actions"
|