@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.
- package/dist/cjs/components/Atoms/Button/Button.d.ts +1 -0
- package/dist/cjs/components/Atoms/Button/Button.d.ts.map +1 -1
- package/dist/cjs/components/Atoms/Button/Button.js +9 -3
- package/dist/cjs/components/Atoms/Button/Button.stories.d.ts +14 -0
- package/dist/cjs/components/Atoms/Button/Button.stories.d.ts.map +1 -1
- package/dist/cjs/components/Atoms/Button/Button.stories.js +9 -0
- package/dist/cjs/components/Atoms/Dropdown/Dropdown.d.ts +1 -0
- package/dist/cjs/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/cjs/components/Atoms/Dropdown/Dropdown.js +4 -3
- package/dist/cjs/components/Atoms/Dropdown/Dropdown.stories.d.ts +14 -0
- package/dist/cjs/components/Atoms/Dropdown/Dropdown.stories.d.ts.map +1 -1
- package/dist/cjs/components/Atoms/Dropdown/Dropdown.stories.js +9 -0
- package/dist/cjs/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Carousel/Carousel.js +5 -1
- package/dist/cjs/components/Molecules/Checkbox/Checkbox.d.ts +1 -0
- package/dist/cjs/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Checkbox/Checkbox.js +4 -3
- package/dist/cjs/components/Molecules/Checkbox/Checkbox.stories.d.ts +14 -0
- package/dist/cjs/components/Molecules/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Checkbox/Checkbox.stories.js +9 -0
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +3 -2
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.js +9 -4
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts +14 -0
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.stories.js +10 -1
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +3 -2
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +10 -5
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts +14 -0
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.js +10 -1
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.d.ts +3 -2
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.js +10 -5
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts +14 -0
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.stories.js +10 -1
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +3 -2
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +9 -4
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts +14 -0
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.js +10 -1
- package/dist/cjs/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetSlider/FacetSlider.js +4 -3
- package/dist/cjs/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Filter/Filter.js +2 -2
- package/dist/cjs/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Pagination/Pagination.js +6 -6
- package/dist/cjs/components/Molecules/Select/Select.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Select/Select.js +5 -3
- package/dist/cjs/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Slideout/Slideout.js +10 -1
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.js +18 -19
- package/dist/cjs/components/Organisms/Facet/Facet.d.ts.map +1 -1
- package/dist/cjs/components/Organisms/Facet/Facet.js +10 -9
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +1 -0
- package/dist/cjs/hooks/useA11y.d.ts +2 -0
- package/dist/cjs/hooks/useA11y.d.ts.map +1 -0
- package/dist/cjs/hooks/useA11y.js +26 -0
- package/dist/esm/components/Atoms/Button/Button.d.ts +1 -0
- package/dist/esm/components/Atoms/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Button/Button.js +7 -2
- package/dist/esm/components/Atoms/Button/Button.stories.d.ts +14 -0
- package/dist/esm/components/Atoms/Button/Button.stories.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Button/Button.stories.js +10 -0
- package/dist/esm/components/Atoms/Dropdown/Dropdown.d.ts +1 -0
- package/dist/esm/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Dropdown/Dropdown.js +4 -2
- package/dist/esm/components/Atoms/Dropdown/Dropdown.stories.d.ts +14 -0
- package/dist/esm/components/Atoms/Dropdown/Dropdown.stories.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Dropdown/Dropdown.stories.js +10 -0
- package/dist/esm/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Carousel/Carousel.js +6 -2
- package/dist/esm/components/Molecules/Checkbox/Checkbox.d.ts +1 -0
- package/dist/esm/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Checkbox/Checkbox.js +4 -2
- package/dist/esm/components/Molecules/Checkbox/Checkbox.stories.d.ts +14 -0
- package/dist/esm/components/Molecules/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Checkbox/Checkbox.stories.js +10 -0
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +3 -2
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.js +8 -3
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts +14 -0
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.stories.js +11 -1
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +3 -2
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +9 -4
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts +14 -0
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.js +11 -1
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.d.ts +3 -2
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.js +9 -4
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts +14 -0
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.stories.js +11 -1
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +3 -2
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +8 -3
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts +14 -0
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.stories.js +11 -1
- package/dist/esm/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetSlider/FacetSlider.js +2 -1
- package/dist/esm/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Filter/Filter.js +2 -2
- package/dist/esm/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Pagination/Pagination.js +6 -6
- package/dist/esm/components/Molecules/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Select/Select.js +5 -3
- package/dist/esm/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Slideout/Slideout.js +10 -1
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.js +18 -19
- package/dist/esm/components/Organisms/Facet/Facet.d.ts.map +1 -1
- package/dist/esm/components/Organisms/Facet/Facet.js +7 -6
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/useA11y.d.ts +2 -0
- package/dist/esm/hooks/useA11y.d.ts.map +1 -0
- package/dist/esm/hooks/useA11y.js +21 -0
- 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
|
|
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;
|
|
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
|
|
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,
|
|
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);
|
|
@@ -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;
|
|
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
|
|
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
|
|
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;
|
|
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
|
-
|
|
86
|
-
|
|
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
|
|
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:
|
|
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
|
|
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;
|
|
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
|
-
|
|
66
|
-
|
|
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
|
-
},
|
|
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" },
|
package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts
CHANGED
|
@@ -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;
|
package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.stories.js
CHANGED
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
argTypes: {
|
|
24
24
|
values: {
|
|
25
25
|
description: 'Facet.values store reference',
|
|
26
|
-
type: { required:
|
|
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
|
|
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;
|
|
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
|
-
|
|
68
|
-
|
|
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
|
|
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"}
|