@searchspring/snap-preact-components 0.41.1 → 0.42.0

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 (129) hide show
  1. package/dist/cjs/components/Atoms/Button/Button.d.ts +1 -0
  2. package/dist/cjs/components/Atoms/Button/Button.d.ts.map +1 -1
  3. package/dist/cjs/components/Atoms/Button/Button.js +9 -3
  4. package/dist/cjs/components/Atoms/Button/Button.stories.d.ts +14 -0
  5. package/dist/cjs/components/Atoms/Button/Button.stories.d.ts.map +1 -1
  6. package/dist/cjs/components/Atoms/Button/Button.stories.js +9 -0
  7. package/dist/cjs/components/Atoms/Dropdown/Dropdown.d.ts +1 -0
  8. package/dist/cjs/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  9. package/dist/cjs/components/Atoms/Dropdown/Dropdown.js +4 -3
  10. package/dist/cjs/components/Atoms/Dropdown/Dropdown.stories.d.ts +14 -0
  11. package/dist/cjs/components/Atoms/Dropdown/Dropdown.stories.d.ts.map +1 -1
  12. package/dist/cjs/components/Atoms/Dropdown/Dropdown.stories.js +9 -0
  13. package/dist/cjs/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
  14. package/dist/cjs/components/Molecules/Carousel/Carousel.js +5 -1
  15. package/dist/cjs/components/Molecules/Checkbox/Checkbox.d.ts +1 -0
  16. package/dist/cjs/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
  17. package/dist/cjs/components/Molecules/Checkbox/Checkbox.js +4 -3
  18. package/dist/cjs/components/Molecules/Checkbox/Checkbox.stories.d.ts +14 -0
  19. package/dist/cjs/components/Molecules/Checkbox/Checkbox.stories.d.ts.map +1 -1
  20. package/dist/cjs/components/Molecules/Checkbox/Checkbox.stories.js +9 -0
  21. package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +3 -2
  22. package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
  23. package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.js +9 -4
  24. package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts +14 -0
  25. package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts.map +1 -1
  26. package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.stories.js +10 -1
  27. package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +3 -2
  28. package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
  29. package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +10 -5
  30. package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts +14 -0
  31. package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts.map +1 -1
  32. package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.js +10 -1
  33. package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.d.ts +3 -2
  34. package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
  35. package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.js +10 -5
  36. package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts +14 -0
  37. package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts.map +1 -1
  38. package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.stories.js +10 -1
  39. package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +3 -2
  40. package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
  41. package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +9 -4
  42. package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts +14 -0
  43. package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts.map +1 -1
  44. package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.js +10 -1
  45. package/dist/cjs/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
  46. package/dist/cjs/components/Molecules/FacetSlider/FacetSlider.js +4 -3
  47. package/dist/cjs/components/Molecules/Filter/Filter.d.ts.map +1 -1
  48. package/dist/cjs/components/Molecules/Filter/Filter.js +2 -2
  49. package/dist/cjs/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
  50. package/dist/cjs/components/Molecules/Pagination/Pagination.js +6 -6
  51. package/dist/cjs/components/Molecules/Select/Select.d.ts.map +1 -1
  52. package/dist/cjs/components/Molecules/Select/Select.js +5 -3
  53. package/dist/cjs/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  54. package/dist/cjs/components/Molecules/Slideout/Slideout.js +10 -1
  55. package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  56. package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.js +18 -19
  57. package/dist/cjs/components/Organisms/Facet/Facet.d.ts.map +1 -1
  58. package/dist/cjs/components/Organisms/Facet/Facet.js +10 -9
  59. package/dist/cjs/hooks/index.d.ts +1 -0
  60. package/dist/cjs/hooks/index.d.ts.map +1 -1
  61. package/dist/cjs/hooks/index.js +1 -0
  62. package/dist/cjs/hooks/useA11y.d.ts +2 -0
  63. package/dist/cjs/hooks/useA11y.d.ts.map +1 -0
  64. package/dist/cjs/hooks/useA11y.js +26 -0
  65. package/dist/esm/components/Atoms/Button/Button.d.ts +1 -0
  66. package/dist/esm/components/Atoms/Button/Button.d.ts.map +1 -1
  67. package/dist/esm/components/Atoms/Button/Button.js +7 -2
  68. package/dist/esm/components/Atoms/Button/Button.stories.d.ts +14 -0
  69. package/dist/esm/components/Atoms/Button/Button.stories.d.ts.map +1 -1
  70. package/dist/esm/components/Atoms/Button/Button.stories.js +10 -0
  71. package/dist/esm/components/Atoms/Dropdown/Dropdown.d.ts +1 -0
  72. package/dist/esm/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  73. package/dist/esm/components/Atoms/Dropdown/Dropdown.js +4 -2
  74. package/dist/esm/components/Atoms/Dropdown/Dropdown.stories.d.ts +14 -0
  75. package/dist/esm/components/Atoms/Dropdown/Dropdown.stories.d.ts.map +1 -1
  76. package/dist/esm/components/Atoms/Dropdown/Dropdown.stories.js +10 -0
  77. package/dist/esm/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
  78. package/dist/esm/components/Molecules/Carousel/Carousel.js +6 -2
  79. package/dist/esm/components/Molecules/Checkbox/Checkbox.d.ts +1 -0
  80. package/dist/esm/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
  81. package/dist/esm/components/Molecules/Checkbox/Checkbox.js +4 -2
  82. package/dist/esm/components/Molecules/Checkbox/Checkbox.stories.d.ts +14 -0
  83. package/dist/esm/components/Molecules/Checkbox/Checkbox.stories.d.ts.map +1 -1
  84. package/dist/esm/components/Molecules/Checkbox/Checkbox.stories.js +10 -0
  85. package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +3 -2
  86. package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
  87. package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.js +8 -3
  88. package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts +14 -0
  89. package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts.map +1 -1
  90. package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.stories.js +11 -1
  91. package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +3 -2
  92. package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
  93. package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +9 -4
  94. package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts +14 -0
  95. package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts.map +1 -1
  96. package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.js +11 -1
  97. package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.d.ts +3 -2
  98. package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
  99. package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.js +9 -4
  100. package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts +14 -0
  101. package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts.map +1 -1
  102. package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.stories.js +11 -1
  103. package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +3 -2
  104. package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
  105. package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +8 -3
  106. package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts +14 -0
  107. package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts.map +1 -1
  108. package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.js +11 -1
  109. package/dist/esm/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
  110. package/dist/esm/components/Molecules/FacetSlider/FacetSlider.js +2 -1
  111. package/dist/esm/components/Molecules/Filter/Filter.d.ts.map +1 -1
  112. package/dist/esm/components/Molecules/Filter/Filter.js +2 -2
  113. package/dist/esm/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
  114. package/dist/esm/components/Molecules/Pagination/Pagination.js +6 -6
  115. package/dist/esm/components/Molecules/Select/Select.d.ts.map +1 -1
  116. package/dist/esm/components/Molecules/Select/Select.js +5 -3
  117. package/dist/esm/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  118. package/dist/esm/components/Molecules/Slideout/Slideout.js +10 -1
  119. package/dist/esm/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  120. package/dist/esm/components/Organisms/Autocomplete/Autocomplete.js +18 -19
  121. package/dist/esm/components/Organisms/Facet/Facet.d.ts.map +1 -1
  122. package/dist/esm/components/Organisms/Facet/Facet.js +7 -6
  123. package/dist/esm/hooks/index.d.ts +1 -0
  124. package/dist/esm/hooks/index.d.ts.map +1 -1
  125. package/dist/esm/hooks/index.js +1 -0
  126. package/dist/esm/hooks/useA11y.d.ts +2 -0
  127. package/dist/esm/hooks/useA11y.d.ts.map +1 -0
  128. package/dist/esm/hooks/useA11y.js +21 -0
  129. package/package.json +11 -11
@@ -79,6 +79,20 @@ declare const _default: {
79
79
  type: string;
80
80
  };
81
81
  };
82
+ facet: {
83
+ description: string;
84
+ type: {
85
+ required: boolean;
86
+ };
87
+ table: {
88
+ type: {
89
+ summary: string;
90
+ };
91
+ };
92
+ control: {
93
+ type: string;
94
+ };
95
+ };
82
96
  hideCheckbox: {
83
97
  defaultValue: boolean;
84
98
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FacetListOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetListOptions/FacetListOptions.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,EAAoB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;yBAgB5D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdb,wBAoFE;AAUF,eAAO,MAAM,OAAO;WAAU,qBAAqB;;wBAAsD,gBAAgB;;;;;;CAExH,CAAC"}
1
+ {"version":3,"file":"FacetListOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetListOptions/FacetListOptions.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,EAAoB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;yBAgB5D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdb,wBA8FE;AAUF,eAAO,MAAM,OAAO;WAAU,qBAAqB;;wBAAsD,gBAAgB;;;;;;CAExH,CAAC"}
@@ -74,13 +74,22 @@ exports.default = {
74
74
  ],
75
75
  argTypes: __assign({ values: {
76
76
  description: 'Facet.values store reference',
77
- type: { required: true },
77
+ type: { required: false },
78
78
  table: {
79
79
  type: {
80
80
  summary: 'facet values store array',
81
81
  },
82
82
  },
83
83
  control: { type: 'none' },
84
+ }, facet: {
85
+ description: 'Facet store reference',
86
+ type: { required: false },
87
+ table: {
88
+ type: {
89
+ summary: 'facet store object',
90
+ },
91
+ },
92
+ control: { type: 'none' },
84
93
  }, hideCheckbox: {
85
94
  defaultValue: false,
86
95
  description: 'Hide facet option checkbox',
@@ -1,15 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  import { ComponentProps } from '../../../types';
3
- import type { FacetValue } from '@searchspring/snap-store-mobx';
3
+ import type { FacetValue, ValueFacet } from '@searchspring/snap-store-mobx';
4
4
  export declare const FacetPaletteOptions: ((properties: FacetPaletteOptionsProps) => JSX.Element) & {
5
5
  displayName: string;
6
6
  };
7
7
  export interface FacetPaletteOptionsProps extends ComponentProps {
8
- values: FacetValue[];
8
+ values?: FacetValue[];
9
9
  hideLabel?: boolean;
10
10
  columns?: number;
11
11
  gapSize?: string;
12
12
  hideIcon?: boolean;
13
+ facet?: ValueFacet;
13
14
  onClick?: (e: React.MouseEvent) => void;
14
15
  previewOnFocus?: boolean;
15
16
  valueProps?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"FacetPaletteOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA+EhE,eAAO,MAAM,mBAAmB,gBAAyB,wBAAwB,KAAG,WAAW;;CA4E7F,CAAC;AAEH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC/D,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB"}
1
+ {"version":3,"file":"FacetPaletteOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA+E5E,eAAO,MAAM,mBAAmB,gBAAyB,wBAAwB,KAAG,WAAW;;CAoF7F,CAAC;AAEH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC/D,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB"}
@@ -109,7 +109,7 @@ exports.FacetPaletteOptions = (0, mobx_react_lite_1.observer)(function (properti
109
109
  var props = __assign(__assign(__assign({
110
110
  // default props
111
111
  columns: 4, gapSize: '8px' }, (_a = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _a === void 0 ? void 0 : _a.facetPaletteOptions), properties), (_c = (_b = properties.theme) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.facetPaletteOptions);
112
- var values = props.values, hideLabel = props.hideLabel, columns = props.columns, gapSize = props.gapSize, hideIcon = props.hideIcon, onClick = props.onClick, previewOnFocus = props.previewOnFocus, valueProps = props.valueProps, disableStyles = props.disableStyles, className = props.className, style = props.style;
112
+ var values = props.values, hideLabel = props.hideLabel, columns = props.columns, gapSize = props.gapSize, hideIcon = props.hideIcon, onClick = props.onClick, previewOnFocus = props.previewOnFocus, valueProps = props.valueProps, facet = props.facet, disableStyles = props.disableStyles, className = props.className, style = props.style;
113
113
  var subProps = {
114
114
  icon: __assign(__assign(__assign({
115
115
  // default props
@@ -129,10 +129,15 @@ exports.FacetPaletteOptions = (0, mobx_react_lite_1.observer)(function (properti
129
129
  else if (style) {
130
130
  styling.css = [style];
131
131
  }
132
- return (values === null || values === void 0 ? void 0 : values.length) ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
133
- (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__facet-palette-options', className) }), values.map(function (value) {
132
+ var facetValues = values || (facet === null || facet === void 0 ? void 0 : facet.values);
133
+ return (facetValues === null || facetValues === void 0 ? void 0 : facetValues.length) ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
134
+ (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__facet-palette-options', className) }), facetValues.map(function (value) {
134
135
  var _a, _b;
135
- return ((0, react_1.jsx)("a", __assign({ className: (0, classnames_1.default)('ss__facet-palette-options__option', { 'ss__facet-palette-options__option--filtered': value.filtered }), "aria-label": value.value, onFocus: function () { return previewOnFocus && value.preview && value.preview(); } }, valueProps, { href: (_b = (_a = value.url) === null || _a === void 0 ? void 0 : _a.link) === null || _b === void 0 ? void 0 : _b.href, onClick: function (e) {
136
+ return ((0, react_1.jsx)("a", __assign({ className: (0, classnames_1.default)('ss__facet-palette-options__option', { 'ss__facet-palette-options__option--filtered': value.filtered }), "aria-label": value.filtered
137
+ ? "remove selected filter ".concat((facet === null || facet === void 0 ? void 0 : facet.label) || '', " - ").concat(value.label)
138
+ : (facet === null || facet === void 0 ? void 0 : facet.label)
139
+ ? "filter by ".concat(facet === null || facet === void 0 ? void 0 : facet.label, " - ").concat(value.label)
140
+ : "filter by ".concat(value.label) }, valueProps, { onMouseEnter: function (e) { return previewOnFocus && valueProps.onMouseEnter(e, value); }, href: (_b = (_a = value.url) === null || _a === void 0 ? void 0 : _a.link) === null || _b === void 0 ? void 0 : _b.href, onClick: function (e) {
136
141
  var _a, _b;
137
142
  (_b = (_a = value.url) === null || _a === void 0 ? void 0 : _a.link) === null || _b === void 0 ? void 0 : _b.onClick(e);
138
143
  onClick && onClick(e);
@@ -79,6 +79,20 @@ declare const _default: {
79
79
  type: string;
80
80
  };
81
81
  };
82
+ facet: {
83
+ description: string;
84
+ type: {
85
+ required: boolean;
86
+ };
87
+ table: {
88
+ type: {
89
+ summary: string;
90
+ };
91
+ };
92
+ control: {
93
+ type: string;
94
+ };
95
+ };
82
96
  columns: {
83
97
  defaultValue: number;
84
98
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FacetPaletteOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,EAAuB,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;yBAgB5D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdb,wBAwGE;AAUF,eAAO,MAAM,OAAO;WAAU,wBAAwB;;wBAAsD,gBAAgB;;;;;;CAE3H,CAAC"}
1
+ {"version":3,"file":"FacetPaletteOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,EAAuB,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;yBAgB5D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdb,wBAkHE;AAUF,eAAO,MAAM,OAAO;WAAU,wBAAwB;;wBAAsD,gBAAgB;;;;;;CAE3H,CAAC"}
@@ -74,13 +74,22 @@ exports.default = {
74
74
  ],
75
75
  argTypes: __assign({ values: {
76
76
  description: 'Facet.values store reference',
77
- type: { required: true },
77
+ type: { required: false },
78
78
  table: {
79
79
  type: {
80
80
  summary: 'facet values store array',
81
81
  },
82
82
  },
83
83
  control: { type: 'none' },
84
+ }, facet: {
85
+ description: 'Facet store reference',
86
+ type: { required: false },
87
+ table: {
88
+ type: {
89
+ summary: 'facet store object',
90
+ },
91
+ },
92
+ control: { type: 'none' },
84
93
  }, columns: {
85
94
  defaultValue: 4,
86
95
  description: 'Number of columns in palette',
@@ -1 +1 @@
1
- {"version":3,"file":"FacetSlider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetSlider/FacetSlider.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAwIhE,eAAO,MAAM,WAAW,gBAAyB,gBAAgB,KAAG,WAAW;;CAoJ7E,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpC"}
1
+ {"version":3,"file":"FacetSlider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetSlider/FacetSlider.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAyIhE,eAAO,MAAM,WAAW,gBAAyB,gBAAgB,KAAG,WAAW;;CAyJ7E,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpC"}
@@ -24,6 +24,7 @@ var classnames_1 = __importDefault(require("classnames"));
24
24
  var react_ranger_1 = require("react-ranger");
25
25
  var providers_1 = require("../../../providers");
26
26
  var utilities_1 = require("../../../utilities");
27
+ var hooks_2 = require("../../../hooks");
27
28
  var CSS = {
28
29
  facetSlider: function (_a) {
29
30
  var _b, _c, _d, _e;
@@ -222,7 +223,7 @@ exports.FacetSlider = (0, mobx_react_lite_1.observer)(function (properties) {
222
223
  return ((0, react_1.jsx)("div", __assign({ className: "".concat(idx === 1 ? 'ss__facet-slider__rail' : 'ss__facet-slider__segment') }, getSegmentProps())));
223
224
  }),
224
225
  (0, react_1.jsx)("div", { className: 'ss__facet-slider__handles' }, handles.map(function (_a, idx) {
225
- var _b, _c;
226
+ var _b, _c, _d, _e, _f, _g;
226
227
  var value = _a.value, active = _a.active, getHandleProps = _a.getHandleProps;
227
228
  return ((0, react_1.jsx)("button", __assign({ type: "button" }, getHandleProps({
228
229
  style: {
@@ -231,8 +232,8 @@ exports.FacetSlider = (0, mobx_react_lite_1.observer)(function (properties) {
231
232
  background: 'transparent',
232
233
  outline: 'none',
233
234
  },
234
- })),
235
- (0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__facet-slider__handle', { 'ss__facet-slider__handle--active': active }) }, stickyHandleLabel && ((0, react_1.jsx)("label", { className: (0, classnames_1.default)('ss__facet-slider__handle__label', 'ss__facet-slider__handle__label--sticky', "ss__facet-slider__handle__label--".concat(idx), { 'ss__facet-slider__handle__label--pinleft': idx == 0 && value == ((_b = facet === null || facet === void 0 ? void 0 : facet.range) === null || _b === void 0 ? void 0 : _b.low) }, { 'ss__facet-slider__handle__label--pinright': idx == 1 && value == ((_c = facet === null || facet === void 0 ? void 0 : facet.range) === null || _c === void 0 ? void 0 : _c.high) }) }, (0, utilities_1.sprintf)(facet.formatValue, value))))));
235
+ }), { "aria-label": "".concat(facet.label, " slider button"), "aria-valuetext": "".concat(facet.label, " slider button, current value ").concat(value, ", ").concat(((_b = facet.range) === null || _b === void 0 ? void 0 : _b.low) ? "min value ".concat((_c = facet.range) === null || _c === void 0 ? void 0 : _c.low, ",") : "", " ").concat(((_d = facet.range) === null || _d === void 0 ? void 0 : _d.high) ? "max value ".concat((_e = facet.range) === null || _e === void 0 ? void 0 : _e.high) : ""), ref: function (e) { return (0, hooks_2.useA11y)(e); } }),
236
+ (0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__facet-slider__handle', { 'ss__facet-slider__handle--active': active }) }, stickyHandleLabel && ((0, react_1.jsx)("label", { className: (0, classnames_1.default)('ss__facet-slider__handle__label', 'ss__facet-slider__handle__label--sticky', "ss__facet-slider__handle__label--".concat(idx), { 'ss__facet-slider__handle__label--pinleft': idx == 0 && value == ((_f = facet === null || facet === void 0 ? void 0 : facet.range) === null || _f === void 0 ? void 0 : _f.low) }, { 'ss__facet-slider__handle__label--pinright': idx == 1 && value == ((_g = facet === null || facet === void 0 ? void 0 : facet.range) === null || _g === void 0 ? void 0 : _g.high) }) }, (0, utilities_1.sprintf)(facet.formatValue, value))))));
236
237
  }))),
237
238
  !stickyHandleLabel && ((0, react_1.jsx)("div", { className: 'ss__facet-slider__labels' }, handles.map(function (_a, idx) {
238
239
  var value = _a.value;
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Filter/Filter.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAqBjE,eAAO,MAAM,MAAM,gBAAyB,WAAW,KAAG,WAAW;;CAgFnE,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Filter/Filter.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAqBjE,eAAO,MAAM,MAAM,gBAAyB,WAAW,KAAG,WAAW;;CAiFnE,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -76,11 +76,11 @@ exports.Filter = (0, mobx_react_lite_1.observer)(function (properties) {
76
76
  styling.css = [style];
77
77
  }
78
78
  return value ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
79
- (0, react_1.jsx)("a", __assign({}, styling, { className: (0, classnames_1.default)('ss__filter', className), onClick: function (e) {
79
+ (0, react_1.jsx)("a", __assign({}, styling, { className: (0, classnames_1.default)('ss__filter', className), "aria-label": !label ? value : "remove selected ".concat(label, " filter ").concat(value), onClick: function (e) {
80
80
  (link === null || link === void 0 ? void 0 : link.onClick) && link.onClick(e);
81
81
  onClick && onClick(e);
82
82
  }, href: link === null || link === void 0 ? void 0 : link.href }),
83
- (0, react_1.jsx)(Button_1.Button, __assign({}, subProps.button),
83
+ (0, react_1.jsx)(Button_1.Button, __assign({}, subProps.button, { disableA11y: true }),
84
84
  (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon)),
85
85
  !hideFacetLabel && ((0, react_1.jsx)("span", { className: "ss__filter__label" },
86
86
  label,
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Pagination/Pagination.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAqB3E,eAAO,MAAM,UAAU,gBAAyB,eAAe,KAAG,WAAW;;CAwH3E,CAAC;AAMH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAClC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Pagination/Pagination.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAqB3E,eAAO,MAAM,UAAU,gBAAyB,eAAe,KAAG,WAAW;;CAsI3E,CAAC;AAMH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAClC"}
@@ -74,17 +74,17 @@ exports.Pagination = (0, mobx_react_lite_1.observer)(function (properties) {
74
74
  }
75
75
  return (store === null || store === void 0 ? void 0 : store.totalResults) ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
76
76
  (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__pagination', className) }),
77
- (0, react_1.jsx)(preact_1.Fragment, null,
78
- store.previous && !hidePrev && ((0, react_1.jsx)("a", __assign({}, store.previous.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--previous'), "aria-label": 'previous page' }), prevButton ? prevButton : (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, { icon: 'angle-left' })))),
77
+ (0, react_1.jsx)("nav", { role: "navigation", "aria-label": "Pagination" },
78
+ store.previous && !hidePrev && ((0, react_1.jsx)("a", __assign({}, store.previous.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--previous'), "aria-label": 'go to previous page' }), prevButton ? prevButton : (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, { icon: 'angle-left' })))),
79
79
  !pageNumbers.includes(store.first.number) && !hideFirst && ((0, react_1.jsx)(preact_1.Fragment, null,
80
- (0, react_1.jsx)("a", __assign({}, store.first.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--first'), "aria-label": 'first page' }), firstButton ? firstButton : store.first.number),
80
+ (0, react_1.jsx)("a", __assign({}, store.first.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--first'), "aria-label": 'go to first page' }), firstButton ? firstButton : store.first.number),
81
81
  !pageNumbers.includes(2) && !hideEllipsis && (0, react_1.jsx)("span", null, "\u2026"))),
82
82
  _pages &&
83
83
  _pages.map(function (page) {
84
- return page.active ? ((0, react_1.jsx)("span", { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--active') }, page.number)) : ((0, react_1.jsx)("a", __assign({}, page.url.link, { className: "ss__pagination__page", "aria-label": "page ".concat(page.number) }), page.number));
84
+ return page.active ? ((0, react_1.jsx)("span", { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--active'), "aria-label": "go to page ".concat(page.number), "aria-current": "true" }, page.number)) : ((0, react_1.jsx)("a", __assign({}, page.url.link, { className: "ss__pagination__page", "aria-label": "go to page ".concat(page.number) }), page.number));
85
85
  }),
86
86
  !pageNumbers.includes(store.last.number) && !hideLast && ((0, react_1.jsx)(preact_1.Fragment, null,
87
87
  !pageNumbers.includes(store.totalPages - 1) && !hideEllipsis && (0, react_1.jsx)("span", null, "\u2026"),
88
- (0, react_1.jsx)("a", __assign({}, store.last.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--last'), "aria-label": 'last page' }), lastButton ? lastButton : store.last.number))),
89
- store.next && !hideNext && ((0, react_1.jsx)("a", __assign({}, store.next.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--next'), "aria-label": 'next page' }), nextButton ? nextButton : (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, { icon: 'angle-right' })))))))) : ((0, react_1.jsx)(preact_1.Fragment, null));
88
+ (0, react_1.jsx)("a", __assign({}, store.last.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--last'), "aria-label": "go to last page ".concat(store.last.number) }), lastButton ? lastButton : store.last.number))),
89
+ store.next && !hideNext && ((0, react_1.jsx)("a", __assign({}, store.next.url.link, { className: (0, classnames_1.default)('ss__pagination__page', 'ss__pagination__page--next'), "aria-label": 'go to next page' }), nextButton ? nextButton : (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, { icon: 'angle-right' })))))))) : ((0, react_1.jsx)(preact_1.Fragment, null));
90
90
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Select/Select.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAmB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAwC7D,eAAO,MAAM,MAAM,gBAAyB,WAAW,KAAG,WAAW;;CAyMnE,CAAC;AAQH,oBAAY,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC;CAC5B,CAAC;AACF,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Select/Select.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAmB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyC7D,eAAO,MAAM,MAAM,gBAAyB,WAAW,KAAG,WAAW;;CAyNnE,CAAC;AAQH,oBAAY,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC;CAC5B,CAAC;AACF,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -35,6 +35,7 @@ var utilities_1 = require("../../../utilities");
35
35
  var Dropdown_1 = require("../../Atoms/Dropdown");
36
36
  var Button_1 = require("../../Atoms/Button");
37
37
  var Icon_1 = require("../../Atoms/Icon");
38
+ var useA11y_1 = require("../../../hooks/useA11y");
38
39
  var CSS = {
39
40
  select: function (_a) {
40
41
  var _b, _c;
@@ -143,6 +144,7 @@ exports.Select = (0, mobx_react_lite_1.observer)(function (properties) {
143
144
  else if (style) {
144
145
  styling.css = [style];
145
146
  }
147
+ var selectedOptions = options.filter(function (option) { return (selection === null || selection === void 0 ? void 0 : selection.value) === option.value; });
146
148
  // options can be an Array or ObservableArray - but should have length
147
149
  return typeof options == 'object' && (options === null || options === void 0 ? void 0 : options.length) ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
148
150
  (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__select', { 'ss__select--disabled': disabled }, className) }), native ? ((0, react_1.jsx)(preact_1.Fragment, null,
@@ -163,13 +165,13 @@ exports.Select = (0, mobx_react_lite_1.observer)(function (properties) {
163
165
  options.map(function (option, index) {
164
166
  var _a;
165
167
  return ((0, react_1.jsx)("option", { className: "ss__select__select__option", selected: (selection === null || selection === void 0 ? void 0 : selection.value) === option.value, value: (_a = option.value) !== null && _a !== void 0 ? _a : index }, option.label));
166
- })))) : ((0, react_1.jsx)(Dropdown_1.Dropdown, __assign({}, subProps.dropdown, { disableClickOutside: disableClickOutside, open: open, onToggle: function (e, state) { return setOpen(function (prev) { return state !== null && state !== void 0 ? state : !prev; }); }, onClick: function (e) { return setOpen(function (prev) { return !prev; }); }, button: (0, react_1.jsx)(Button_1.Button, __assign({}, subProps.button),
167
- label && !hideLabelOnSelection && ((0, react_1.jsx)("span", { className: "ss__select__label" },
168
+ })))) : ((0, react_1.jsx)(Dropdown_1.Dropdown, __assign({}, subProps.dropdown, { disableClickOutside: disableClickOutside, open: open, onToggle: function (e, state) { return setOpen(function (prev) { return state !== null && state !== void 0 ? state : !prev; }); }, onClick: function (e) { return setOpen(function (prev) { return !prev; }); }, disableA11y: true, button: (0, react_1.jsx)(Button_1.Button, __assign({}, subProps.button, { disableA11y: true }),
169
+ label && !hideLabelOnSelection && ((0, react_1.jsx)("span", { className: "ss__select__label", ref: function (e) { return (0, useA11y_1.useA11y)(e); }, "aria-label": "".concat(label, " dropdown, ").concat(options.length, " options ").concat(selectedOptions.length ? ", Currently selected option is ".concat(selectedOptions[0].label) : ''), "aria-expanded": open, role: "button" },
168
170
  label,
169
171
  separator && selection && (0, react_1.jsx)("span", { className: "ss__select__label__separator" }, separator))),
170
172
  selection && (0, react_1.jsx)("span", { className: "ss__select__selection" }, selection === null || selection === void 0 ? void 0 : selection.label),
171
173
  (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, { icon: open ? iconClose : iconOpen }))) }),
172
- (0, react_1.jsx)("ul", { className: "ss__select__select" }, options.map(function (option) { return ((0, react_1.jsx)("li", { className: (0, classnames_1.default)('ss__select__select__option', {
174
+ (0, react_1.jsx)("ul", { className: "ss__select__select" }, options.map(function (option, idx) { return ((0, react_1.jsx)("li", { ref: function (e) { return (0, useA11y_1.useA11y)(e); }, role: 'link', "aria-label": "".concat((selection === null || selection === void 0 ? void 0 : selection.value) === option.value ? 'selected option,' : '', " option ").concat(idx + 1, " of ").concat(options.length, ", ").concat(option.label), className: (0, classnames_1.default)('ss__select__select__option', {
173
175
  'ss__select__select__option--selected': (selection === null || selection === void 0 ? void 0 : selection.value) === option.value,
174
176
  }), onClick: function (e) { return !disabled && makeSelection(e, option); } },
175
177
  (0, react_1.jsx)("span", null, option.label))); }))))))) : ((0, react_1.jsx)(preact_1.Fragment, null));
@@ -1 +1 @@
1
- {"version":3,"file":"Slideout.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Slideout/Slideout.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAe,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAQxD,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAyB5D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA0F/D;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,oBAAY,kBAAkB,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"Slideout.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Slideout/Slideout.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAe,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAQxD,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA0B5D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAoG/D;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,oBAAY,kBAAkB,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC"}
@@ -66,7 +66,16 @@ function Slideout(properties) {
66
66
  };
67
67
  // state
68
68
  var _e = (0, hooks_1.useState)(Boolean(active)), isActive = _e[0], setActive = _e[1];
69
+ var _f = (0, hooks_1.useState)(Boolean(active)), renderContent = _f[0], setRenderContent = _f[1];
69
70
  var toggleActive = function () {
71
+ if (isActive) {
72
+ setTimeout(function () {
73
+ setRenderContent(!renderContent);
74
+ }, 250);
75
+ }
76
+ else {
77
+ setRenderContent(!isActive);
78
+ }
70
79
  setActive(!isActive);
71
80
  document.body.style.overflow = isActive ? 'hidden' : '';
72
81
  };
@@ -84,7 +93,7 @@ function Slideout(properties) {
84
93
  return isVisible ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
85
94
  buttonContent &&
86
95
  (noButtonWrapper ? ((0, utilities_1.cloneWithProps)(buttonContent, { toggleActive: toggleActive, active: isActive })) : ((0, react_1.jsx)("div", { className: "ss__slideout__button", onClick: function () { return toggleActive(); } }, (0, utilities_1.cloneWithProps)(buttonContent, { active: isActive })))),
87
- (0, react_1.jsx)("div", __assign({ className: (0, classnames_1.default)('ss__slideout', className, { 'ss__slideout--active': isActive }) }, styling), (0, utilities_1.cloneWithProps)(children, { toggleActive: toggleActive, active: isActive })),
96
+ (0, react_1.jsx)("div", __assign({ className: (0, classnames_1.default)('ss__slideout', className, { 'ss__slideout--active': isActive }) }, styling), renderContent && (0, utilities_1.cloneWithProps)(children, { toggleActive: toggleActive, active: isActive })),
88
97
  (0, react_1.jsx)(Overlay_1.Overlay, __assign({}, subProps.overlay, { active: isActive, onClick: toggleActive })))) : ((0, react_1.jsx)(preact_1.Fragment, null));
89
98
  }
90
99
  exports.Slideout = Slideout;
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAS5E,OAAO,EAAE,cAAc,EAAgB,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAqJ5F,eAAO,MAAM,YAAY,gBAAyB,iBAAiB,KAAG,WAAW;;CAqd/E,CAAC;AAoCH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CACjE"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAS5E,OAAO,EAAE,cAAc,EAAgB,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAqJ5F,eAAO,MAAM,YAAY,gBAAyB,iBAAiB,KAAG,WAAW;;CAge/E,CAAC;AAoCH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CACjE"}
@@ -184,10 +184,13 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
184
184
  var delayTimeout;
185
185
  var delayTime = 333;
186
186
  var valueProps = {
187
- onMouseEnter: function (e) {
187
+ onMouseEnter: function (e, activeTerm) {
188
188
  clearTimeout(delayTimeout);
189
189
  delayTimeout = window.setTimeout(function () {
190
190
  e.target.focus();
191
+ if (activeTerm && activeTerm.preview) {
192
+ activeTerm.preview();
193
+ }
191
194
  }, delayTime);
192
195
  },
193
196
  onMouseLeave: function () {
@@ -277,7 +280,7 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
277
280
  // component theme overrides
278
281
  theme: props.theme }),
279
282
  };
280
- var _o = controller.store, search = _o.search, terms = _o.terms, trending = _o.trending, results = _o.results, merchandising = _o.merchandising, pagination = _o.pagination, loaded = _o.loaded, filters = _o.filters, facets = _o.facets, state = _o.state;
283
+ var _o = controller.store, search = _o.search, terms = _o.terms, trending = _o.trending, results = _o.results, merchandising = _o.merchandising, pagination = _o.pagination, loaded = _o.loaded, filters = _o.filters, facets = _o.facets, state = _o.state, loading = _o.loading;
281
284
  var history = controller.store.history || [];
282
285
  // you can pass in a selector or the actual input element,
283
286
  // if its the selector, we need to bind it to the controller here.
@@ -290,28 +293,24 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
290
293
  }
291
294
  var visible = Boolean(input === state.focusedInput) &&
292
295
  (terms.length > 0 || (trending === null || trending === void 0 ? void 0 : trending.length) > 0 || (history === null || history === void 0 ? void 0 : history.length) > 0 || (state.input && controller.store.loaded));
296
+ var trendingActive = trending === null || trending === void 0 ? void 0 : trending.filter(function (term) { return term.active; }).pop();
297
+ var historyActive = history === null || history === void 0 ? void 0 : history.filter(function (term) { return term.active; }).pop();
293
298
  var showTrending = false;
294
- if ((trending === null || trending === void 0 ? void 0 : trending.length) && (retainTrending || (!results.length && !state.input))) {
295
- showTrending = true;
296
- }
297
- else if ((trending === null || trending === void 0 ? void 0 : trending.length) && !terms.length) {
298
- // has results and trending -> show trending terms while term load
299
+ if ((trending === null || trending === void 0 ? void 0 : trending.length) && ((retainTrending && controller.store.loaded) || (!results.length && !state.input))) {
299
300
  showTrending = true;
300
301
  }
301
302
  var showHistory = false;
302
- if ((history === null || history === void 0 ? void 0 : history.length) && (retainHistory || (!results.length && !state.input))) {
303
+ if ((history === null || history === void 0 ? void 0 : history.length) && ((retainHistory && controller.store.loaded) || (!results.length && !state.input))) {
303
304
  showHistory = true;
304
305
  }
305
- else if ((history === null || history === void 0 ? void 0 : history.length) && !terms.length) {
306
- // has results and trending -> show trending terms while term load
306
+ if (!state.input && (historyActive || trendingActive)) {
307
307
  showHistory = true;
308
+ showTrending = true;
308
309
  }
309
310
  var facetsToShow = facets.length ? facets.filter(function (facet) { return facet.display !== types_1.FacetDisplay.SLIDER; }) : [];
310
- var onlyTerms = ((trending === null || trending === void 0 ? void 0 : trending.length) || history.length) && !loaded;
311
+ var onlyTerms = ((trending === null || trending === void 0 ? void 0 : trending.length) || history.length) && !loaded && !loading;
311
312
  // results logic
312
313
  var showResults = Boolean(results.length > 0 || Object.keys(merchandising.content).length > 0 || ((_h = search === null || search === void 0 ? void 0 : search.query) === null || _h === void 0 ? void 0 : _h.string));
313
- var trendingActive = trending === null || trending === void 0 ? void 0 : trending.filter(function (term) { return term.active; }).pop();
314
- var historyActive = history === null || history === void 0 ? void 0 : history.filter(function (term) { return term.active; }).pop();
315
314
  if ((hideTrending && trendingActive) || (hideHistory && historyActive)) {
316
315
  showResults = false;
317
316
  }
@@ -353,24 +352,24 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
353
352
  terms.length > 0 ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__terms__suggestions" },
354
353
  termsTitle ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__title ss__autocomplete__title--terms ss__autocomplete__title--suggestions" },
355
354
  (0, react_1.jsx)("h5", null, termsTitle))) : null,
356
- (0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options" }, terms.map(function (term) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
355
+ (0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options", role: 'list', "aria-label": termsTitle }, terms.map(function (term, idx) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
357
356
  'ss__autocomplete__terms__option--active': term.active,
358
357
  }) },
359
- (0, react_1.jsx)("a", __assign({ onClick: function (e) { return termClickEvent(e); }, href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input || '')))); })))) : null,
358
+ (0, react_1.jsx)("a", __assign({ onClick: function (e) { return termClickEvent(e); }, href: term.url.href }, valueProps, { onMouseEnter: function (e) { return valueProps.onMouseEnter(e, term); }, role: "link", "aria-label": "item ".concat(idx + 1, " of ").concat(terms.length, ", ").concat(term.value) }), emIfy(term.value, state.input || '')))); })))) : null,
360
359
  showTrending && !hideTrending ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__terms__trending" },
361
360
  trendingTitle ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__title ss__autocomplete__title--trending" },
362
361
  (0, react_1.jsx)("h5", null, trendingTitle))) : null,
363
- (0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options" }, trending.map(function (term) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
362
+ (0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options", role: 'list', "aria-label": trendingTitle }, trending.map(function (term, idx) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
364
363
  'ss__autocomplete__terms__option--active': term.active,
365
364
  }) },
366
- (0, react_1.jsx)("a", __assign({ onClick: function (e) { return termClickEvent(e); }, href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input || '')))); })))) : null,
365
+ (0, react_1.jsx)("a", __assign({ onClick: function (e) { return termClickEvent(e); }, href: term.url.href }, valueProps, { onMouseEnter: function (e) { return valueProps.onMouseEnter(e, term); }, role: "link", "aria-label": "item ".concat(idx + 1, " of ").concat(trending.length, ", ").concat(term.value) }), emIfy(term.value, state.input || '')))); })))) : null,
367
366
  showHistory && !hideHistory ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__terms__history" },
368
367
  historyTitle ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__title ss__autocomplete__title--history" },
369
368
  (0, react_1.jsx)("h5", null, historyTitle))) : null,
370
- (0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options" }, history.map(function (term) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
369
+ (0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options", role: 'list', "aria-label": historyTitle }, history.map(function (term, idx) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
371
370
  'ss__autocomplete__terms__option--active': term.active,
372
371
  }) },
373
- (0, react_1.jsx)("a", __assign({ onClick: function (e) { return termClickEvent(e); }, href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input || '')))); })))) : null)))),
372
+ (0, react_1.jsx)("a", __assign({ onClick: function (e) { return termClickEvent(e); }, href: term.url.href }, valueProps, { onMouseEnter: function () { return term.preview(); }, role: "link", "aria-label": "item ".concat(idx + 1, " of ").concat(history.length, ", ").concat(term.value) }), emIfy(term.value, state.input || '')))); })))) : null)))),
374
373
  !hideFacets &&
375
374
  (facetsSlot ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__facets" }, (0, utilities_1.cloneWithProps)(facetsSlot, { facets: facetsToShow, merchandising: merchandising, facetsTitle: facetsTitle, hideBanners: hideBanners, controller: controller, valueProps: valueProps }))) : (facetsToShow.length > 0 && ((0, react_1.jsx)(preact_1.Fragment, null,
376
375
  facetsTitle && vertical ? ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__title', 'ss__autocomplete__title--facets') },
@@ -1 +1 @@
1
- {"version":3,"file":"Facet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Facet/Facet.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAmB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAA4B,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAoD,MAAM,+BAA+B,CAAC;AAuC9H,eAAO,MAAM,KAAK,gBAAyB,UAAU,KAAG,WAAW;;CAwQjE,CAAC;AAcH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACrD,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;CAC/B;AAED,UAAU,kBAAmB,SAAQ,cAAc;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,aAAK,UAAU,GAAG;IACjB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"Facet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Facet/Facet.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAmB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAA4B,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAoD,MAAM,+BAA+B,CAAC;AAwC9H,eAAO,MAAM,KAAK,gBAAyB,UAAU,KAAG,WAAW;;CAyRjE,CAAC;AAcH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACrD,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;CAC/B;AAED,UAAU,kBAAmB,SAAQ,cAAc;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,aAAK,UAAU,GAAG;IACjB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;CAC/B,CAAC"}
@@ -31,6 +31,7 @@ var Dropdown_1 = require("../../Atoms/Dropdown");
31
31
  var types_1 = require("../../../types");
32
32
  var utilities_1 = require("../../../utilities");
33
33
  var providers_1 = require("../../../providers");
34
+ var useA11y_1 = require("../../../hooks/useA11y");
34
35
  var CSS = {
35
36
  facet: function (_a) {
36
37
  var _b;
@@ -68,7 +69,7 @@ var CSS = {
68
69
  },
69
70
  };
70
71
  exports.Facet = (0, mobx_react_lite_1.observer)(function (properties) {
71
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
72
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
72
73
  var globalTheme = (0, providers_1.useTheme)();
73
74
  var theme = __assign(__assign({}, globalTheme), properties.theme);
74
75
  var props = __assign(__assign(__assign({
@@ -181,7 +182,7 @@ exports.Facet = (0, mobx_react_lite_1.observer)(function (properties) {
181
182
  };
182
183
  return (facet && ((0, react_1.jsx)(providers_1.CacheProvider, null,
183
184
  (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__facet', "ss__facet--".concat(facet.display), "ss__facet--".concat(facet.field), className) }),
184
- (0, react_1.jsx)(Dropdown_1.Dropdown, __assign({}, subProps.dropdown, { open: disableCollapse || !(facet === null || facet === void 0 ? void 0 : facet.collapsed), onClick: function (e) { return !disableCollapse && facet.toggleCollapse && (facet === null || facet === void 0 ? void 0 : facet.toggleCollapse()); }, button: (0, react_1.jsx)("div", { className: "ss__facet__header" }, facet === null || facet === void 0 ? void 0 :
185
+ (0, react_1.jsx)(Dropdown_1.Dropdown, __assign({}, subProps.dropdown, { open: disableCollapse || !(facet === null || facet === void 0 ? void 0 : facet.collapsed), onClick: function (e) { return !disableCollapse && facet.toggleCollapse && (facet === null || facet === void 0 ? void 0 : facet.toggleCollapse()); }, disableA11y: true, button: (0, react_1.jsx)("div", { className: "ss__facet__header", ref: function (e) { return (0, useA11y_1.useA11y)(e, disableCollapse ? -1 : 0); }, role: "heading", "aria-level": 3, "aria-label": "currently ".concat((facet === null || facet === void 0 ? void 0 : facet.collapsed) ? 'collapsed' : 'open', " ").concat(facet.label, " facet dropdown ").concat(((_r = facet.values) === null || _r === void 0 ? void 0 : _r.length) ? ((_s = facet.values) === null || _s === void 0 ? void 0 : _s.length) + ' options' : '') }, facet === null || facet === void 0 ? void 0 :
185
186
  facet.label,
186
187
  !disableCollapse && (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, { icon: (facet === null || facet === void 0 ? void 0 : facet.collapsed) ? iconExpand : iconCollapse }))) }),
187
188
  searchable && searchableFacet.allowableTypes.includes(facet.display) && ((0, react_1.jsx)(SearchInput_1.SearchInput, __assign({}, subProps.searchInput, { onChange: searchableFacet.searchFilter, placeholder: "Search ".concat(facet.label) }))),
@@ -195,17 +196,17 @@ exports.Facet = (0, mobx_react_lite_1.observer)(function (properties) {
195
196
  case types_1.FacetDisplay.SLIDER:
196
197
  return (0, react_1.jsx)(FacetSlider_1.FacetSlider, __assign({}, subProps.facetSlider, { facet: facet }));
197
198
  case types_1.FacetDisplay.GRID:
198
- return (0, react_1.jsx)(FacetGridOptions_1.FacetGridOptions, __assign({}, subProps.facetGridOptions, { values: limitedValues }));
199
+ return (0, react_1.jsx)(FacetGridOptions_1.FacetGridOptions, __assign({}, subProps.facetGridOptions, { values: limitedValues, facet: facet }));
199
200
  case types_1.FacetDisplay.PALETTE:
200
- return (0, react_1.jsx)(FacetPaletteOptions_1.FacetPaletteOptions, __assign({}, subProps.facetPaletteOptions, { values: limitedValues }));
201
+ return ((0, react_1.jsx)(FacetPaletteOptions_1.FacetPaletteOptions, __assign({}, subProps.facetPaletteOptions, { values: limitedValues, facet: facet })));
201
202
  case types_1.FacetDisplay.HIERARCHY:
202
- return (0, react_1.jsx)(FacetHierarchyOptions_1.FacetHierarchyOptions, __assign({}, subProps.facetHierarchyOptions, { values: limitedValues }));
203
+ return ((0, react_1.jsx)(FacetHierarchyOptions_1.FacetHierarchyOptions, __assign({}, subProps.facetHierarchyOptions, { values: limitedValues, facet: facet })));
203
204
  default:
204
- return (0, react_1.jsx)(FacetListOptions_1.FacetListOptions, __assign({}, subProps.facetListOptions, { values: limitedValues }));
205
+ return (0, react_1.jsx)(FacetListOptions_1.FacetListOptions, __assign({}, subProps.facetListOptions, { values: limitedValues, facet: facet }));
205
206
  }
206
207
  }
207
208
  })()),
208
- !disableOverflow && ((_r = facet === null || facet === void 0 ? void 0 : facet.overflow) === null || _r === void 0 ? void 0 : _r.enabled) && ((0, react_1.jsx)("div", { className: "ss__facet__show-more-less", onClick: function () { var _a; return (_a = facet.overflow) === null || _a === void 0 ? void 0 : _a.toggle(); } }, overflowSlot ? ((0, utilities_1.cloneWithProps)(overflowSlot, { facet: facet })) : ((0, react_1.jsx)(preact_1.Fragment, null,
209
- (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.showMoreLessIcon, { icon: (((_s = facet.overflow) === null || _s === void 0 ? void 0 : _s.remaining) || 0) > 0 ? iconOverflowMore : iconOverflowLess })),
210
- (0, react_1.jsx)("span", null, (((_t = facet === null || facet === void 0 ? void 0 : facet.overflow) === null || _t === void 0 ? void 0 : _t.remaining) || 0) > 0 ? showMoreText : showLessText))))))))));
209
+ !disableOverflow && ((_t = facet === null || facet === void 0 ? void 0 : facet.overflow) === null || _t === void 0 ? void 0 : _t.enabled) && ((0, react_1.jsx)("div", { className: "ss__facet__show-more-less", onClick: function () { var _a; return (_a = facet.overflow) === null || _a === void 0 ? void 0 : _a.toggle(); }, ref: function (e) { return (0, useA11y_1.useA11y)(e); } }, overflowSlot ? ((0, utilities_1.cloneWithProps)(overflowSlot, { facet: facet })) : ((0, react_1.jsx)(preact_1.Fragment, null,
210
+ (0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.showMoreLessIcon, { icon: (((_u = facet.overflow) === null || _u === void 0 ? void 0 : _u.remaining) || 0) > 0 ? iconOverflowMore : iconOverflowLess })),
211
+ (0, react_1.jsx)("span", null, (((_v = facet === null || facet === void 0 ? void 0 : facet.overflow) === null || _v === void 0 ? void 0 : _v.remaining) || 0) > 0 ? showMoreText : showLessText))))))))));
211
212
  });
@@ -3,4 +3,5 @@ export * from './useConstructor';
3
3
  export * from './useMediaQuery';
4
4
  export * from './useIntersection';
5
5
  export * from './useDisplaySettings';
6
+ export * from './useA11y';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC"}
@@ -19,3 +19,4 @@ __exportStar(require("./useConstructor"), exports);
19
19
  __exportStar(require("./useMediaQuery"), exports);
20
20
  __exportStar(require("./useIntersection"), exports);
21
21
  __exportStar(require("./useDisplaySettings"), exports);
22
+ __exportStar(require("./useA11y"), exports);
@@ -0,0 +1,2 @@
1
+ export declare function useA11y(elem: any, tabIndex?: number): void;
2
+ //# sourceMappingURL=useA11y.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useA11y.d.ts","sourceRoot":"","sources":["../../../src/hooks/useA11y.tsx"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,QAuBnD"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useA11y = void 0;
4
+ function useA11y(elem, tabIndex) {
5
+ var _a;
6
+ var styleId = 'ssA11yFocusStyle';
7
+ if (!document.querySelector("#".concat(styleId))) {
8
+ var style = document.createElement('style');
9
+ style.type = 'text/css';
10
+ style.id = styleId;
11
+ style.innerHTML = "[ssA11y]:focus-visible { outline: -webkit-focus-ring-color auto 1px !important; }";
12
+ document.getElementsByTagName('head')[0].appendChild(style);
13
+ }
14
+ if (elem && !((_a = elem.attributes) === null || _a === void 0 ? void 0 : _a.ssA11y)) {
15
+ //A11y attribute is for debouncing on rerenders
16
+ elem.setAttribute('ssA11y', true);
17
+ //tab index 0 is default and used for actionable elements.
18
+ elem.setAttribute('tabIndex', "".concat(tabIndex || 0));
19
+ elem.addEventListener('keydown', function (event) {
20
+ if (event.code === 'Space' || event.code === 'Enter') {
21
+ elem.click();
22
+ }
23
+ });
24
+ }
25
+ }
26
+ exports.useA11y = useA11y;
@@ -14,5 +14,6 @@ export interface ButtonProps extends ComponentProps {
14
14
  disabled?: boolean;
15
15
  native?: boolean;
16
16
  onClick?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
17
+ disableA11y?: boolean;
17
18
  }
18
19
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Button/Button.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAe,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAMxD,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA6B5D,eAAO,MAAM,MAAM,gBAAyB,WAAW,KAAG,WAAW;;CAmDnE,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CACjE"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Button/Button.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAe,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAMxD,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA8B5D,eAAO,MAAM,MAAM,gBAAyB,WAAW,KAAG,WAAW;;CAwDnE,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB"}