@searchspring/snap-preact-components 0.41.2 → 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
@@ -4,6 +4,7 @@ import { jsx, css } from '@emotion/react';
4
4
  import classnames from 'classnames';
5
5
  import { observer } from 'mobx-react-lite';
6
6
  import { useTheme, CacheProvider } from '../../../providers';
7
+ import { useA11y } from '../../../hooks/useA11y';
7
8
  const CSS = {
8
9
  button: ({ color, backgroundColor, borderColor, theme }) => css({
9
10
  display: 'inline-flex',
@@ -33,13 +34,14 @@ export const Button = observer((properties) => {
33
34
  const theme = { ...globalTheme, ...properties.theme };
34
35
  const props = {
35
36
  // default props
37
+ disableA11y: false,
36
38
  // global theme
37
39
  ...globalTheme?.components?.button,
38
40
  // props
39
41
  ...properties,
40
42
  ...properties.theme?.components?.button,
41
43
  };
42
- const { backgroundColor, borderColor, color, content, children, disabled, native, onClick, disableStyles, className, style } = props;
44
+ const { backgroundColor, borderColor, color, content, children, disabled, native, onClick, disableA11y, disableStyles, className, style } = props;
43
45
  const elementProps = {
44
46
  css: disableStyles
45
47
  ? [style]
@@ -58,9 +60,12 @@ export const Button = observer((properties) => {
58
60
  disabled,
59
61
  onClick: (e) => !disabled && onClick && onClick(e),
60
62
  };
63
+ let a11yProps = {
64
+ ref: (e) => useA11y(e),
65
+ };
61
66
  return content || children ? (jsx(CacheProvider, null, native ? (jsx("button", { ...elementProps },
62
67
  content,
63
- children)) : (jsx("div", { ...elementProps },
68
+ children)) : (jsx("div", { ...(!disableA11y ? a11yProps : {}), ...elementProps, role: 'button', "aria-disabled": disabled },
64
69
  content,
65
70
  children)))) : (jsx(Fragment, null));
66
71
  });
@@ -161,6 +161,20 @@ declare const _default: {
161
161
  type: string;
162
162
  };
163
163
  };
164
+ disableA11y: {
165
+ description: string;
166
+ table: {
167
+ type: {
168
+ summary: string;
169
+ };
170
+ defaultValue: {
171
+ summary: boolean;
172
+ };
173
+ };
174
+ control: {
175
+ type: string;
176
+ };
177
+ };
164
178
  };
165
179
  };
166
180
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Button/Button.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI/C,wBA4FE;AAEF,eAAO,MAAM,OAAO;WAAU,WAAW;;;;CAAyB,CAAC;AAKnE,eAAO,MAAM,QAAQ;WAAU,WAAW;;;;;CAAyB,CAAC;AAMpE,eAAO,MAAM,MAAM;WAAU,WAAW;;;;;CAAyB,CAAC"}
1
+ {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Button/Button.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI/C,wBAsGE;AAEF,eAAO,MAAM,OAAO;WAAU,WAAW;;;;CAAyB,CAAC;AAKnE,eAAO,MAAM,QAAQ;WAAU,WAAW;;;;;CAAyB,CAAC;AAMpE,eAAO,MAAM,MAAM;WAAU,WAAW;;;;;CAAyB,CAAC"}
@@ -90,6 +90,16 @@ export default {
90
90
  },
91
91
  control: { type: 'boolean' },
92
92
  },
93
+ disableA11y: {
94
+ description: 'boolean to disable autoset ally properties',
95
+ table: {
96
+ type: {
97
+ summary: 'boolean',
98
+ },
99
+ defaultValue: { summary: false },
100
+ },
101
+ control: { type: 'boolean' },
102
+ },
93
103
  ...componentArgs,
94
104
  },
95
105
  };
@@ -16,5 +16,6 @@ export interface DropdownProps extends ComponentProps {
16
16
  onToggle?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>, showContent: boolean) => void;
17
17
  startOpen?: boolean;
18
18
  disableClickOutside?: boolean;
19
+ disableA11y?: boolean;
19
20
  }
20
21
  //# sourceMappingURL=Dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Dropdown/Dropdown.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAgB,MAAM,QAAQ,CAAC;AAOzD,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA8B5D,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA4FvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Dropdown/Dropdown.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAgB,MAAM,QAAQ,CAAC;AAOzD,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA+B5D,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CAiGvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -5,6 +5,7 @@ import { observer } from 'mobx-react-lite';
5
5
  import { useTheme, CacheProvider } from '../../../providers';
6
6
  import { useClickOutside } from '../../../hooks';
7
7
  import { cloneWithProps } from '../../../utilities';
8
+ import { useA11y } from '../../../hooks/useA11y';
8
9
  const CSS = {
9
10
  dropdown: ({ disableOverlay }) => css({
10
11
  position: 'relative',
@@ -33,13 +34,14 @@ export const Dropdown = observer((properties) => {
33
34
  const props = {
34
35
  // default props
35
36
  startOpen: false,
37
+ disableA11y: false,
36
38
  // global theme
37
39
  ...globalTheme?.components?.dropdown,
38
40
  // props
39
41
  ...properties,
40
42
  ...properties.theme?.components?.dropdown,
41
43
  };
42
- const { button, content, children, disabled, open, disableOverlay, onClick, onToggle, startOpen, disableClickOutside, disableStyles, className, style, } = props;
44
+ const { button, content, children, disabled, open, disableOverlay, onClick, onToggle, startOpen, disableClickOutside, disableA11y, disableStyles, className, style, } = props;
43
45
  let showContent, setShowContent;
44
46
  const stateful = open === undefined;
45
47
  if (stateful) {
@@ -77,7 +79,7 @@ export const Dropdown = observer((properties) => {
77
79
  }
78
80
  return (jsx(CacheProvider, null,
79
81
  jsx("div", { ...styling, className: classnames('ss__dropdown', { 'ss__dropdown--open': showContent }, className), ref: innerRef },
80
- jsx("div", { className: "ss__dropdown__button", onClick: (e) => {
82
+ jsx("div", { className: "ss__dropdown__button", ref: (e) => (!disableA11y ? useA11y(e) : null), "aria-expanded": showContent, role: "button", onClick: (e) => {
81
83
  if (!disabled) {
82
84
  toggleShowContent(e);
83
85
  onClick && onClick(e);
@@ -185,6 +185,20 @@ declare const _default: {
185
185
  };
186
186
  action: string;
187
187
  };
188
+ disableA11y: {
189
+ description: string;
190
+ table: {
191
+ type: {
192
+ summary: string;
193
+ };
194
+ defaultValue: {
195
+ summary: boolean;
196
+ };
197
+ };
198
+ control: {
199
+ type: string;
200
+ };
201
+ };
188
202
  };
189
203
  };
190
204
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Dropdown/Dropdown.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKrD,wBAgHE;AAEF,eAAO,MAAM,OAAO;WAAU,aAAa;;;;;CAA2B,CAAC;AAMvE,eAAO,MAAM,aAAa;WAAU,aAAa;;;;;;CAA2B,CAAC;AAO7E,eAAO,MAAM,UAAU;WAAU,aAAa;;;;;CAA2B,CAAC;AAM1E,eAAO,MAAM,WAAW;WAAU,aAAa;;;;;CAA6D,CAAC;AAM7G,eAAO,MAAM,cAAc;WAAU,aAAa;;;;;CAA6D,CAAC"}
1
+ {"version":3,"file":"Dropdown.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Dropdown/Dropdown.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKrD,wBA0HE;AAEF,eAAO,MAAM,OAAO;WAAU,aAAa;;;;;CAA2B,CAAC;AAMvE,eAAO,MAAM,aAAa;WAAU,aAAa;;;;;;CAA2B,CAAC;AAO7E,eAAO,MAAM,UAAU;WAAU,aAAa;;;;;CAA2B,CAAC;AAM1E,eAAO,MAAM,WAAW;WAAU,aAAa;;;;;CAA6D,CAAC;AAM7G,eAAO,MAAM,cAAc;WAAU,aAAa;;;;;CAA6D,CAAC"}
@@ -111,6 +111,16 @@ export default {
111
111
  },
112
112
  action: 'onToggle',
113
113
  },
114
+ disableA11y: {
115
+ description: 'boolean to disable autoset ally properties',
116
+ table: {
117
+ type: {
118
+ summary: 'boolean',
119
+ },
120
+ defaultValue: { summary: false },
121
+ },
122
+ control: { type: 'boolean' },
123
+ },
114
124
  ...componentArgs,
115
125
  },
116
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Carousel/Carousel.tsx"],"names":[],"mappings":";AAQA,OAAO,UAAsC,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AA8H9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA+JvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC;IAClF,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC3E,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC3E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Carousel/Carousel.tsx"],"names":[],"mappings":";AAQA,OAAO,UAA4C,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAmI9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA+JvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC;IAClF,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC3E,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC3E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACxB"}
@@ -5,7 +5,7 @@ import { jsx, css } from '@emotion/react';
5
5
  import classnames from 'classnames';
6
6
  import { observer } from 'mobx-react-lite';
7
7
  import deepmerge from 'deepmerge';
8
- import SwiperCore, { Pagination, Navigation } from 'swiper/core';
8
+ import SwiperCore, { Pagination, Navigation, A11y } from 'swiper/core';
9
9
  import { Icon } from '../../Atoms/Icon/Icon';
10
10
  import { Swiper, SwiperSlide } from 'swiper/react';
11
11
  import { defined } from '../../../utilities';
@@ -19,6 +19,10 @@ const CSS = {
19
19
  margin: 0,
20
20
  padding: 0,
21
21
  overflow: 'hidden',
22
+ '.swiper-notification': {
23
+ position: 'absolute',
24
+ left: '100000000000000px',
25
+ },
22
26
  '&.ss__carousel-vertical': {
23
27
  flexDirection: 'column',
24
28
  '.swiper-slide': {
@@ -208,7 +212,7 @@ export const Carousel = observer((properties) => {
208
212
  theme: props.theme,
209
213
  },
210
214
  };
211
- const swiperModulesUnfiltered = modules ? [Navigation, Pagination].concat(modules) : [Navigation, Pagination];
215
+ const swiperModulesUnfiltered = modules ? [Navigation, Pagination, A11y].concat(modules) : [Navigation, Pagination, A11y];
212
216
  //remove any duplicates, in case user passes in Navigation or Pagination
213
217
  const swiperModules = swiperModulesUnfiltered.filter((module, pos) => swiperModulesUnfiltered.indexOf(module) === pos);
214
218
  SwiperCore.use(swiperModules);
@@ -13,5 +13,6 @@ export interface CheckboxProps extends ComponentProps {
13
13
  size?: string;
14
14
  startChecked?: boolean;
15
15
  native?: boolean;
16
+ disableA11y?: boolean;
16
17
  }
17
18
  //# sourceMappingURL=Checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA0B5D,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CAuFvE,CAAC;AAKH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,eAAe,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AA2B5D,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA+FvE,CAAC;AAKH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,eAAe,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -5,6 +5,7 @@ import { observer } from 'mobx-react-lite';
5
5
  import { defined } from '../../../utilities';
6
6
  import { useTheme, CacheProvider } from '../../../providers';
7
7
  import { Icon } from '../../Atoms/Icon';
8
+ import { useA11y } from '../../../hooks/useA11y';
8
9
  const CSS = {
9
10
  checkbox: ({ size, color, theme }) => css({
10
11
  display: 'inline-flex',
@@ -31,13 +32,14 @@ export const Checkbox = observer((properties) => {
31
32
  // default props
32
33
  size: '12px',
33
34
  startChecked: false,
35
+ disableA11y: false,
34
36
  // global theme
35
37
  ...globalTheme?.components?.checkbox,
36
38
  // props
37
39
  ...properties,
38
40
  ...properties.theme?.components?.checkbox,
39
41
  };
40
- const { checked, color, disabled, icon, iconColor, onClick, size, startChecked, native, disableStyles, className, style } = props;
42
+ const { checked, color, disabled, icon, iconColor, onClick, size, startChecked, native, disableA11y, disableStyles, className, style } = props;
41
43
  const subProps = {
42
44
  icon: {
43
45
  // default props
@@ -87,5 +89,5 @@ export const Checkbox = observer((properties) => {
87
89
  else if (style) {
88
90
  styling.css = [style];
89
91
  }
90
- return (jsx(CacheProvider, null, native ? (jsx("input", { ...styling, className: classnames('ss__checkbox', { 'ss__checkbox--disabled': disabled }, className), type: "checkbox", onClick: (e) => clickFunc(e), disabled: disabled, checked: checkedState })) : (jsx("span", { ...styling, className: classnames('ss__checkbox', { 'ss__checkbox--disabled': disabled }, className), onClick: (e) => clickFunc(e) }, checkedState ? jsx(Icon, { ...subProps.icon }) : jsx("span", { className: "ss__checkbox__empty" })))));
92
+ return (jsx(CacheProvider, null, native ? (jsx("input", { ...styling, className: classnames('ss__checkbox', { 'ss__checkbox--disabled': disabled }, className), type: "checkbox", onClick: (e) => clickFunc(e), disabled: disabled, checked: checkedState })) : (jsx("span", { ...styling, className: classnames('ss__checkbox', { 'ss__checkbox--disabled': disabled }, className), onClick: (e) => clickFunc(e), ref: (e) => (!disableA11y ? useA11y(e) : null), "aria-label": `${disabled ? 'disabled' : ''} ${checkedState ? 'checked' : 'unchecked'} checkbox`, role: "checkbox" }, checkedState ? jsx(Icon, { ...subProps.icon }) : jsx("span", { className: "ss__checkbox__empty" })))));
91
93
  });
@@ -187,6 +187,20 @@ declare const _default: {
187
187
  };
188
188
  action: string;
189
189
  };
190
+ disableA11y: {
191
+ description: string;
192
+ table: {
193
+ type: {
194
+ summary: string;
195
+ };
196
+ defaultValue: {
197
+ summary: boolean;
198
+ };
199
+ };
200
+ control: {
201
+ type: string;
202
+ };
203
+ };
190
204
  };
191
205
  };
192
206
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKrD,wBA8GE;AAEF,eAAO,MAAM,OAAO,SAAU,aAAa,kBAA2B,CAAC;AAEvE,eAAO,MAAM,QAAQ;WAAU,aAAa;;;;;CAA2B,CAAC;AAMxE,eAAO,MAAM,MAAM;WAAU,aAAa;;;;CAA2B,CAAC"}
1
+ {"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKrD,wBAwHE;AAEF,eAAO,MAAM,OAAO,SAAU,aAAa,kBAA2B,CAAC;AAEvE,eAAO,MAAM,QAAQ;WAAU,aAAa;;;;;CAA2B,CAAC;AAMxE,eAAO,MAAM,MAAM;WAAU,aAAa;;;;CAA2B,CAAC"}
@@ -109,6 +109,16 @@ export default {
109
109
  },
110
110
  action: 'onClick',
111
111
  },
112
+ disableA11y: {
113
+ description: 'boolean to disable autoset ally properties',
114
+ table: {
115
+ type: {
116
+ summary: 'boolean',
117
+ },
118
+ defaultValue: { summary: false },
119
+ },
120
+ control: { type: 'boolean' },
121
+ },
112
122
  ...componentArgs,
113
123
  },
114
124
  };
@@ -1,14 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { ComponentProps } from '../../../types';
3
- import { FacetValue } from '@searchspring/snap-store-mobx';
3
+ import type { FacetValue, ValueFacet } from '@searchspring/snap-store-mobx';
4
4
  export declare const FacetGridOptions: ((properties: FacetGridOptionsProps) => JSX.Element) & {
5
5
  displayName: string;
6
6
  };
7
7
  export interface FacetGridOptionsProps extends ComponentProps {
8
- values: FacetValue[];
8
+ values?: FacetValue[];
9
9
  columns?: number;
10
10
  gapSize?: string;
11
11
  onClick?: (e: React.MouseEvent) => void;
12
+ facet?: ValueFacet;
12
13
  previewOnFocus?: boolean;
13
14
  valueProps?: any;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FacetGridOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetGridOptions/FacetGridOptions.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAiE3D,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB,KAAG,WAAW;;CAoDvF,CAAC;AAEH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,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":"FacetGridOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetGridOptions/FacetGridOptions.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAiE5E,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB,KAAG,WAAW;;CA6DvF,CAAC;AAEH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB"}
@@ -74,7 +74,7 @@ export const FacetGridOptions = observer((properties) => {
74
74
  ...properties,
75
75
  ...properties.theme?.components?.facetGridOptions,
76
76
  };
77
- const { values, columns, gapSize, onClick, previewOnFocus, valueProps, disableStyles, className, style } = props;
77
+ const { values, columns, gapSize, onClick, previewOnFocus, valueProps, facet, disableStyles, className, style } = props;
78
78
  const styling = {};
79
79
  if (!disableStyles) {
80
80
  styling.css = [CSS.grid({ columns, gapSize, theme }), style];
@@ -82,8 +82,13 @@ export const FacetGridOptions = observer((properties) => {
82
82
  else if (style) {
83
83
  styling.css = [style];
84
84
  }
85
- return values?.length ? (jsx(CacheProvider, null,
86
- jsx("div", { ...styling, className: classnames('ss__facet-grid-options', className) }, values.map((value) => (jsx("a", { className: classnames('ss__facet-grid-options__option', { 'ss__facet-grid-options__option--filtered': value.filtered }), onFocus: () => previewOnFocus && value.preview && value.preview(), ...valueProps, href: value.url?.link?.href, onClick: (e) => {
85
+ const facetValues = values || facet?.values;
86
+ return facetValues?.length ? (jsx(CacheProvider, null,
87
+ jsx("div", { ...styling, className: classnames('ss__facet-grid-options', className) }, facetValues.map((value) => (jsx("a", { className: classnames('ss__facet-grid-options__option', { 'ss__facet-grid-options__option--filtered': value.filtered }), "aria-label": value.filtered
88
+ ? `remove selected filter ${facet?.label || ''} - ${value.label}`
89
+ : facet?.label
90
+ ? `filter by ${facet?.label} - ${value.label}`
91
+ : `filter by ${value.label}`, ...valueProps, onMouseEnter: (e) => previewOnFocus && valueProps.onMouseEnter(e, value), href: value.url?.link?.href, onClick: (e) => {
87
92
  value.url?.link?.onClick(e);
88
93
  onClick && onClick(e);
89
94
  } },
@@ -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":"FacetGridOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetGridOptions/FacetGridOptions.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":"FacetGridOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetGridOptions/FacetGridOptions.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"}
@@ -22,7 +22,7 @@ export default {
22
22
  argTypes: {
23
23
  values: {
24
24
  description: 'Facet.values store reference',
25
- type: { required: true },
25
+ type: { required: false },
26
26
  table: {
27
27
  type: {
28
28
  summary: 'facet values store array',
@@ -30,6 +30,16 @@ export default {
30
30
  },
31
31
  control: { type: 'none' },
32
32
  },
33
+ facet: {
34
+ description: 'Facet store reference',
35
+ type: { required: false },
36
+ table: {
37
+ type: {
38
+ summary: 'facet store object',
39
+ },
40
+ },
41
+ control: { type: 'none' },
42
+ },
33
43
  columns: {
34
44
  defaultValue: 4,
35
45
  description: 'Number of columns in grid',
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { ComponentProps } from '../../../types';
3
- import type { FacetHierarchyValue } from '@searchspring/snap-store-mobx';
3
+ import type { FacetHierarchyValue, ValueFacet } from '@searchspring/snap-store-mobx';
4
4
  export declare const FacetHierarchyOptions: ((properties: FacetHierarchyOptionsProps) => JSX.Element) & {
5
5
  displayName: string;
6
6
  };
7
7
  export interface FacetHierarchyOptionsProps extends ComponentProps {
8
- values: FacetHierarchyValue[];
8
+ values?: FacetHierarchyValue[];
9
9
  hideCount?: boolean;
10
+ facet?: ValueFacet;
10
11
  onClick?: (e: React.MouseEvent) => void;
11
12
  previewOnFocus?: boolean;
12
13
  valueProps?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"FacetHierarchyOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA2CzE,eAAO,MAAM,qBAAqB,gBAAyB,0BAA0B,KAAG,WAAW;;CAqDjG,CAAC;AACH,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IACjE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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":"FacetHierarchyOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA2CrF,eAAO,MAAM,qBAAqB,gBAAyB,0BAA0B,KAAG,WAAW;;CA8DjG,CAAC;AACH,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IACjE,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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"}
@@ -54,7 +54,7 @@ export const FacetHierarchyOptions = observer((properties) => {
54
54
  ...properties,
55
55
  ...properties.theme?.components?.facetHierarchyOptions,
56
56
  };
57
- const { values, hideCount, onClick, disableStyles, previewOnFocus, valueProps, className, style } = props;
57
+ const { values, hideCount, onClick, disableStyles, previewOnFocus, valueProps, facet, className, style } = props;
58
58
  const styling = {};
59
59
  if (!disableStyles) {
60
60
  styling.css = [CSS.hierarchy({ theme }), style];
@@ -62,11 +62,16 @@ export const FacetHierarchyOptions = observer((properties) => {
62
62
  else if (style) {
63
63
  styling.css = [style];
64
64
  }
65
- return values?.length ? (jsx(CacheProvider, null,
66
- jsx("div", { ...styling, className: classnames('ss__facet-hierarchy-options', className) }, values.map((value) => (jsx("a", { className: classnames('ss__facet-hierarchy-options__option', { 'ss__facet-hierarchy-options__option--filtered': value.filtered }, { 'ss__facet-hierarchy-options__option--return': value.history && !value.filtered }), href: value.url?.link?.href, onClick: (e) => {
65
+ const facetValues = values || facet?.values;
66
+ return facetValues?.length ? (jsx(CacheProvider, null,
67
+ jsx("div", { ...styling, className: classnames('ss__facet-hierarchy-options', className) }, facetValues.map((value) => (jsx("a", { className: classnames('ss__facet-hierarchy-options__option', { 'ss__facet-hierarchy-options__option--filtered': value.filtered }, { 'ss__facet-hierarchy-options__option--return': value.history && !value.filtered }), "aria-label": value.filtered
68
+ ? `remove selected filter ${facet?.label || ''} - ${value.label}`
69
+ : facet?.label
70
+ ? `filter by ${facet?.label} - ${value.label}`
71
+ : `filter by ${value.label}`, href: value.url?.link?.href, onClick: (e) => {
67
72
  value.url?.link?.onClick(e);
68
73
  onClick && onClick(e);
69
- }, onFocus: () => previewOnFocus && value.preview && value.preview(), ...valueProps },
74
+ }, ...valueProps, onMouseEnter: (e) => previewOnFocus && valueProps.onMouseEnter(e, value) },
70
75
  jsx("span", { className: "ss__facet-hierarchy-options__option__value" },
71
76
  value.label,
72
77
  !hideCount && value?.count > 0 && !value.filtered && (jsx("span", { className: "ss__facet-hierarchy-options__option__value__count" },
@@ -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
  hideCount: {
83
97
  defaultValue: boolean;
84
98
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FacetHierarchyOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,EAAyB,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAK5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;yBAgB5D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdb,wBAyEE;AAaF,eAAO,MAAM,OAAO;WAAU,0BAA0B;;wBAAsD,gBAAgB;;;;;;CAE7H,CAAC"}
1
+ {"version":3,"file":"FacetHierarchyOptions.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,EAAyB,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAK5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;yBAgB5D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdb,wBAmFE;AAaF,eAAO,MAAM,OAAO;WAAU,0BAA0B;;wBAAsD,gBAAgB;;;;;;CAE7H,CAAC"}
@@ -23,7 +23,7 @@ export default {
23
23
  argTypes: {
24
24
  values: {
25
25
  description: 'Facet.values store reference',
26
- type: { required: true },
26
+ type: { required: false },
27
27
  table: {
28
28
  type: {
29
29
  summary: 'object',
@@ -31,6 +31,16 @@ export default {
31
31
  },
32
32
  control: { type: 'object' },
33
33
  },
34
+ facet: {
35
+ description: 'Facet store reference',
36
+ type: { required: false },
37
+ table: {
38
+ type: {
39
+ summary: 'facet store object',
40
+ },
41
+ },
42
+ control: { type: 'none' },
43
+ },
34
44
  hideCount: {
35
45
  defaultValue: false,
36
46
  description: 'Hide facet option count',
@@ -1,13 +1,14 @@
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 FacetListOptions: ((properties: FacetListOptionsProps) => JSX.Element) & {
5
5
  displayName: string;
6
6
  };
7
7
  export interface FacetListOptionsProps extends ComponentProps {
8
- values: FacetValue[];
8
+ values?: FacetValue[];
9
9
  hideCheckbox?: boolean;
10
10
  hideCount?: boolean;
11
+ facet?: ValueFacet;
11
12
  onClick?: (e: React.MouseEvent) => void;
12
13
  previewOnFocus?: boolean;
13
14
  valueProps?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"FacetListOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetListOptions/FacetListOptions.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA6BhE,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB,KAAG,WAAW;;CA+DvF,CAAC;AAEH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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":"FacetListOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/FacetListOptions/FacetListOptions.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA6B5E,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB,KAAG,WAAW;;CAwEvF,CAAC;AAEH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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"}
@@ -42,7 +42,7 @@ export const FacetListOptions = observer((properties) => {
42
42
  ...properties,
43
43
  ...properties.theme?.components?.facetListOptions,
44
44
  };
45
- const { values, hideCheckbox, hideCount, onClick, previewOnFocus, valueProps, disableStyles, className, style } = props;
45
+ const { values, hideCheckbox, hideCount, onClick, previewOnFocus, valueProps, facet, disableStyles, className, style } = props;
46
46
  const subProps = {
47
47
  checkbox: {
48
48
  // default props
@@ -64,12 +64,17 @@ export const FacetListOptions = observer((properties) => {
64
64
  else if (style) {
65
65
  styling.css = [style];
66
66
  }
67
- return values?.length ? (jsx(CacheProvider, null,
68
- jsx("div", { ...styling, className: classnames('ss__facet-list-options', className) }, values.map((value) => (jsx("a", { className: classnames('ss__facet-list-options__option', { 'ss__facet-list-options__option--filtered': value.filtered }), onFocus: () => previewOnFocus && value.preview && value.preview(), ...valueProps, href: value.url?.link?.href, onClick: (e) => {
67
+ const facetValues = values || facet?.values;
68
+ return facetValues?.length ? (jsx(CacheProvider, null,
69
+ jsx("div", { ...styling, className: classnames('ss__facet-list-options', className) }, facetValues.map((value) => (jsx("a", { className: classnames('ss__facet-list-options__option', { 'ss__facet-list-options__option--filtered': value.filtered }), "aria-label": value.filtered
70
+ ? `remove selected filter ${facet?.label || ''} - ${value.label}`
71
+ : facet?.label
72
+ ? `filter by ${facet?.label} - ${value.label}`
73
+ : `filter by ${value.label}`, ...valueProps, onMouseEnter: (e) => previewOnFocus && valueProps.onMouseEnter(e, value), href: value.url?.link?.href, onClick: (e) => {
69
74
  value.url?.link?.onClick(e);
70
75
  onClick && onClick(e);
71
76
  } },
72
- !hideCheckbox && jsx(Checkbox, { ...subProps.checkbox, checked: value.filtered }),
77
+ !hideCheckbox && jsx(Checkbox, { ...subProps.checkbox, checked: value.filtered, disableA11y: true }),
73
78
  jsx("span", { className: "ss__facet-list-options__option__value" },
74
79
  value.label,
75
80
  !hideCount && value?.count > 0 && jsx("span", { className: "ss__facet-list-options__option__value__count" },
@@ -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"}