@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,210 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Grid = void 0;
27
+ /** @jsx jsx */
28
+ var preact_1 = require("preact");
29
+ var react_1 = require("@emotion/react");
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var providers_1 = require("../../../providers");
32
+ var react_2 = require("react");
33
+ var hooks_1 = require("../../../hooks");
34
+ var Image_1 = require("../../Atoms/Image");
35
+ var utilities_1 = require("../../../utilities");
36
+ var snap_toolbox_1 = require("@searchspring/snap-toolbox");
37
+ var CSS = {
38
+ Grid: function (_a) {
39
+ var _b;
40
+ var _c, _d, _e;
41
+ var theme = _a.theme, columns = _a.columns, gapSize = _a.gapSize, disableOverflowAction = _a.disableOverflowAction;
42
+ return (0, react_1.css)({
43
+ '.ss__grid__options': {
44
+ display: 'flex',
45
+ flexFlow: 'row wrap',
46
+ gridTemplateColumns: "repeat(".concat(columns, ", 1fr)"),
47
+ gap: gapSize,
48
+ gridAutoRows: "1fr",
49
+ '& .ss__grid__option': (_b = {
50
+ display: 'flex',
51
+ flexDirection: 'column',
52
+ boxSizing: 'content-box',
53
+ backgroundRepeat: 'no-repeat',
54
+ backgroundSize: "calc(100% / ".concat(columns, " - ").concat(2 * Math.round((columns + 2) / 2), "px)"),
55
+ backgroundPosition: 'center !important',
56
+ justifyContent: 'center',
57
+ alignItems: 'center',
58
+ flex: '0 1 auto',
59
+ border: "1px solid ".concat(((_c = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _c === void 0 ? void 0 : _c.primary) || '#333'),
60
+ textAlign: 'center',
61
+ wordBreak: 'break-all',
62
+ padding: '1em 0',
63
+ width: "calc(100% / ".concat(columns, " - ").concat(2 * Math.round((columns + 2) / 2), "px)"),
64
+ margin: "0 ".concat(gapSize, " ").concat(gapSize, " 0"),
65
+ '.ss__grid__option__label': {
66
+ cursor: 'pointer',
67
+ }
68
+ },
69
+ _b[":nth-of-type(".concat(columns, "n)")] = {
70
+ marginRight: '0',
71
+ },
72
+ _b['&.ss__grid__option--selected'] = {
73
+ border: "2px solid ".concat(((_d = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _d === void 0 ? void 0 : _d.primary) || '#333'),
74
+ },
75
+ _b['&.ss__grid__option--disabled'] = {
76
+ position: 'relative',
77
+ opacity: '.5',
78
+ cursor: 'none',
79
+ pointerEvents: 'none',
80
+ },
81
+ _b['&.ss__grid__option--unavailable'] = {
82
+ position: 'relative',
83
+ opacity: '.5',
84
+ },
85
+ _b['&.ss__grid__option--disabled:before, &.ss__grid__option--unavailable:before'] = {
86
+ content: '""',
87
+ display: 'block',
88
+ position: 'absolute',
89
+ top: '50%',
90
+ width: '90%',
91
+ height: '1px',
92
+ borderTop: '3px solid #eee',
93
+ outline: '1px solid #ffff',
94
+ transform: 'rotate(-45deg)',
95
+ },
96
+ _b['&:hover:not(.ss__grid__option--selected)'] = {
97
+ cursor: 'pointer',
98
+ background: ((_e = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _e === void 0 ? void 0 : _e.hover) || '#f8f8f8',
99
+ },
100
+ _b),
101
+ '@supports (display: grid)': {
102
+ display: 'grid',
103
+ '& .ss__grid__option': {
104
+ padding: '0',
105
+ margin: '0',
106
+ width: 'initial',
107
+ },
108
+ '&::before': {
109
+ content: '""',
110
+ width: 0,
111
+ paddingBottom: '100%',
112
+ gridRow: '1 / 1',
113
+ gridColumn: '1 / 1',
114
+ },
115
+ '&> *:first-of-type': {
116
+ gridRow: '1 / 1',
117
+ gridColumn: '1 / 1',
118
+ },
119
+ },
120
+ },
121
+ '.ss__grid__show-more-wrapper': {
122
+ '&:hover': {
123
+ cursor: disableOverflowAction ? 'initial !important' : 'pointer !important',
124
+ },
125
+ },
126
+ });
127
+ },
128
+ };
129
+ function Grid(properties) {
130
+ var _a, _b, _c, _d;
131
+ var globalTheme = (0, providers_1.useTheme)();
132
+ var theme = __assign(__assign({}, globalTheme), properties.theme);
133
+ var props = __assign(__assign(__assign({
134
+ // default props
135
+ multiSelect: false, columns: 4, gapSize: '8px' }, (_a = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _a === void 0 ? void 0 : _a.grid), properties), (_c = (_b = properties.theme) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.grid);
136
+ var titleText = props.titleText, onSelect = props.onSelect, hideLabels = props.hideLabels, disableOverflowAction = props.disableOverflowAction, multiSelect = props.multiSelect, overflowButton = props.overflowButton, columns = props.columns, rows = props.rows, hideShowLess = props.hideShowLess, gapSize = props.gapSize, overflowButtonInGrid = props.overflowButtonInGrid, disabled = props.disabled, options = props.options, disableStyles = props.disableStyles, onOverflowButtonClick = props.onOverflowButtonClick, className = props.className, style = props.style;
137
+ var subProps = {
138
+ image: __assign(__assign(__assign({
139
+ // default props
140
+ className: 'ss__swatches__Image' }, (_d = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _d === void 0 ? void 0 : _d.image), (0, utilities_1.defined)({
141
+ disableStyles: disableStyles,
142
+ })), {
143
+ // component theme overrides
144
+ theme: props === null || props === void 0 ? void 0 : props.theme }),
145
+ };
146
+ var selected = props.selected;
147
+ var styling = {};
148
+ if (!disableStyles) {
149
+ styling.css = [CSS.Grid({ theme: theme, columns: columns, gapSize: gapSize, disableOverflowAction: disableOverflowAction }), style];
150
+ }
151
+ else if (style) {
152
+ styling.css = [style];
153
+ }
154
+ if (selected && !Array.isArray(selected)) {
155
+ selected = [selected];
156
+ }
157
+ // selection state
158
+ var _e = (0, react_2.useState)(selected || []), selection = _e[0], setSelection = _e[1];
159
+ var makeSelection = function (e, option) {
160
+ if (multiSelect) {
161
+ var newArray = void 0;
162
+ if (selection.find(function (select) { return select.value === option.value; })) {
163
+ newArray = __spreadArray([], selection, true);
164
+ newArray.splice(newArray.findIndex(function (select) { return select.value === option.value; }), 1);
165
+ }
166
+ else {
167
+ newArray = __spreadArray(__spreadArray([], selection, true), [option], false);
168
+ }
169
+ if (onSelect) {
170
+ onSelect(e, option, newArray);
171
+ }
172
+ setSelection(newArray);
173
+ }
174
+ else {
175
+ if (onSelect) {
176
+ onSelect(e, option, [option]);
177
+ }
178
+ setSelection([option]);
179
+ }
180
+ };
181
+ var limit = rows && columns ? columns * rows : options.length;
182
+ var remainder = Math.max(0, options.length - (limit - (overflowButtonInGrid ? 1 : 0)));
183
+ var _f = (0, react_2.useState)(remainder), limited = _f[0], setLimited = _f[1];
184
+ var OverflowButtonElem = function () {
185
+ var showButton = hideShowLess ? (!limited ? false : true) : true;
186
+ return showButton && remainder > 0 && options.length !== limit ? ((0, react_1.jsx)("div", { className: "ss__grid__show-more-wrapper ".concat(overflowButtonInGrid ? 'ss__grid__option' : ''), onClick: function (e) {
187
+ !disableOverflowAction && setLimited(!limited);
188
+ onOverflowButtonClick && onOverflowButtonClick(e, Boolean(limited), remainder);
189
+ } }, overflowButton ? ((0, utilities_1.cloneWithProps)(overflowButton, { limited: limited, remainder: remainder })) : limited ? ((0, react_1.jsx)("span", { className: 'ss__grid__show-more' }, "+ ".concat(remainder))) : remainder ? ((0, react_1.jsx)("span", { className: 'ss__grid__show-less' }, "Less")) : ((0, react_1.jsx)(preact_1.Fragment, null)))) : ((0, react_1.jsx)(preact_1.Fragment, null));
190
+ };
191
+ return typeof options == 'object' && (options === null || options === void 0 ? void 0 : options.length) ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
192
+ (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__grid', disabled ? 'ss__grid--disabled' : '', className) }),
193
+ titleText && (0, react_1.jsx)("h5", { className: "ss__grid__title" }, titleText),
194
+ (0, react_1.jsx)("div", { className: "ss__grid__options" },
195
+ options.map(function (option, idx) {
196
+ var selected = selection.some(function (select) { return select.value == option.value; });
197
+ if (!limited || options.length == limit || idx < limit - (overflowButtonInGrid ? 1 : 0)) {
198
+ return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)("ss__grid__option ss__grid__option--".concat(snap_toolbox_1.filters.handleize(option.value.toString())), {
199
+ 'ss__grid__option--selected': selected,
200
+ 'ss__grid__option--disabled': option === null || option === void 0 ? void 0 : option.disabled,
201
+ 'ss__grid__option--unavailable': (option === null || option === void 0 ? void 0 : option.available) === false,
202
+ }), style: { background: option.background ? option.background : option.backgroundImageUrl ? undefined : option.value }, onClick: function (e) { return !disabled && !(option === null || option === void 0 ? void 0 : option.disabled) && makeSelection(e, option); }, ref: function (e) { return (0, hooks_1.useA11y)(e); }, title: option.label, role: "option", "aria-selected": selected },
203
+ !option.background && option.backgroundImageUrl ? ((0, react_1.jsx)(Image_1.Image, __assign({}, subProps.image, { src: option.backgroundImageUrl, alt: option.label || option.value.toString() }))) : ((0, react_1.jsx)(preact_1.Fragment, null)),
204
+ !hideLabels ? (0, react_1.jsx)("label", { className: "ss__grid__option__label" }, option.label || option.value) : (0, react_1.jsx)(preact_1.Fragment, null)));
205
+ }
206
+ }),
207
+ overflowButtonInGrid ? (0, react_1.jsx)(OverflowButtonElem, null) : (0, react_1.jsx)(preact_1.Fragment, null)),
208
+ !overflowButtonInGrid ? (0, react_1.jsx)(OverflowButtonElem, null) : (0, react_1.jsx)(preact_1.Fragment, null)))) : ((0, react_1.jsx)(preact_1.Fragment, null));
209
+ }
210
+ exports.Grid = Grid;
@@ -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"}
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Badge"), exports);
17
+ __exportStar(require("./Grid"), exports);
@@ -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,158 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.List = void 0;
27
+ /** @jsx jsx */
28
+ var preact_1 = require("preact");
29
+ var react_1 = require("@emotion/react");
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var providers_1 = require("../../../providers");
32
+ var utilities_1 = require("../../../utilities");
33
+ var react_2 = require("react");
34
+ var Checkbox_1 = require("../Checkbox");
35
+ var hooks_1 = require("../../../hooks");
36
+ var Icon_1 = require("../../Atoms/Icon");
37
+ var snap_toolbox_1 = require("@searchspring/snap-toolbox");
38
+ var CSS = {
39
+ List: function (_a) {
40
+ var horizontal = _a.horizontal;
41
+ return (0, react_1.css)({
42
+ display: 'flex',
43
+ flexDirection: horizontal ? 'row' : 'column',
44
+ alignItems: horizontal ? 'center' : undefined,
45
+ justifyItems: 'flex-start',
46
+ gap: '5px',
47
+ '& .ss__list__options': {
48
+ border: 'none',
49
+ listStyle: 'none',
50
+ padding: '0px',
51
+ margin: '0px',
52
+ display: 'flex',
53
+ flexDirection: horizontal ? 'row' : 'column',
54
+ alignItems: horizontal ? 'center' : undefined,
55
+ justifyItems: 'flex-start',
56
+ gap: '5px',
57
+ },
58
+ '.ss__list__option': {
59
+ cursor: 'pointer',
60
+ display: 'flex',
61
+ alignItems: 'center',
62
+ gap: '5px',
63
+ '& .ss__list__option__label , .ss__list__option__icon': {
64
+ cursor: 'pointer',
65
+ },
66
+ },
67
+ '&.ss__list--disabled, .ss__list__option--disabled': {
68
+ cursor: 'none',
69
+ pointerEvents: 'none',
70
+ opacity: 0.5,
71
+ },
72
+ '&.ss__list--disabled, .ss__list__option--unavailable': {
73
+ cursor: 'pointer',
74
+ opacity: 0.5,
75
+ },
76
+ '.ss__list__option--selected': {
77
+ fontWeight: 'bold',
78
+ },
79
+ });
80
+ },
81
+ };
82
+ function List(properties) {
83
+ var _a, _b, _c;
84
+ var globalTheme = (0, providers_1.useTheme)();
85
+ var props = __assign(__assign(__assign({}, (_a = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _a === void 0 ? void 0 : _a.list), properties), (_c = (_b = properties.theme) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.list);
86
+ var titleText = props.titleText, onSelect = props.onSelect, native = props.native, multiSelect = props.multiSelect, hideOptionLabels = props.hideOptionLabels, hideOptionIcons = props.hideOptionIcons, hideOptionCheckboxes = props.hideOptionCheckboxes, disabled = props.disabled, options = props.options, requireSelection = props.requireSelection, disableStyles = props.disableStyles, className = props.className, style = props.style, horizontal = props.horizontal;
87
+ var selected = props.selected;
88
+ var subProps = {
89
+ checkbox: __assign(__assign({
90
+ // default props
91
+ native: native }, (0, utilities_1.defined)({
92
+ disableStyles: disableStyles,
93
+ })), {
94
+ // component theme overrides
95
+ theme: props === null || props === void 0 ? void 0 : props.theme }),
96
+ icon: __assign(__assign({
97
+ // default props
98
+ className: 'ss__list__option__icon' }, (0, utilities_1.defined)({
99
+ disableStyles: disableStyles,
100
+ })), {
101
+ // component theme overrides
102
+ theme: props === null || props === void 0 ? void 0 : props.theme }),
103
+ };
104
+ var styling = {};
105
+ if (!disableStyles) {
106
+ styling.css = [CSS.List({ horizontal: horizontal }), style];
107
+ }
108
+ else if (style) {
109
+ styling.css = [style];
110
+ }
111
+ if (selected && !Array.isArray(selected)) {
112
+ selected = [selected];
113
+ }
114
+ // selection state
115
+ var _d = (0, react_2.useState)(selected || []), selection = _d[0], setSelection = _d[1];
116
+ var makeSelection = function (e, option) {
117
+ var newArray;
118
+ if (multiSelect) {
119
+ if (selection.find(function (select) { return select.value === option.value; })) {
120
+ newArray = __spreadArray([], selection, true);
121
+ newArray.splice(newArray.findIndex(function (select) { return select.value === option.value; }), 1);
122
+ if (newArray.length == 0 && requireSelection) {
123
+ newArray = [option];
124
+ }
125
+ }
126
+ else {
127
+ newArray = __spreadArray(__spreadArray([], selection, true), [option], false);
128
+ }
129
+ }
130
+ else {
131
+ if (!requireSelection && selection.find(function (select) { return select.value === option.value; })) {
132
+ newArray = [];
133
+ }
134
+ else {
135
+ newArray = [option];
136
+ }
137
+ }
138
+ if (onSelect) {
139
+ onSelect(e, option, newArray);
140
+ }
141
+ setSelection(newArray);
142
+ };
143
+ return typeof options == 'object' && (options === null || options === void 0 ? void 0 : options.length) ? ((0, react_1.jsx)(providers_1.CacheProvider, null,
144
+ (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__list', disabled ? 'ss__list--disabled' : '', className) }),
145
+ titleText && (0, react_1.jsx)("h5", { className: "ss__list__title" }, titleText),
146
+ (0, react_1.jsx)("ul", { className: "ss__list__options", role: "listbox", "aria-label": titleText }, options.map(function (option) {
147
+ var selected = selection.some(function (select) { return select.value == option.value; });
148
+ return ((0, react_1.jsx)("li", { className: (0, classnames_1.default)("ss__list__option ss__list__option--".concat(snap_toolbox_1.filters.handleize(option.value.toString())), {
149
+ 'ss__list__option--selected': selected,
150
+ 'ss__list__option--disabled': option === null || option === void 0 ? void 0 : option.disabled,
151
+ 'ss__list__option--unavailable': (option === null || option === void 0 ? void 0 : option.available) === false,
152
+ }), ref: function (e) { return (0, hooks_1.useA11y)(e); }, onClick: function (e) { return !disabled && !(option === null || option === void 0 ? void 0 : option.disabled) && makeSelection(e, option); }, title: option.label, role: "option", "aria-selected": selected },
153
+ !hideOptionCheckboxes && (0, react_1.jsx)(Checkbox_1.Checkbox, __assign({}, subProps.checkbox, { checked: selected, disableA11y: true })),
154
+ option.icon && !hideOptionIcons && ((0, react_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, (typeof option.icon == 'string' ? { icon: option.icon } : option.icon)))),
155
+ !hideOptionLabels && (option.label || !option.icon) && ((0, react_1.jsx)("label", { className: "ss__list__option__label" }, option.label || option.value))));
156
+ }))))) : ((0, react_1.jsx)(preact_1.Fragment, null));
157
+ }
158
+ exports.List = List;
@@ -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,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./List"), exports);
@@ -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,118 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.OverlayBadge = void 0;
18
+ /** @jsx jsx */
19
+ var preact_1 = require("preact");
20
+ var react_1 = require("@emotion/react");
21
+ var classnames_1 = __importDefault(require("classnames"));
22
+ var mobx_react_lite_1 = require("mobx-react-lite");
23
+ var providers_1 = require("../../../providers");
24
+ var utilities_1 = require("../../../utilities");
25
+ var hooks_1 = require("../../../hooks");
26
+ var CSS = {
27
+ OverlayBadge: function (_a) {
28
+ var _b;
29
+ var grid = _a.grid;
30
+ var gridProperties = {};
31
+ if ((grid === null || grid === void 0 ? void 0 : grid.length) && ((_b = grid[0]) === null || _b === void 0 ? void 0 : _b.length)) {
32
+ var gridTemplateAreas = grid.map(function (row) { return "\"".concat(row.join(' '), "\""); }).join(' ');
33
+ var columns = grid[0].length;
34
+ gridProperties = {
35
+ gridTemplateColumns: "repeat(".concat(columns, ", 1fr)"),
36
+ gridTemplateAreas: gridTemplateAreas,
37
+ };
38
+ }
39
+ return (0, react_1.css)({
40
+ position: 'relative',
41
+ '& .ss__overlay-badge__grid-wrapper': __assign({ display: 'grid', position: 'absolute', top: 0, right: 0, bottom: 0, left: 0 }, gridProperties),
42
+ });
43
+ },
44
+ BadgePositioning: function (_a) {
45
+ var index = _a.index, section = _a.section, tag = _a.tag;
46
+ return (0, react_1.css)({
47
+ position: 'absolute',
48
+ display: 'flex',
49
+ flexDirection: 'column',
50
+ alignItems: section == 'right' ? 'flex-end' : 'flex-start',
51
+ right: section == 'right' ? 0 : undefined,
52
+ gap: '0.5em',
53
+ gridArea: tag,
54
+ boxSizing: 'border-box',
55
+ zIndex: Math.max(100 - index, 1),
56
+ width: '100%',
57
+ height: '100%',
58
+ });
59
+ },
60
+ };
61
+ exports.OverlayBadge = (0, mobx_react_lite_1.observer)(function (properties) {
62
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
63
+ var globalTheme = (0, providers_1.useTheme)();
64
+ var props = __assign(__assign(__assign({}, (_a = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _a === void 0 ? void 0 : _a.overlayBadge), properties), (_c = (_b = properties.theme) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.overlayBadge);
65
+ var result = props.result, children = props.children, controller = props.controller, renderEmpty = props.renderEmpty, disableStyles = props.disableStyles, className = props.className, style = props.style;
66
+ var styling = {};
67
+ if (!children) {
68
+ (_d = controller === null || controller === void 0 ? void 0 : controller.log) === null || _d === void 0 ? void 0 : _d.warn('OverlayBadge component must have children');
69
+ return (0, react_1.jsx)(preact_1.Fragment, null);
70
+ }
71
+ var limit = 1;
72
+ var meta = (_e = controller === null || controller === void 0 ? void 0 : controller.store) === null || _e === void 0 ? void 0 : _e.meta;
73
+ var group = 'overlay';
74
+ var grid = (_h = (_g = (_f = meta === null || meta === void 0 ? void 0 : meta.badges) === null || _f === void 0 ? void 0 : _f.groups) === null || _g === void 0 ? void 0 : _g[group]) === null || _h === void 0 ? void 0 : _h.grid;
75
+ var badgeComponentMap = __assign(__assign({}, utilities_1.defaultBadgeComponentMap), props.componentMap);
76
+ var sections = (_l = (_k = (_j = meta === null || meta === void 0 ? void 0 : meta.badges) === null || _j === void 0 ? void 0 : _j.groups) === null || _k === void 0 ? void 0 : _k[group]) === null || _l === void 0 ? void 0 : _l.sections;
77
+ // build locations and filter out the locations that have no badges in them to prevent rendering
78
+ var locations = sections === null || sections === void 0 ? void 0 : sections.map(function (section) {
79
+ var _a, _b;
80
+ var sectionSlots = (_b = (_a = meta === null || meta === void 0 ? void 0 : meta.data) === null || _a === void 0 ? void 0 : _a.badges) === null || _b === void 0 ? void 0 : _b.locations[section];
81
+ var slots = sectionSlots === null || sectionSlots === void 0 ? void 0 : sectionSlots.map(function (slot) {
82
+ var _a;
83
+ return ({
84
+ tag: slot.tag,
85
+ name: slot.name,
86
+ badges: (_a = result === null || result === void 0 ? void 0 : result.badges) === null || _a === void 0 ? void 0 : _a.atLocation("".concat(section, "/").concat(slot.tag)).slice(0, limit),
87
+ });
88
+ }).filter(function (slot) { return slot.badges.length; });
89
+ return {
90
+ section: section,
91
+ slots: slots,
92
+ };
93
+ }).filter(function (location) { var _a; return (_a = location.slots) === null || _a === void 0 ? void 0 : _a.length; });
94
+ if (!disableStyles) {
95
+ styling.css = [CSS.OverlayBadge(__assign(__assign({}, props), { grid: grid })), style];
96
+ }
97
+ else if (style) {
98
+ styling.css = [style];
99
+ }
100
+ if (renderEmpty || (locations === null || locations === void 0 ? void 0 : locations.length)) {
101
+ return ((0, react_1.jsx)(providers_1.CacheProvider, null,
102
+ (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__overlay-badge', className) }),
103
+ (0, react_1.jsx)("div", { className: "ss__overlay-badge__grid-wrapper" }, locations.map(function (location, index) {
104
+ var _a;
105
+ return (_a = location.slots) === null || _a === void 0 ? void 0 : _a.map(function (slot) {
106
+ return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__overlay-badge__grid-wrapper__slot', "ss__overlay-badge__grid-wrapper__slot--".concat(slot.tag)), css: [CSS.BadgePositioning({ tag: slot.tag, section: location.section, index: index })] }, slot.badges.map(function (badge) {
107
+ var BadgeComponent = (0, hooks_1.useComponent)(badgeComponentMap, badge.component);
108
+ if (!BadgeComponent) {
109
+ return (0, react_1.jsx)(preact_1.Fragment, null);
110
+ }
111
+ return (0, react_1.jsx)(BadgeComponent, __assign({}, badge, badge.parameters));
112
+ })));
113
+ });
114
+ })),
115
+ children)));
116
+ }
117
+ return (0, react_1.jsx)(preact_1.Fragment, null, children);
118
+ });
@@ -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,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./OverlayBadge"), exports);
@@ -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"}