@kaizen/components 1.68.3 → 1.68.5

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 (88) hide show
  1. package/dist/cjs/Filter/FilterBar/context/FilterBarContext.cjs +13 -3
  2. package/dist/cjs/Filter/FilterBar/context/reducer/filterBarStateReducer.cjs +1 -1
  3. package/dist/cjs/Filter/FilterBar/context/reducer/setupFilterBarState.cjs +4 -0
  4. package/dist/cjs/Filter/FilterBar/context/utils/updateDependentFilters.cjs +1 -1
  5. package/dist/cjs/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.cjs +7 -2
  6. package/dist/cjs/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss.cjs +2 -1
  7. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.cjs +3 -0
  8. package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.cjs +23 -2
  9. package/dist/esm/Filter/FilterBar/context/FilterBarContext.mjs +13 -3
  10. package/dist/esm/Filter/FilterBar/context/reducer/filterBarStateReducer.mjs +1 -1
  11. package/dist/esm/Filter/FilterBar/context/reducer/setupFilterBarState.mjs +4 -0
  12. package/dist/esm/Filter/FilterBar/context/utils/updateDependentFilters.mjs +1 -1
  13. package/dist/esm/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.mjs +6 -2
  14. package/dist/esm/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss.mjs +2 -1
  15. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.mjs +3 -0
  16. package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.mjs +24 -3
  17. package/dist/styles.css +77 -73
  18. package/dist/types/Filter/FilterBar/context/FilterBarContext.d.ts +1 -0
  19. package/dist/types/Filter/FilterBar/context/types.d.ts +1 -0
  20. package/locales/ar.json +8 -0
  21. package/locales/bg.json +8 -0
  22. package/locales/cs.json +8 -0
  23. package/locales/cy.json +8 -0
  24. package/locales/da.json +8 -0
  25. package/locales/de.json +8 -0
  26. package/locales/el.json +8 -0
  27. package/locales/en-GB.json +8 -0
  28. package/locales/es-419.json +8 -0
  29. package/locales/es.json +8 -0
  30. package/locales/et.json +8 -0
  31. package/locales/fi.json +8 -0
  32. package/locales/fr-CA.json +8 -0
  33. package/locales/fr.json +8 -0
  34. package/locales/he.json +8 -0
  35. package/locales/hi.json +8 -0
  36. package/locales/ht.json +8 -0
  37. package/locales/hu.json +8 -0
  38. package/locales/id.json +8 -0
  39. package/locales/it.json +8 -0
  40. package/locales/ja.json +8 -0
  41. package/locales/km-KH.json +8 -0
  42. package/locales/ko.json +8 -0
  43. package/locales/lt.json +8 -0
  44. package/locales/lv.json +8 -0
  45. package/locales/mi.json +8 -0
  46. package/locales/ms.json +8 -0
  47. package/locales/nb.json +8 -0
  48. package/locales/nl.json +8 -0
  49. package/locales/pl.json +8 -0
  50. package/locales/pt-BR.json +8 -0
  51. package/locales/pt.json +8 -0
  52. package/locales/ro.json +8 -0
  53. package/locales/ru.json +8 -0
  54. package/locales/si-LK.json +8 -0
  55. package/locales/sk.json +8 -0
  56. package/locales/sr.json +8 -0
  57. package/locales/sv.json +8 -0
  58. package/locales/th.json +8 -0
  59. package/locales/tl.json +8 -0
  60. package/locales/tr.json +8 -0
  61. package/locales/uk.json +8 -0
  62. package/locales/vi.json +8 -0
  63. package/locales/zh-TW.json +8 -0
  64. package/locales/zh.json +8 -0
  65. package/package.json +1 -1
  66. package/src/Filter/FilterBar/FilterBar.spec.tsx +0 -64
  67. package/src/Filter/FilterBar/_docs/FilterBar.spec.stories.tsx +249 -0
  68. package/src/Filter/FilterBar/_docs/FilterBar.stickersheet.stories.tsx +1 -1
  69. package/src/Filter/FilterBar/_docs/FilterBar.stories.tsx +1 -1
  70. package/src/Filter/FilterBar/context/FilterBarContext.tsx +17 -5
  71. package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.spec.ts +3 -0
  72. package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.ts +1 -1
  73. package/src/Filter/FilterBar/context/reducer/setupFilterBarState.spec.tsx +40 -0
  74. package/src/Filter/FilterBar/context/reducer/setupFilterBarState.ts +5 -0
  75. package/src/Filter/FilterBar/context/reducer/updateSingleFilter.spec.ts +2 -0
  76. package/src/Filter/FilterBar/context/reducer/updateValues.spec.ts +5 -0
  77. package/src/Filter/FilterBar/context/types.ts +1 -0
  78. package/src/Filter/FilterBar/context/utils/checkShouldUpdateValues.spec.ts +1 -0
  79. package/src/Filter/FilterBar/context/utils/getInactiveFilters.spec.ts +2 -0
  80. package/src/Filter/FilterBar/context/utils/getIsUsableWhenArgs.spec.ts +1 -0
  81. package/src/Filter/FilterBar/context/utils/updateDependentFilters.spec.ts +8 -0
  82. package/src/Filter/FilterBar/context/utils/updateDependentFilters.ts +1 -1
  83. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss +4 -0
  84. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.tsx +5 -2
  85. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.tsx +4 -0
  86. package/src/Tile/TileGrid/_docs/TileGrid.stories.tsx +41 -8
  87. package/src/Tile/subcomponents/GenericTile/GenericTile.spec.stories.tsx +58 -0
  88. package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +24 -1
@@ -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] = undefined;
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);
@@ -13,7 +13,7 @@ var updateDependentFilters = function (state) {
13
13
  state.filters[id].isUsable = isUsable;
14
14
  if (!isUsable) {
15
15
  state.activeFilterIds.delete(id);
16
- state.values[id] = undefined;
16
+ delete state.values[id];
17
17
  state.hasUpdatedValues = true;
18
18
  return;
19
19
  }
@@ -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 clearAllFilters = FilterBarContext.useFilterBarContext().clearAllFilters;
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
  });
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var styles = {
4
- "clearAllButton": "ClearAllButton-module_clearAllButton__XNkm2"
4
+ "clearAllButton": "ClearAllButton-module_clearAllButton__XNkm2",
5
+ "hidden": "ClearAllButton-module_hidden__-L2eA"
5
6
  };
6
7
  module.exports = styles;
@@ -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)) {
@@ -34,7 +34,26 @@ var GenericTile = function (_a) {
34
34
  var _d = React.useState(false),
35
35
  isFlipped = _d[0],
36
36
  setIsFlipped = _d[1];
37
+ var _e = React.useState(false),
38
+ isDocumentReady = _e[0],
39
+ setIsDocumentReady = _e[1];
37
40
  var formatMessage = i18nReactIntl.useIntl().formatMessage;
41
+ var infoButtonRef = React.useRef(null);
42
+ var infoButtonReturnRef = React.useRef(null);
43
+ React.useEffect(function () {
44
+ setIsDocumentReady(true);
45
+ }, []);
46
+ React.useEffect(function () {
47
+ if (!isDocumentReady) {
48
+ setIsDocumentReady(true);
49
+ return;
50
+ }
51
+ if (isFlipped) {
52
+ infoButtonReturnRef.current.focus();
53
+ } else {
54
+ infoButtonRef.current.focus();
55
+ }
56
+ }, [isFlipped]);
38
57
  var translatedInfoLabel = formatMessage({
39
58
  id: "kzGenericTile.infoButtonLabel",
40
59
  defaultMessage: "View more information:",
@@ -69,7 +88,8 @@ var GenericTile = function (_a) {
69
88
  return setIsFlipped(true);
70
89
  },
71
90
  disabled: isFlipped,
72
- "aria-hidden": isFlipped
91
+ "aria-hidden": isFlipped,
92
+ ref: infoButtonRef
73
93
  })), renderTitle(), React__default.default.createElement("div", {
74
94
  className: GenericTile_module.children
75
95
  }, children && children), footer && React__default.default.createElement("div", {
@@ -114,7 +134,8 @@ var GenericTile = function (_a) {
114
134
  return setIsFlipped(false);
115
135
  },
116
136
  disabled: !isFlipped,
117
- "aria-hidden": !isFlipped
137
+ "aria-hidden": !isFlipped,
138
+ ref: infoButtonReturnRef
118
139
  })), React__default.default.createElement("div", {
119
140
  className: GenericTile_module.information
120
141
  }, renderInformation(information)));
@@ -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] = undefined;
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);
@@ -11,7 +11,7 @@ var updateDependentFilters = function (state) {
11
11
  state.filters[id].isUsable = isUsable;
12
12
  if (!isUsable) {
13
13
  state.activeFilterIds.delete(id);
14
- state.values[id] = undefined;
14
+ delete state.values[id];
15
15
  state.hasUpdatedValues = true;
16
16
  return;
17
17
  }
@@ -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 clearAllFilters = useFilterBarContext().clearAllFilters;
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
  });
@@ -1,4 +1,5 @@
1
1
  var styles = {
2
- "clearAllButton": "ClearAllButton-module_clearAllButton__XNkm2"
2
+ "clearAllButton": "ClearAllButton-module_clearAllButton__XNkm2",
3
+ "hidden": "ClearAllButton-module_hidden__-L2eA"
3
4
  };
4
5
  export { styles as default };
@@ -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,5 @@
1
1
  import { __rest, __assign } from 'tslib';
2
- import React, { useState } from 'react';
2
+ import React, { useState, useRef, useEffect } from 'react';
3
3
  import { useIntl } from '@cultureamp/i18n-react-intl';
4
4
  import classnames from 'classnames';
5
5
  import { Heading } from '../../../Heading/Heading.mjs';
@@ -26,7 +26,26 @@ const GenericTile = /*#__PURE__*/function () {
26
26
  var _d = useState(false),
27
27
  isFlipped = _d[0],
28
28
  setIsFlipped = _d[1];
29
+ var _e = useState(false),
30
+ isDocumentReady = _e[0],
31
+ setIsDocumentReady = _e[1];
29
32
  var formatMessage = useIntl().formatMessage;
33
+ var infoButtonRef = useRef(null);
34
+ var infoButtonReturnRef = useRef(null);
35
+ useEffect(function () {
36
+ setIsDocumentReady(true);
37
+ }, []);
38
+ useEffect(function () {
39
+ if (!isDocumentReady) {
40
+ setIsDocumentReady(true);
41
+ return;
42
+ }
43
+ if (isFlipped) {
44
+ infoButtonReturnRef.current.focus();
45
+ } else {
46
+ infoButtonRef.current.focus();
47
+ }
48
+ }, [isFlipped]);
30
49
  var translatedInfoLabel = formatMessage({
31
50
  id: "kzGenericTile.infoButtonLabel",
32
51
  defaultMessage: "View more information:",
@@ -61,7 +80,8 @@ const GenericTile = /*#__PURE__*/function () {
61
80
  return setIsFlipped(true);
62
81
  },
63
82
  disabled: isFlipped,
64
- "aria-hidden": isFlipped
83
+ "aria-hidden": isFlipped,
84
+ ref: infoButtonRef
65
85
  }))), renderTitle(), /*#__PURE__*/React.createElement("div", {
66
86
  className: styles.children
67
87
  }, children && children), footer && /*#__PURE__*/React.createElement("div", {
@@ -106,7 +126,8 @@ const GenericTile = /*#__PURE__*/function () {
106
126
  return setIsFlipped(false);
107
127
  },
108
128
  disabled: !isFlipped,
109
- "aria-hidden": !isFlipped
129
+ "aria-hidden": !isFlipped,
130
+ ref: infoButtonReturnRef
110
131
  })), /*#__PURE__*/React.createElement("div", {
111
132
  className: styles.information
112
133
  }, renderInformation(information)));
package/dist/styles.css CHANGED
@@ -1,4 +1,37 @@
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
+
2
35
  .Button-module_button__vlUCI {
3
36
  /* RESET */
4
37
  appearance: none;
@@ -283,37 +316,24 @@
283
316
  opacity: 0.3;
284
317
  }
285
318
 
286
- .Menu-module_menu__AowD8 {
287
- background-color: var(--color-white);
288
- color: var(--color-purple-800);
289
- width: 248px;
290
- max-height: 22rem;
291
- overflow: auto;
292
- padding-block: var(--spacing-6);
293
- outline: none;
294
- border-radius: var(--border-solid-border-radius);
295
- box-shadow: var(--shadow-large-box-shadow);
319
+ .ButtonContent-module_buttonContent__v5mHZ {
320
+ display: inline-flex;
321
+ align-items: center;
322
+ gap: var(--button-icon-gap, var(--spacing-6));
296
323
  }
297
324
 
298
- .Menu-module_menu__AowD8 .react-aria-Header {
299
- font-family: var(--typography-heading-6-font-family);
300
- font-size: var(--typography-heading-6-font-size);
301
- letter-spacing: var(--typography-heading-6-letter-spacing);
302
- font-weight: var(--typography-heading-6-font-weight);
303
- line-height: var(--typography-heading-6-line-height);
304
- padding: var(--spacing-6) 10px;
305
- margin-inline: var(--spacing-6);
325
+ .ButtonContent-module_large__mLOdb {
326
+ --button-icon-gap: var(--spacing-8);
306
327
  }
307
328
 
308
- .Menu-module_menu__AowD8 section:not(:last-of-type) {
309
- &::after {
310
- width: 100%;
311
- height: 1px;
312
- background-color: var(--border-solid-border-color);
313
- content: "";
314
- display: block;
315
- margin-block: var(--spacing-6);
316
- }
329
+ .ButtonContent-module_buttonLabel__T5XAq {
330
+ display: inline-flex;
331
+ align-items: center;
332
+ }
333
+
334
+ .ButtonContent-module_buttonIcon__qkAX- {
335
+ display: inline-flex;
336
+ align-items: center;
317
337
  }
318
338
 
319
339
  .PendingContent-module_pendingContent__c4IFS {
@@ -333,26 +353,37 @@
333
353
  transform: translate(-50%, -50%);
334
354
  }
335
355
 
336
- .ButtonContent-module_buttonContent__v5mHZ {
337
- display: inline-flex;
338
- align-items: center;
339
- gap: var(--button-icon-gap, var(--spacing-6));
356
+ /** THIS IS AN AUTOGENERATED FILE **/
357
+ /** THIS IS AN AUTOGENERATED FILE **/
358
+ .OverlayArrow-module_overlayArrow__hoDyK {
359
+ display: flex;
360
+ padding: 8px;
340
361
  }
341
-
342
- .ButtonContent-module_large__mLOdb {
343
- --button-icon-gap: var(--spacing-8);
362
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=top], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] {
363
+ padding: 0 8px;
344
364
  }
345
-
346
- .ButtonContent-module_buttonLabel__T5XAq {
347
- display: inline-flex;
348
- align-items: center;
365
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=left], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] {
366
+ padding: 8px 0;
349
367
  }
350
-
351
- .ButtonContent-module_buttonIcon__qkAX- {
368
+ .OverlayArrow-module_overlayArrow__hoDyK path {
369
+ fill: var(--color-purple-800, #2f2438);
370
+ 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));
371
+ }
372
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] svg {
373
+ transform: rotate(90deg);
374
+ }
375
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] svg {
376
+ transform: rotate(180deg);
377
+ }
378
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=left] svg {
379
+ transform: rotate(270deg);
380
+ }
381
+ .OverlayArrow-module_overlayArrow__hoDyK.OverlayArrow-module_reversed__-WGcR path {
382
+ fill: var(--color-white, #ffffff);
383
+ }
384
+ .Focusable-module_focusableWrapper__NfuIi {
352
385
  display: inline-flex;
353
- align-items: center;
354
386
  }
355
-
356
387
  /** THIS IS AN AUTOGENERATED FILE **/
357
388
  /** THIS IS AN AUTOGENERATED FILE **/
358
389
  /** THIS IS AN AUTOGENERATED FILE **/
@@ -409,37 +440,6 @@
409
440
  opacity: 1;
410
441
  }
411
442
  }
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>;
package/locales/ar.json CHANGED
@@ -164,6 +164,14 @@
164
164
  "description" : "Home button label",
165
165
  "message" : "الانتقال إلى الصفحة الرئيسية"
166
166
  },
167
+ "kzGenericTile.infoButtonLabel" : {
168
+ "description" : "Prompts user to interact with button to reveal more information",
169
+ "message" : "عرض المزيد من المعلومات:"
170
+ },
171
+ "kzGenericTile.infoButtonReturnLabel" : {
172
+ "description" : "Prompts user to interact with button to hide information",
173
+ "message" : "إخفاء المعلومات:"
174
+ },
167
175
  "splitButton.dropdownButton.label" : {
168
176
  "description" : "Label for a dropdown menu holding additional actions",
169
177
  "message" : "إجراءات إضافية"
package/locales/bg.json CHANGED
@@ -164,6 +164,14 @@
164
164
  "description" : "Home button label",
165
165
  "message" : "Отидете на начална страница"
166
166
  },
167
+ "kzGenericTile.infoButtonLabel" : {
168
+ "description" : "Prompts user to interact with button to reveal more information",
169
+ "message" : "Вижте повече информация:"
170
+ },
171
+ "kzGenericTile.infoButtonReturnLabel" : {
172
+ "description" : "Prompts user to interact with button to hide information",
173
+ "message" : "Скриване на информация:"
174
+ },
167
175
  "splitButton.dropdownButton.label" : {
168
176
  "description" : "Label for a dropdown menu holding additional actions",
169
177
  "message" : "Допълнителни действия"
package/locales/cs.json CHANGED
@@ -164,6 +164,14 @@
164
164
  "description" : "Home button label",
165
165
  "message" : "Přejít na domovskou stránku"
166
166
  },
167
+ "kzGenericTile.infoButtonLabel" : {
168
+ "description" : "Prompts user to interact with button to reveal more information",
169
+ "message" : "Zobrazit více informací:"
170
+ },
171
+ "kzGenericTile.infoButtonReturnLabel" : {
172
+ "description" : "Prompts user to interact with button to hide information",
173
+ "message" : "Skrýt informace:"
174
+ },
167
175
  "splitButton.dropdownButton.label" : {
168
176
  "description" : "Label for a dropdown menu holding additional actions",
169
177
  "message" : "Další akce"