@searchspring/snap-preact-components 0.54.0 → 0.56.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 (178) hide show
  1. package/dist/cjs/components/Atoms/BadgeImage/BadgeImage.d.ts +11 -0
  2. package/dist/cjs/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -0
  3. package/dist/cjs/components/Atoms/BadgeImage/BadgeImage.js +46 -0
  4. package/dist/cjs/components/Atoms/BadgeImage/index.d.ts +2 -0
  5. package/dist/cjs/components/Atoms/BadgeImage/index.d.ts.map +1 -0
  6. package/dist/cjs/components/Atoms/BadgeImage/index.js +17 -0
  7. package/dist/cjs/components/Atoms/BadgePill/BadgePill.d.ts +12 -0
  8. package/dist/cjs/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -0
  9. package/dist/cjs/components/Atoms/BadgePill/BadgePill.js +57 -0
  10. package/dist/cjs/components/Atoms/BadgePill/index.d.ts +2 -0
  11. package/dist/cjs/components/Atoms/BadgePill/index.d.ts.map +1 -0
  12. package/dist/cjs/components/Atoms/BadgePill/index.js +17 -0
  13. package/dist/cjs/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts +12 -0
  14. package/dist/cjs/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -0
  15. package/dist/cjs/components/Atoms/BadgeRectangle/BadgeRectangle.js +56 -0
  16. package/dist/cjs/components/Atoms/BadgeRectangle/index.d.ts +2 -0
  17. package/dist/cjs/components/Atoms/BadgeRectangle/index.d.ts.map +1 -0
  18. package/dist/cjs/components/Atoms/BadgeRectangle/index.js +17 -0
  19. package/dist/cjs/components/Atoms/BadgeText/BadgeText.d.ts +11 -0
  20. package/dist/cjs/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -0
  21. package/dist/cjs/components/Atoms/BadgeText/BadgeText.js +55 -0
  22. package/dist/cjs/components/Atoms/BadgeText/index.d.ts +2 -0
  23. package/dist/cjs/components/Atoms/BadgeText/index.d.ts.map +1 -0
  24. package/dist/cjs/components/Atoms/BadgeText/index.js +17 -0
  25. package/dist/cjs/components/Molecules/CalloutBadge/CalloutBadge.d.ts +13 -0
  26. package/dist/cjs/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -0
  27. package/dist/cjs/components/Molecules/CalloutBadge/CalloutBadge.js +63 -0
  28. package/dist/cjs/components/Molecules/CalloutBadge/index.d.ts +2 -0
  29. package/dist/cjs/components/Molecules/CalloutBadge/index.d.ts.map +1 -0
  30. package/dist/cjs/components/Molecules/CalloutBadge/index.js +17 -0
  31. package/dist/cjs/components/Molecules/Grid/Grid.d.ts +20 -0
  32. package/dist/cjs/components/Molecules/Grid/Grid.d.ts.map +1 -0
  33. package/dist/cjs/components/Molecules/Grid/Grid.js +210 -0
  34. package/dist/cjs/components/Molecules/Grid/index.d.ts +2 -0
  35. package/dist/cjs/components/Molecules/Grid/index.d.ts.map +1 -0
  36. package/dist/cjs/components/{Atoms/Badge → Molecules/Grid}/index.js +1 -1
  37. package/dist/cjs/components/Molecules/List/List.d.ts +18 -0
  38. package/dist/cjs/components/Molecules/List/List.d.ts.map +1 -0
  39. package/dist/cjs/components/Molecules/List/List.js +158 -0
  40. package/dist/cjs/components/Molecules/List/index.d.ts +2 -0
  41. package/dist/cjs/components/Molecules/List/index.d.ts.map +1 -0
  42. package/dist/cjs/components/Molecules/List/index.js +17 -0
  43. package/dist/cjs/components/Molecules/OverlayBadge/OverlayBadge.d.ts +17 -0
  44. package/dist/cjs/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -0
  45. package/dist/cjs/components/Molecules/OverlayBadge/OverlayBadge.js +118 -0
  46. package/dist/cjs/components/Molecules/OverlayBadge/index.d.ts +2 -0
  47. package/dist/cjs/components/Molecules/OverlayBadge/index.d.ts.map +1 -0
  48. package/dist/cjs/components/Molecules/OverlayBadge/index.js +17 -0
  49. package/dist/cjs/components/Molecules/Result/Result.d.ts.map +1 -1
  50. package/dist/cjs/components/Molecules/Result/Result.js +19 -9
  51. package/dist/cjs/components/Molecules/Swatches/Swatches.d.ts +19 -0
  52. package/dist/cjs/components/Molecules/Swatches/Swatches.d.ts.map +1 -0
  53. package/dist/cjs/components/Molecules/Swatches/Swatches.js +168 -0
  54. package/dist/cjs/components/Molecules/Swatches/index.d.ts +2 -0
  55. package/dist/cjs/components/Molecules/Swatches/index.d.ts.map +1 -0
  56. package/dist/cjs/components/Molecules/Swatches/index.js +17 -0
  57. package/dist/cjs/components/Molecules/VariantSelection/VariantSelection.d.ts +9 -0
  58. package/dist/cjs/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -0
  59. package/dist/cjs/components/Molecules/VariantSelection/VariantSelection.js +146 -0
  60. package/dist/cjs/components/Molecules/VariantSelection/index.d.ts +2 -0
  61. package/dist/cjs/components/Molecules/VariantSelection/index.d.ts.map +1 -0
  62. package/dist/cjs/components/Molecules/VariantSelection/index.js +17 -0
  63. package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  64. package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.js +0 -3
  65. package/dist/cjs/hooks/index.d.ts +1 -0
  66. package/dist/cjs/hooks/index.d.ts.map +1 -1
  67. package/dist/cjs/hooks/index.js +1 -0
  68. package/dist/cjs/hooks/useComponent.d.ts +4 -0
  69. package/dist/cjs/hooks/useComponent.d.ts.map +1 -0
  70. package/dist/cjs/hooks/useComponent.js +23 -0
  71. package/dist/cjs/index.d.ts +11 -2
  72. package/dist/cjs/index.d.ts.map +1 -1
  73. package/dist/cjs/index.js +11 -2
  74. package/dist/cjs/types.d.ts +20 -1
  75. package/dist/cjs/types.d.ts.map +1 -1
  76. package/dist/cjs/utilities/defaultBadgeComponentMap.d.ts +3 -0
  77. package/dist/cjs/utilities/defaultBadgeComponentMap.d.ts.map +1 -0
  78. package/dist/cjs/utilities/defaultBadgeComponentMap.js +13 -0
  79. package/dist/cjs/utilities/index.d.ts +1 -0
  80. package/dist/cjs/utilities/index.d.ts.map +1 -1
  81. package/dist/cjs/utilities/index.js +1 -0
  82. package/dist/cjs/utilities/snapify.d.ts.map +1 -1
  83. package/dist/cjs/utilities/snapify.js +3 -0
  84. package/dist/esm/components/Atoms/BadgeImage/BadgeImage.d.ts +11 -0
  85. package/dist/esm/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -0
  86. package/dist/esm/components/Atoms/BadgeImage/BadgeImage.js +35 -0
  87. package/dist/esm/components/Atoms/BadgeImage/index.d.ts +2 -0
  88. package/dist/esm/components/Atoms/BadgeImage/index.d.ts.map +1 -0
  89. package/dist/esm/components/Atoms/BadgeImage/index.js +1 -0
  90. package/dist/esm/components/Atoms/BadgePill/BadgePill.d.ts +12 -0
  91. package/dist/esm/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -0
  92. package/dist/esm/components/Atoms/BadgePill/BadgePill.js +46 -0
  93. package/dist/esm/components/Atoms/BadgePill/index.d.ts +2 -0
  94. package/dist/esm/components/Atoms/BadgePill/index.d.ts.map +1 -0
  95. package/dist/esm/components/Atoms/BadgePill/index.js +1 -0
  96. package/dist/esm/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts +12 -0
  97. package/dist/esm/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -0
  98. package/dist/esm/components/Atoms/BadgeRectangle/BadgeRectangle.js +45 -0
  99. package/dist/esm/components/Atoms/BadgeRectangle/index.d.ts +2 -0
  100. package/dist/esm/components/Atoms/BadgeRectangle/index.d.ts.map +1 -0
  101. package/dist/esm/components/Atoms/BadgeRectangle/index.js +1 -0
  102. package/dist/esm/components/Atoms/BadgeText/BadgeText.d.ts +11 -0
  103. package/dist/esm/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -0
  104. package/dist/esm/components/Atoms/BadgeText/BadgeText.js +43 -0
  105. package/dist/esm/components/Atoms/BadgeText/index.d.ts +2 -0
  106. package/dist/esm/components/Atoms/BadgeText/index.d.ts.map +1 -0
  107. package/dist/esm/components/Atoms/BadgeText/index.js +1 -0
  108. package/dist/esm/components/Molecules/CalloutBadge/CalloutBadge.d.ts +13 -0
  109. package/dist/esm/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -0
  110. package/dist/esm/components/Molecules/CalloutBadge/CalloutBadge.js +49 -0
  111. package/dist/esm/components/Molecules/CalloutBadge/index.d.ts +2 -0
  112. package/dist/esm/components/Molecules/CalloutBadge/index.d.ts.map +1 -0
  113. package/dist/esm/components/Molecules/CalloutBadge/index.js +1 -0
  114. package/dist/esm/components/Molecules/Grid/Grid.d.ts +20 -0
  115. package/dist/esm/components/Molecules/Grid/Grid.d.ts.map +1 -0
  116. package/dist/esm/components/Molecules/Grid/Grid.js +189 -0
  117. package/dist/esm/components/Molecules/Grid/index.d.ts +2 -0
  118. package/dist/esm/components/Molecules/Grid/index.d.ts.map +1 -0
  119. package/dist/esm/components/Molecules/Grid/index.js +1 -0
  120. package/dist/esm/components/Molecules/List/List.d.ts +18 -0
  121. package/dist/esm/components/Molecules/List/List.d.ts.map +1 -0
  122. package/dist/esm/components/Molecules/List/List.js +140 -0
  123. package/dist/esm/components/Molecules/List/index.d.ts +2 -0
  124. package/dist/esm/components/Molecules/List/index.d.ts.map +1 -0
  125. package/dist/esm/components/Molecules/List/index.js +1 -0
  126. package/dist/esm/components/Molecules/OverlayBadge/OverlayBadge.d.ts +17 -0
  127. package/dist/esm/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -0
  128. package/dist/esm/components/Molecules/OverlayBadge/OverlayBadge.js +111 -0
  129. package/dist/esm/components/Molecules/OverlayBadge/index.d.ts +2 -0
  130. package/dist/esm/components/Molecules/OverlayBadge/index.d.ts.map +1 -0
  131. package/dist/esm/components/Molecules/OverlayBadge/index.js +1 -0
  132. package/dist/esm/components/Molecules/Result/Result.d.ts.map +1 -1
  133. package/dist/esm/components/Molecules/Result/Result.js +23 -9
  134. package/dist/esm/components/Molecules/Swatches/Swatches.d.ts +19 -0
  135. package/dist/esm/components/Molecules/Swatches/Swatches.d.ts.map +1 -0
  136. package/dist/esm/components/Molecules/Swatches/Swatches.js +179 -0
  137. package/dist/esm/components/Molecules/Swatches/index.d.ts +2 -0
  138. package/dist/esm/components/Molecules/Swatches/index.d.ts.map +1 -0
  139. package/dist/esm/components/Molecules/Swatches/index.js +1 -0
  140. package/dist/esm/components/Molecules/VariantSelection/VariantSelection.d.ts +9 -0
  141. package/dist/esm/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -0
  142. package/dist/esm/components/Molecules/VariantSelection/VariantSelection.js +167 -0
  143. package/dist/esm/components/Molecules/VariantSelection/index.d.ts +2 -0
  144. package/dist/esm/components/Molecules/VariantSelection/index.d.ts.map +1 -0
  145. package/dist/esm/components/Molecules/VariantSelection/index.js +1 -0
  146. package/dist/esm/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  147. package/dist/esm/components/Organisms/Autocomplete/Autocomplete.js +0 -3
  148. package/dist/esm/hooks/index.d.ts +1 -0
  149. package/dist/esm/hooks/index.d.ts.map +1 -1
  150. package/dist/esm/hooks/index.js +1 -0
  151. package/dist/esm/hooks/useComponent.d.ts +4 -0
  152. package/dist/esm/hooks/useComponent.d.ts.map +1 -0
  153. package/dist/esm/hooks/useComponent.js +19 -0
  154. package/dist/esm/index.d.ts +11 -2
  155. package/dist/esm/index.d.ts.map +1 -1
  156. package/dist/esm/index.js +11 -2
  157. package/dist/esm/types.d.ts +20 -1
  158. package/dist/esm/types.d.ts.map +1 -1
  159. package/dist/esm/utilities/defaultBadgeComponentMap.d.ts +3 -0
  160. package/dist/esm/utilities/defaultBadgeComponentMap.d.ts.map +1 -0
  161. package/dist/esm/utilities/defaultBadgeComponentMap.js +10 -0
  162. package/dist/esm/utilities/index.d.ts +1 -0
  163. package/dist/esm/utilities/index.d.ts.map +1 -1
  164. package/dist/esm/utilities/index.js +1 -0
  165. package/dist/esm/utilities/snapify.d.ts.map +1 -1
  166. package/dist/esm/utilities/snapify.js +3 -0
  167. package/package.json +12 -11
  168. package/dist/cjs/components/Atoms/Badge/Badge.d.ts +0 -16
  169. package/dist/cjs/components/Atoms/Badge/Badge.d.ts.map +0 -1
  170. package/dist/cjs/components/Atoms/Badge/Badge.js +0 -47
  171. package/dist/cjs/components/Atoms/Badge/index.d.ts +0 -2
  172. package/dist/cjs/components/Atoms/Badge/index.d.ts.map +0 -1
  173. package/dist/esm/components/Atoms/Badge/Badge.d.ts +0 -16
  174. package/dist/esm/components/Atoms/Badge/Badge.d.ts.map +0 -1
  175. package/dist/esm/components/Atoms/Badge/Badge.js +0 -36
  176. package/dist/esm/components/Atoms/Badge/index.d.ts +0 -2
  177. package/dist/esm/components/Atoms/Badge/index.d.ts.map +0 -1
  178. package/dist/esm/components/Atoms/Badge/index.js +0 -1
@@ -0,0 +1,189 @@
1
+ /** @jsx jsx */
2
+ import { Fragment } from 'preact';
3
+ import { jsx, css } from '@emotion/react';
4
+ import classnames from 'classnames';
5
+ import { useTheme, CacheProvider } from '../../../providers';
6
+ import { useState } from 'react';
7
+ import { useA11y } from '../../../hooks';
8
+ import { Image } from '../../Atoms/Image';
9
+ import { cloneWithProps, defined } from '../../../utilities';
10
+ import { filters } from '@searchspring/snap-toolbox';
11
+ const CSS = {
12
+ Grid: ({ theme, columns, gapSize, disableOverflowAction }) => css({
13
+ '.ss__grid__options': {
14
+ display: 'flex',
15
+ flexFlow: 'row wrap',
16
+ gridTemplateColumns: `repeat(${columns}, 1fr)`,
17
+ gap: gapSize,
18
+ gridAutoRows: `1fr`,
19
+ '& .ss__grid__option': {
20
+ display: 'flex',
21
+ flexDirection: 'column',
22
+ boxSizing: 'content-box',
23
+ backgroundRepeat: 'no-repeat',
24
+ backgroundSize: `calc(100% / ${columns} - ${2 * Math.round((columns + 2) / 2)}px)`,
25
+ backgroundPosition: 'center !important',
26
+ justifyContent: 'center',
27
+ alignItems: 'center',
28
+ flex: '0 1 auto',
29
+ border: `1px solid ${theme?.colors?.primary || '#333'}`,
30
+ textAlign: 'center',
31
+ wordBreak: 'break-all',
32
+ padding: '1em 0',
33
+ width: `calc(100% / ${columns} - ${2 * Math.round((columns + 2) / 2)}px)`,
34
+ margin: `0 ${gapSize} ${gapSize} 0`,
35
+ '.ss__grid__option__label': {
36
+ cursor: 'pointer',
37
+ },
38
+ [`:nth-of-type(${columns}n)`]: {
39
+ marginRight: '0',
40
+ },
41
+ '&.ss__grid__option--selected': {
42
+ border: `2px solid ${theme?.colors?.primary || '#333'}`,
43
+ },
44
+ '&.ss__grid__option--disabled': {
45
+ position: 'relative',
46
+ opacity: '.5',
47
+ cursor: 'none',
48
+ pointerEvents: 'none',
49
+ },
50
+ '&.ss__grid__option--unavailable': {
51
+ position: 'relative',
52
+ opacity: '.5',
53
+ },
54
+ '&.ss__grid__option--disabled:before, &.ss__grid__option--unavailable:before': {
55
+ content: '""',
56
+ display: 'block',
57
+ position: 'absolute',
58
+ top: '50%',
59
+ width: '90%',
60
+ height: '1px',
61
+ borderTop: '3px solid #eee',
62
+ outline: '1px solid #ffff',
63
+ transform: 'rotate(-45deg)',
64
+ },
65
+ '&:hover:not(.ss__grid__option--selected)': {
66
+ cursor: 'pointer',
67
+ background: theme?.colors?.hover || '#f8f8f8',
68
+ },
69
+ },
70
+ '@supports (display: grid)': {
71
+ display: 'grid',
72
+ '& .ss__grid__option': {
73
+ padding: '0',
74
+ margin: '0',
75
+ width: 'initial',
76
+ },
77
+ '&::before': {
78
+ content: '""',
79
+ width: 0,
80
+ paddingBottom: '100%',
81
+ gridRow: '1 / 1',
82
+ gridColumn: '1 / 1',
83
+ },
84
+ '&> *:first-of-type': {
85
+ gridRow: '1 / 1',
86
+ gridColumn: '1 / 1',
87
+ },
88
+ },
89
+ },
90
+ '.ss__grid__show-more-wrapper': {
91
+ '&:hover': {
92
+ cursor: disableOverflowAction ? 'initial !important' : 'pointer !important',
93
+ },
94
+ },
95
+ }),
96
+ };
97
+ export function Grid(properties) {
98
+ const globalTheme = useTheme();
99
+ const theme = { ...globalTheme, ...properties.theme };
100
+ const props = {
101
+ // default props
102
+ multiSelect: false,
103
+ columns: 4,
104
+ gapSize: '8px',
105
+ // global theme
106
+ ...globalTheme?.components?.grid,
107
+ // props
108
+ ...properties,
109
+ ...properties.theme?.components?.grid,
110
+ };
111
+ const { titleText, onSelect, hideLabels, disableOverflowAction, multiSelect, overflowButton, columns, rows, hideShowLess, gapSize, overflowButtonInGrid, disabled, options, disableStyles, onOverflowButtonClick, className, style, } = props;
112
+ const subProps = {
113
+ image: {
114
+ // default props
115
+ className: 'ss__swatches__Image',
116
+ // global theme
117
+ ...globalTheme?.components?.image,
118
+ // inherited props
119
+ ...defined({
120
+ disableStyles,
121
+ }),
122
+ // component theme overrides
123
+ theme: props?.theme,
124
+ },
125
+ };
126
+ let selected = props.selected;
127
+ const styling = {};
128
+ if (!disableStyles) {
129
+ styling.css = [CSS.Grid({ theme, columns, gapSize, disableOverflowAction }), style];
130
+ }
131
+ else if (style) {
132
+ styling.css = [style];
133
+ }
134
+ if (selected && !Array.isArray(selected)) {
135
+ selected = [selected];
136
+ }
137
+ // selection state
138
+ const [selection, setSelection] = useState(selected || []);
139
+ const makeSelection = (e, option) => {
140
+ if (multiSelect) {
141
+ let newArray;
142
+ if (selection.find((select) => select.value === option.value)) {
143
+ newArray = [...selection];
144
+ newArray.splice(newArray.findIndex((select) => select.value === option.value), 1);
145
+ }
146
+ else {
147
+ newArray = [...selection, option];
148
+ }
149
+ if (onSelect) {
150
+ onSelect(e, option, newArray);
151
+ }
152
+ setSelection(newArray);
153
+ }
154
+ else {
155
+ if (onSelect) {
156
+ onSelect(e, option, [option]);
157
+ }
158
+ setSelection([option]);
159
+ }
160
+ };
161
+ const limit = rows && columns ? columns * rows : options.length;
162
+ const remainder = Math.max(0, options.length - (limit - (overflowButtonInGrid ? 1 : 0)));
163
+ const [limited, setLimited] = useState(remainder);
164
+ const OverflowButtonElem = () => {
165
+ const showButton = hideShowLess ? (!limited ? false : true) : true;
166
+ return showButton && remainder > 0 && options.length !== limit ? (jsx("div", { className: `ss__grid__show-more-wrapper ${overflowButtonInGrid ? 'ss__grid__option' : ''}`, onClick: (e) => {
167
+ !disableOverflowAction && setLimited(!limited);
168
+ onOverflowButtonClick && onOverflowButtonClick(e, Boolean(limited), remainder);
169
+ } }, overflowButton ? (cloneWithProps(overflowButton, { limited, remainder })) : limited ? (jsx("span", { className: 'ss__grid__show-more' }, `+ ${remainder}`)) : remainder ? (jsx("span", { className: 'ss__grid__show-less' }, "Less")) : (jsx(Fragment, null)))) : (jsx(Fragment, null));
170
+ };
171
+ return typeof options == 'object' && options?.length ? (jsx(CacheProvider, null,
172
+ jsx("div", { ...styling, className: classnames('ss__grid', disabled ? 'ss__grid--disabled' : '', className) },
173
+ titleText && jsx("h5", { className: "ss__grid__title" }, titleText),
174
+ jsx("div", { className: "ss__grid__options" },
175
+ options.map((option, idx) => {
176
+ const selected = selection.some((select) => select.value == option.value);
177
+ if (!limited || options.length == limit || idx < limit - (overflowButtonInGrid ? 1 : 0)) {
178
+ return (jsx("div", { className: classnames(`ss__grid__option ss__grid__option--${filters.handleize(option.value.toString())}`, {
179
+ 'ss__grid__option--selected': selected,
180
+ 'ss__grid__option--disabled': option?.disabled,
181
+ 'ss__grid__option--unavailable': option?.available === false,
182
+ }), style: { background: option.background ? option.background : option.backgroundImageUrl ? undefined : option.value }, onClick: (e) => !disabled && !option?.disabled && makeSelection(e, option), ref: (e) => useA11y(e), title: option.label, role: "option", "aria-selected": selected },
183
+ !option.background && option.backgroundImageUrl ? (jsx(Image, { ...subProps.image, src: option.backgroundImageUrl, alt: option.label || option.value.toString() })) : (jsx(Fragment, null)),
184
+ !hideLabels ? jsx("label", { className: "ss__grid__option__label" }, option.label || option.value) : jsx(Fragment, null)));
185
+ }
186
+ }),
187
+ overflowButtonInGrid ? jsx(OverflowButtonElem, null) : jsx(Fragment, null)),
188
+ !overflowButtonInGrid ? jsx(OverflowButtonElem, null) : jsx(Fragment, null)))) : (jsx(Fragment, null));
189
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Grid';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Grid/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './Grid';
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { ComponentProps, ListOption } from '../../../types';
3
+ export declare function List(properties: ListProps): JSX.Element;
4
+ export interface ListProps extends ComponentProps {
5
+ options: ListOption[];
6
+ multiSelect?: boolean;
7
+ hideOptionCheckboxes?: boolean;
8
+ hideOptionLabels?: boolean;
9
+ hideOptionIcons?: boolean;
10
+ onSelect?: (e: React.MouseEvent<HTMLElement>, option: ListOption, selected: ListOption[]) => void;
11
+ titleText?: string;
12
+ disabled?: boolean;
13
+ horizontal?: boolean;
14
+ native?: boolean;
15
+ selected?: ListOption | ListOption[];
16
+ requireSelection?: boolean;
17
+ }
18
+ //# sourceMappingURL=List.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/List/List.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,cAAc,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAyDxE,wBAAgB,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CA+IvD;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAChD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,140 @@
1
+ /** @jsx jsx */
2
+ import { Fragment } from 'preact';
3
+ import { jsx, css } from '@emotion/react';
4
+ import classnames from 'classnames';
5
+ import { useTheme, CacheProvider } from '../../../providers';
6
+ import { defined } from '../../../utilities';
7
+ import { useState } from 'react';
8
+ import { Checkbox } from '../Checkbox';
9
+ import { useA11y } from '../../../hooks';
10
+ import { Icon } from '../../Atoms/Icon';
11
+ import { filters } from '@searchspring/snap-toolbox';
12
+ const CSS = {
13
+ List: ({ horizontal }) => css({
14
+ display: 'flex',
15
+ flexDirection: horizontal ? 'row' : 'column',
16
+ alignItems: horizontal ? 'center' : undefined,
17
+ justifyItems: 'flex-start',
18
+ gap: '5px',
19
+ '& .ss__list__options': {
20
+ border: 'none',
21
+ listStyle: 'none',
22
+ padding: '0px',
23
+ margin: '0px',
24
+ display: 'flex',
25
+ flexDirection: horizontal ? 'row' : 'column',
26
+ alignItems: horizontal ? 'center' : undefined,
27
+ justifyItems: 'flex-start',
28
+ gap: '5px',
29
+ },
30
+ '.ss__list__option': {
31
+ cursor: 'pointer',
32
+ display: 'flex',
33
+ alignItems: 'center',
34
+ gap: '5px',
35
+ '& .ss__list__option__label , .ss__list__option__icon': {
36
+ cursor: 'pointer',
37
+ },
38
+ },
39
+ '&.ss__list--disabled, .ss__list__option--disabled': {
40
+ cursor: 'none',
41
+ pointerEvents: 'none',
42
+ opacity: 0.5,
43
+ },
44
+ '&.ss__list--disabled, .ss__list__option--unavailable': {
45
+ cursor: 'pointer',
46
+ opacity: 0.5,
47
+ },
48
+ '.ss__list__option--selected': {
49
+ fontWeight: 'bold',
50
+ },
51
+ }),
52
+ };
53
+ export function List(properties) {
54
+ const globalTheme = useTheme();
55
+ const props = {
56
+ // default props
57
+ // global theme
58
+ ...globalTheme?.components?.list,
59
+ // props
60
+ ...properties,
61
+ ...properties.theme?.components?.list,
62
+ };
63
+ const { titleText, onSelect, native, multiSelect, hideOptionLabels, hideOptionIcons, hideOptionCheckboxes, disabled, options, requireSelection, disableStyles, className, style, horizontal, } = props;
64
+ let selected = props.selected;
65
+ const subProps = {
66
+ checkbox: {
67
+ // default props
68
+ native: native,
69
+ // inherited props
70
+ ...defined({
71
+ disableStyles,
72
+ }),
73
+ // component theme overrides
74
+ theme: props?.theme,
75
+ },
76
+ icon: {
77
+ // default props
78
+ className: 'ss__list__option__icon',
79
+ // inherited props
80
+ ...defined({
81
+ disableStyles,
82
+ }),
83
+ // component theme overrides
84
+ theme: props?.theme,
85
+ },
86
+ };
87
+ const styling = {};
88
+ if (!disableStyles) {
89
+ styling.css = [CSS.List({ horizontal }), style];
90
+ }
91
+ else if (style) {
92
+ styling.css = [style];
93
+ }
94
+ if (selected && !Array.isArray(selected)) {
95
+ selected = [selected];
96
+ }
97
+ // selection state
98
+ const [selection, setSelection] = useState(selected || []);
99
+ const makeSelection = (e, option) => {
100
+ let newArray;
101
+ if (multiSelect) {
102
+ if (selection.find((select) => select.value === option.value)) {
103
+ newArray = [...selection];
104
+ newArray.splice(newArray.findIndex((select) => select.value === option.value), 1);
105
+ if (newArray.length == 0 && requireSelection) {
106
+ newArray = [option];
107
+ }
108
+ }
109
+ else {
110
+ newArray = [...selection, option];
111
+ }
112
+ }
113
+ else {
114
+ if (!requireSelection && selection.find((select) => select.value === option.value)) {
115
+ newArray = [];
116
+ }
117
+ else {
118
+ newArray = [option];
119
+ }
120
+ }
121
+ if (onSelect) {
122
+ onSelect(e, option, newArray);
123
+ }
124
+ setSelection(newArray);
125
+ };
126
+ return typeof options == 'object' && options?.length ? (jsx(CacheProvider, null,
127
+ jsx("div", { ...styling, className: classnames('ss__list', disabled ? 'ss__list--disabled' : '', className) },
128
+ titleText && jsx("h5", { className: "ss__list__title" }, titleText),
129
+ jsx("ul", { className: `ss__list__options`, role: "listbox", "aria-label": titleText }, options.map((option) => {
130
+ const selected = selection.some((select) => select.value == option.value);
131
+ return (jsx("li", { className: classnames(`ss__list__option ss__list__option--${filters.handleize(option.value.toString())}`, {
132
+ 'ss__list__option--selected': selected,
133
+ 'ss__list__option--disabled': option?.disabled,
134
+ 'ss__list__option--unavailable': option?.available === false,
135
+ }), ref: (e) => useA11y(e), onClick: (e) => !disabled && !option?.disabled && makeSelection(e, option), title: option.label, role: "option", "aria-selected": selected },
136
+ !hideOptionCheckboxes && jsx(Checkbox, { ...subProps.checkbox, checked: selected, disableA11y: true }),
137
+ option.icon && !hideOptionIcons && (jsx(Icon, { ...subProps.icon, ...(typeof option.icon == 'string' ? { icon: option.icon } : option.icon) })),
138
+ !hideOptionLabels && (option.label || !option.icon) && (jsx("label", { className: "ss__list__option__label" }, option.label || option.value))));
139
+ }))))) : (jsx(Fragment, null));
140
+ }
@@ -0,0 +1,2 @@
1
+ export * from './List';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/List/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './List';
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ /** @jsx jsx */
3
+ import { ComponentChildren } from 'preact';
4
+ import { ComponentProps, ComponentMap } from '../../../types';
5
+ import type { AutocompleteController, RecommendationController, SearchController } from '@searchspring/snap-controller';
6
+ import type { Product } from '@searchspring/snap-store-mobx';
7
+ export declare const OverlayBadge: ((properties: OverlayBadgeProps) => JSX.Element) & {
8
+ displayName: string;
9
+ };
10
+ export interface OverlayBadgeProps extends ComponentProps {
11
+ result: Product;
12
+ controller: SearchController | AutocompleteController | RecommendationController;
13
+ children: ComponentChildren;
14
+ renderEmpty?: boolean;
15
+ componentMap?: ComponentMap;
16
+ }
17
+ //# sourceMappingURL=OverlayBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayBadge.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/OverlayBadge/OverlayBadge.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAe,MAAM,QAAQ,CAAC;AAOxD,OAAO,EAAE,cAAc,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACxH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AA6C7D,eAAO,MAAM,YAAY,gBAAyB,iBAAiB,KAAG,WAAW;;CAqF/E,CAAC;AAEH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;IACjF,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC5B"}
@@ -0,0 +1,111 @@
1
+ /** @jsx jsx */
2
+ import { Fragment } from 'preact';
3
+ import { jsx, css } from '@emotion/react';
4
+ import classnames from 'classnames';
5
+ import { observer } from 'mobx-react-lite';
6
+ import { useTheme, CacheProvider } from '../../../providers';
7
+ import { defaultBadgeComponentMap } from '../../../utilities';
8
+ import { useComponent } from '../../../hooks';
9
+ const CSS = {
10
+ OverlayBadge: ({ grid }) => {
11
+ let gridProperties = {};
12
+ if (grid?.length && grid[0]?.length) {
13
+ const gridTemplateAreas = grid.map((row) => `"${row.join(' ')}"`).join(' ');
14
+ const columns = grid[0].length;
15
+ gridProperties = {
16
+ gridTemplateColumns: `repeat(${columns}, 1fr)`,
17
+ gridTemplateAreas,
18
+ };
19
+ }
20
+ return css({
21
+ position: 'relative',
22
+ '& .ss__overlay-badge__grid-wrapper': {
23
+ display: 'grid',
24
+ position: 'absolute',
25
+ top: 0,
26
+ right: 0,
27
+ bottom: 0,
28
+ left: 0,
29
+ ...gridProperties,
30
+ },
31
+ });
32
+ },
33
+ BadgePositioning: ({ index, section, tag }) => {
34
+ return css({
35
+ position: 'absolute',
36
+ display: 'flex',
37
+ flexDirection: 'column',
38
+ alignItems: section == 'right' ? 'flex-end' : 'flex-start',
39
+ right: section == 'right' ? 0 : undefined,
40
+ gap: '0.5em',
41
+ gridArea: tag,
42
+ boxSizing: 'border-box',
43
+ zIndex: Math.max(100 - index, 1),
44
+ width: '100%',
45
+ height: '100%',
46
+ });
47
+ },
48
+ };
49
+ export const OverlayBadge = observer((properties) => {
50
+ const globalTheme = useTheme();
51
+ const props = {
52
+ // default props
53
+ // global theme
54
+ ...globalTheme?.components?.overlayBadge,
55
+ // props
56
+ ...properties,
57
+ ...properties.theme?.components?.overlayBadge,
58
+ };
59
+ const { result, children, controller, renderEmpty, disableStyles, className, style } = props;
60
+ const styling = {};
61
+ if (!children) {
62
+ controller?.log?.warn('OverlayBadge component must have children');
63
+ return jsx(Fragment, null);
64
+ }
65
+ const limit = 1;
66
+ const meta = controller?.store?.meta;
67
+ const group = 'overlay';
68
+ const grid = meta?.badges?.groups?.[group]?.grid;
69
+ const badgeComponentMap = { ...defaultBadgeComponentMap, ...props.componentMap };
70
+ const sections = meta?.badges?.groups?.[group]?.sections;
71
+ // build locations and filter out the locations that have no badges in them to prevent rendering
72
+ const locations = sections
73
+ ?.map((section) => {
74
+ const sectionSlots = meta?.data?.badges?.locations[section];
75
+ const slots = sectionSlots
76
+ ?.map((slot) => ({
77
+ tag: slot.tag,
78
+ name: slot.name,
79
+ badges: result?.badges?.atLocation(`${section}/${slot.tag}`).slice(0, limit),
80
+ }))
81
+ .filter((slot) => slot.badges.length);
82
+ return {
83
+ section,
84
+ slots,
85
+ };
86
+ })
87
+ .filter((location) => location.slots?.length);
88
+ if (!disableStyles) {
89
+ styling.css = [CSS.OverlayBadge({ ...props, grid }), style];
90
+ }
91
+ else if (style) {
92
+ styling.css = [style];
93
+ }
94
+ if (renderEmpty || locations?.length) {
95
+ return (jsx(CacheProvider, null,
96
+ jsx("div", { ...styling, className: classnames('ss__overlay-badge', className) },
97
+ jsx("div", { className: "ss__overlay-badge__grid-wrapper" }, locations.map((location, index) => {
98
+ return location.slots?.map((slot) => {
99
+ return (jsx("div", { className: classnames('ss__overlay-badge__grid-wrapper__slot', `ss__overlay-badge__grid-wrapper__slot--${slot.tag}`), css: [CSS.BadgePositioning({ tag: slot.tag, section: location.section, index })] }, slot.badges.map((badge) => {
100
+ const BadgeComponent = useComponent(badgeComponentMap, badge.component);
101
+ if (!BadgeComponent) {
102
+ return jsx(Fragment, null);
103
+ }
104
+ return jsx(BadgeComponent, { ...badge, ...badge.parameters });
105
+ })));
106
+ });
107
+ })),
108
+ children)));
109
+ }
110
+ return jsx(Fragment, null, children);
111
+ });
@@ -0,0 +1,2 @@
1
+ export * from './OverlayBadge';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/OverlayBadge/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './OverlayBadge';
@@ -1 +1 @@
1
- {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Result/Result.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAsB,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACxH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AA4D7D,eAAO,MAAM,MAAM,eAAyB,WAAW,KAAG,WA2HxD,CAAC;AAOH,UAAU,kBAAkB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IAClE,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;CAClF"}
1
+ {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Result/Result.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAsB,MAAM,gBAAgB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACxH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AA4D7D,eAAO,MAAM,MAAM,eAAyB,WAAW,KAAG,WAuJxD,CAAC;AAQH,UAAU,kBAAkB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IAClE,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;CAClF"}
@@ -4,12 +4,13 @@ import { observer } from 'mobx-react';
4
4
  import { jsx, css } from '@emotion/react';
5
5
  import classnames from 'classnames';
6
6
  import { Image } from '../../Atoms/Image';
7
- import { Badge } from '../../Atoms/Badge';
8
7
  import { Price } from '../../Atoms/Price';
9
8
  import { useTheme, CacheProvider } from '../../../providers';
10
9
  import { defined, cloneWithProps } from '../../../utilities';
11
10
  import { filters } from '@searchspring/snap-toolbox';
12
11
  import { Layout } from '../../../types';
12
+ import { CalloutBadge } from '../../Molecules/CalloutBadge';
13
+ import { OverlayBadge } from '../../Molecules/OverlayBadge';
13
14
  const CSS = {
14
15
  result: () => css({
15
16
  '&.ss__result--grid': {
@@ -87,15 +88,28 @@ export const Result = observer((properties) => {
87
88
  // component theme overrides
88
89
  theme: props.theme,
89
90
  },
90
- badge: {
91
+ calloutBadge: {
91
92
  // default props
92
- className: 'ss__result__badge',
93
- content: 'Sale',
93
+ className: 'ss__result__callout-badge',
94
94
  // global theme
95
- ...globalTheme?.components?.badge,
95
+ ...globalTheme?.components?.calloutBadge,
96
96
  // inherited props
97
97
  ...defined({
98
98
  disableStyles,
99
+ result,
100
+ }),
101
+ // component theme overrides
102
+ theme: props.theme,
103
+ },
104
+ overlayBadge: {
105
+ // default props
106
+ className: 'ss__result__overlay-badge',
107
+ // global theme
108
+ ...globalTheme?.components?.overlayBadge,
109
+ // inherited props
110
+ ...defined({
111
+ disableStyles,
112
+ result,
99
113
  }),
100
114
  // component theme overrides
101
115
  theme: props.theme,
@@ -116,7 +130,6 @@ export const Result = observer((properties) => {
116
130
  theme: props?.theme,
117
131
  },
118
132
  };
119
- const onSale = Boolean(core?.msrp && core.price && core?.msrp * 1 > core?.price * 1);
120
133
  let displayName = core?.name;
121
134
  if (props.truncateTitle) {
122
135
  displayName = filters.truncate(core?.name || '', props.truncateTitle.limit, props.truncateTitle.append);
@@ -134,10 +147,11 @@ export const Result = observer((properties) => {
134
147
  jsx("a", { href: core.url, onClick: (e) => {
135
148
  onClick && onClick(e);
136
149
  controller?.track?.product?.click(e, result);
137
- } },
138
- !hideBadge && onSale && jsx(Badge, { ...subProps.badge }),
139
- !hideImage && jsx(Image, { ...subProps.image }))),
150
+ } }, !hideImage &&
151
+ (!hideBadge ? (jsx(OverlayBadge, { ...subProps.overlayBadge, controller: controller },
152
+ jsx(Image, { ...subProps.image }))) : (jsx(Image, { ...subProps.image }))))),
140
153
  jsx("div", { className: "ss__result__details" },
154
+ !hideBadge && (jsx(CalloutBadge, { ...subProps.calloutBadge, controller: controller })),
141
155
  !hideTitle && (jsx("div", { className: "ss__result__details__title" },
142
156
  jsx("a", { href: core.url, onClick: (e) => {
143
157
  onClick && onClick(e);
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { ComponentProps, SwatchOption, BreakpointsProps } from '../../../types';
3
+ import { CarouselProps } from '../Carousel';
4
+ import { GridProps } from '../Grid';
5
+ export declare function Swatches(properties: SwatchesProps): JSX.Element;
6
+ export type SwatchesProps = {
7
+ options: SwatchOption[];
8
+ onSelect?: (e: React.MouseEvent<HTMLElement>, option: SwatchOption) => void;
9
+ selected?: SwatchOption;
10
+ hideLabels?: boolean;
11
+ breakpoints?: BreakpointsProps;
12
+ } & ({
13
+ type?: 'carousel';
14
+ carousel?: Partial<CarouselProps>;
15
+ } | {
16
+ type?: 'grid';
17
+ grid?: Partial<GridProps>;
18
+ }) & ComponentProps;
19
+ //# sourceMappingURL=Swatches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Swatches.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Swatches/Swatches.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,cAAc,EAAc,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG5F,OAAO,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAQ,SAAS,EAAE,MAAM,SAAS,CAAC;AAoD1C,wBAAgB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA2K/D;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5E,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAC/B,GAAG,CACD;IACA,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC,GACD;IACA,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACzB,CACH,GACA,cAAc,CAAC"}