@searchspring/snap-preact-components 0.54.0 → 0.55.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 (126) 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/{Badge → BadgePill}/index.js +1 -1
  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/OverlayBadge/OverlayBadge.d.ts +17 -0
  32. package/dist/cjs/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -0
  33. package/dist/cjs/components/Molecules/OverlayBadge/OverlayBadge.js +118 -0
  34. package/dist/cjs/components/Molecules/OverlayBadge/index.d.ts +2 -0
  35. package/dist/cjs/components/Molecules/OverlayBadge/index.d.ts.map +1 -0
  36. package/dist/cjs/components/Molecules/OverlayBadge/index.js +17 -0
  37. package/dist/cjs/components/Molecules/Result/Result.d.ts.map +1 -1
  38. package/dist/cjs/components/Molecules/Result/Result.js +19 -9
  39. package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  40. package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.js +0 -3
  41. package/dist/cjs/hooks/index.d.ts +1 -0
  42. package/dist/cjs/hooks/index.d.ts.map +1 -1
  43. package/dist/cjs/hooks/index.js +1 -0
  44. package/dist/cjs/hooks/useComponent.d.ts +4 -0
  45. package/dist/cjs/hooks/useComponent.d.ts.map +1 -0
  46. package/dist/cjs/hooks/useComponent.js +23 -0
  47. package/dist/cjs/index.d.ts +6 -1
  48. package/dist/cjs/index.d.ts.map +1 -1
  49. package/dist/cjs/index.js +6 -1
  50. package/dist/cjs/types.d.ts +5 -1
  51. package/dist/cjs/types.d.ts.map +1 -1
  52. package/dist/cjs/utilities/defaultBadgeComponentMap.d.ts +3 -0
  53. package/dist/cjs/utilities/defaultBadgeComponentMap.d.ts.map +1 -0
  54. package/dist/cjs/utilities/defaultBadgeComponentMap.js +13 -0
  55. package/dist/cjs/utilities/index.d.ts +1 -0
  56. package/dist/cjs/utilities/index.d.ts.map +1 -1
  57. package/dist/cjs/utilities/index.js +1 -0
  58. package/dist/esm/components/Atoms/BadgeImage/BadgeImage.d.ts +11 -0
  59. package/dist/esm/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -0
  60. package/dist/esm/components/Atoms/BadgeImage/BadgeImage.js +35 -0
  61. package/dist/esm/components/Atoms/BadgeImage/index.d.ts +2 -0
  62. package/dist/esm/components/Atoms/BadgeImage/index.d.ts.map +1 -0
  63. package/dist/esm/components/Atoms/BadgeImage/index.js +1 -0
  64. package/dist/esm/components/Atoms/BadgePill/BadgePill.d.ts +12 -0
  65. package/dist/esm/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -0
  66. package/dist/esm/components/Atoms/BadgePill/BadgePill.js +46 -0
  67. package/dist/esm/components/Atoms/BadgePill/index.d.ts +2 -0
  68. package/dist/esm/components/Atoms/BadgePill/index.d.ts.map +1 -0
  69. package/dist/esm/components/Atoms/BadgePill/index.js +1 -0
  70. package/dist/esm/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts +12 -0
  71. package/dist/esm/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -0
  72. package/dist/esm/components/Atoms/BadgeRectangle/BadgeRectangle.js +45 -0
  73. package/dist/esm/components/Atoms/BadgeRectangle/index.d.ts +2 -0
  74. package/dist/esm/components/Atoms/BadgeRectangle/index.d.ts.map +1 -0
  75. package/dist/esm/components/Atoms/BadgeRectangle/index.js +1 -0
  76. package/dist/esm/components/Atoms/BadgeText/BadgeText.d.ts +11 -0
  77. package/dist/esm/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -0
  78. package/dist/esm/components/Atoms/BadgeText/BadgeText.js +43 -0
  79. package/dist/esm/components/Atoms/BadgeText/index.d.ts +2 -0
  80. package/dist/esm/components/Atoms/BadgeText/index.d.ts.map +1 -0
  81. package/dist/esm/components/Atoms/BadgeText/index.js +1 -0
  82. package/dist/esm/components/Molecules/CalloutBadge/CalloutBadge.d.ts +13 -0
  83. package/dist/esm/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -0
  84. package/dist/esm/components/Molecules/CalloutBadge/CalloutBadge.js +49 -0
  85. package/dist/esm/components/Molecules/CalloutBadge/index.d.ts +2 -0
  86. package/dist/esm/components/Molecules/CalloutBadge/index.d.ts.map +1 -0
  87. package/dist/esm/components/Molecules/CalloutBadge/index.js +1 -0
  88. package/dist/esm/components/Molecules/OverlayBadge/OverlayBadge.d.ts +17 -0
  89. package/dist/esm/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -0
  90. package/dist/esm/components/Molecules/OverlayBadge/OverlayBadge.js +111 -0
  91. package/dist/esm/components/Molecules/OverlayBadge/index.d.ts +2 -0
  92. package/dist/esm/components/Molecules/OverlayBadge/index.d.ts.map +1 -0
  93. package/dist/esm/components/Molecules/OverlayBadge/index.js +1 -0
  94. package/dist/esm/components/Molecules/Result/Result.d.ts.map +1 -1
  95. package/dist/esm/components/Molecules/Result/Result.js +23 -9
  96. package/dist/esm/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  97. package/dist/esm/components/Organisms/Autocomplete/Autocomplete.js +0 -3
  98. package/dist/esm/hooks/index.d.ts +1 -0
  99. package/dist/esm/hooks/index.d.ts.map +1 -1
  100. package/dist/esm/hooks/index.js +1 -0
  101. package/dist/esm/hooks/useComponent.d.ts +4 -0
  102. package/dist/esm/hooks/useComponent.d.ts.map +1 -0
  103. package/dist/esm/hooks/useComponent.js +19 -0
  104. package/dist/esm/index.d.ts +6 -1
  105. package/dist/esm/index.d.ts.map +1 -1
  106. package/dist/esm/index.js +6 -1
  107. package/dist/esm/types.d.ts +5 -1
  108. package/dist/esm/types.d.ts.map +1 -1
  109. package/dist/esm/utilities/defaultBadgeComponentMap.d.ts +3 -0
  110. package/dist/esm/utilities/defaultBadgeComponentMap.d.ts.map +1 -0
  111. package/dist/esm/utilities/defaultBadgeComponentMap.js +10 -0
  112. package/dist/esm/utilities/index.d.ts +1 -0
  113. package/dist/esm/utilities/index.d.ts.map +1 -1
  114. package/dist/esm/utilities/index.js +1 -0
  115. package/package.json +11 -11
  116. package/dist/cjs/components/Atoms/Badge/Badge.d.ts +0 -16
  117. package/dist/cjs/components/Atoms/Badge/Badge.d.ts.map +0 -1
  118. package/dist/cjs/components/Atoms/Badge/Badge.js +0 -47
  119. package/dist/cjs/components/Atoms/Badge/index.d.ts +0 -2
  120. package/dist/cjs/components/Atoms/Badge/index.d.ts.map +0 -1
  121. package/dist/esm/components/Atoms/Badge/Badge.d.ts +0 -16
  122. package/dist/esm/components/Atoms/Badge/Badge.d.ts.map +0 -1
  123. package/dist/esm/components/Atoms/Badge/Badge.js +0 -36
  124. package/dist/esm/components/Atoms/Badge/index.d.ts +0 -2
  125. package/dist/esm/components/Atoms/Badge/index.d.ts.map +0 -1
  126. package/dist/esm/components/Atoms/Badge/index.js +0 -1
@@ -0,0 +1,49 @@
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
+ CalloutBadge: ({}) => css({
11
+ display: 'flex',
12
+ justifyContent: 'center',
13
+ alignItems: 'center',
14
+ }),
15
+ };
16
+ export const CalloutBadge = observer((properties) => {
17
+ const globalTheme = useTheme();
18
+ const props = {
19
+ // default props
20
+ tag: 'callout',
21
+ // global theme
22
+ ...globalTheme?.components?.calloutBadge,
23
+ // props
24
+ ...properties,
25
+ ...properties.theme?.components?.calloutBadge,
26
+ };
27
+ const { result, tag, renderEmpty, disableStyles, className, style } = props;
28
+ const styling = {};
29
+ const badgeComponentMap = { ...defaultBadgeComponentMap, ...props.componentMap };
30
+ if (!disableStyles) {
31
+ styling.css = [CSS.CalloutBadge(props), style];
32
+ }
33
+ else if (style) {
34
+ styling.css = [style];
35
+ }
36
+ const limit = 1;
37
+ const badges = result?.badges?.atLocation(tag).slice(0, limit);
38
+ if (renderEmpty || badges?.length) {
39
+ return (jsx(CacheProvider, null,
40
+ jsx("div", { ...styling, className: classnames('ss__callout-badge', `ss__callout-badge--${tag?.replace('/', '-')}`, className) }, badges.map((badge) => {
41
+ const BadgeComponent = useComponent(badgeComponentMap, badge.component);
42
+ if (!BadgeComponent) {
43
+ return jsx(Fragment, null);
44
+ }
45
+ return jsx(BadgeComponent, { ...badge, ...badge.parameters });
46
+ }))));
47
+ }
48
+ return jsx(Fragment, null);
49
+ });
@@ -0,0 +1,2 @@
1
+ export * from './CalloutBadge';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/CalloutBadge/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './CalloutBadge';
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAU5E,OAAO,EAAE,cAAc,EAAgB,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAsJ5F,eAAO,MAAM,YAAY,eAAyB,iBAAiB,KAAG,WAodpE,CAAC;AAoCH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CACjE"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAU5E,OAAO,EAAE,cAAc,EAAgB,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAsJ5F,eAAO,MAAM,YAAY,eAAyB,iBAAiB,KAAG,WAidpE,CAAC;AAoCH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CACjE"}
@@ -210,9 +210,6 @@ export const Autocomplete = observer((properties) => {
210
210
  columns: 3,
211
211
  onClick: facetClickEvent,
212
212
  },
213
- result: {
214
- hideBadge: true,
215
- },
216
213
  },
217
214
  };
218
215
  const displaySettings = useDisplaySettings(breakpoints) || {};
@@ -5,4 +5,5 @@ export * from './useIntersection';
5
5
  export * from './useDisplaySettings';
6
6
  export * from './useA11y';
7
7
  export * from './useDeepCompareEffect';
8
+ export * from './useComponent';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC"}
@@ -5,3 +5,4 @@ export * from './useIntersection';
5
5
  export * from './useDisplaySettings';
6
6
  export * from './useA11y';
7
7
  export * from './useDeepCompareEffect';
8
+ export * from './useComponent';
@@ -0,0 +1,4 @@
1
+ import type { FunctionalComponent } from 'preact';
2
+ import { ComponentMap } from '../types';
3
+ export declare const useComponent: (map: ComponentMap, name: string) => undefined | FunctionalComponent<any>;
4
+ //# sourceMappingURL=useComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useComponent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,YAAY,QAAS,YAAY,QAAQ,MAAM,KAAG,SAAS,GAAG,oBAAoB,GAAG,CAkBjG,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { useEffect, useState } from 'preact/hooks';
2
+ export const useComponent = (map, name) => {
3
+ const [importedComponent, setImportedComponent] = useState(undefined);
4
+ useEffect(() => {
5
+ const importFn = map[name];
6
+ if (importFn && typeof importFn === 'function') {
7
+ const componentFn = importFn();
8
+ if (componentFn instanceof Promise) {
9
+ componentFn.then((component) => {
10
+ setImportedComponent(() => component);
11
+ });
12
+ }
13
+ else {
14
+ setImportedComponent(() => componentFn);
15
+ }
16
+ }
17
+ }, []);
18
+ return importedComponent;
19
+ };
@@ -1,4 +1,7 @@
1
- export * from './components/Atoms/Badge';
1
+ export * from './components/Atoms/BadgeImage';
2
+ export * from './components/Atoms/BadgePill';
3
+ export * from './components/Atoms/BadgeRectangle';
4
+ export * from './components/Atoms/BadgeText';
2
5
  export * from './components/Atoms/Breadcrumbs';
3
6
  export * from './components/Atoms/Button';
4
7
  export * from './components/Atoms/Dropdown';
@@ -12,6 +15,7 @@ export * from './components/Atoms/Price';
12
15
  export * from './components/Atoms/Skeleton';
13
16
  export * from './components/Trackers/Recommendation/ResultTracker';
14
17
  export * from './components/Trackers/Recommendation/ProfileTracker';
18
+ export * from './components/Molecules/CalloutBadge';
15
19
  export * from './components/Molecules/Carousel';
16
20
  export * from './components/Molecules/Checkbox';
17
21
  export * from './components/Molecules/ErrorHandler';
@@ -20,6 +24,7 @@ export * from './components/Molecules/FacetHierarchyOptions';
20
24
  export * from './components/Molecules/FacetListOptions';
21
25
  export * from './components/Molecules/FacetPaletteOptions';
22
26
  export * from './components/Molecules/Filter';
27
+ export * from './components/Molecules/OverlayBadge';
23
28
  export * from './components/Molecules/Pagination';
24
29
  export * from './components/Molecules/Result';
25
30
  export * from './components/Molecules/Select';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AAGpE,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAG/C,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AAGpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAG/C,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,8 @@
1
1
  // ATOMS
2
- export * from './components/Atoms/Badge';
2
+ export * from './components/Atoms/BadgeImage';
3
+ export * from './components/Atoms/BadgePill';
4
+ export * from './components/Atoms/BadgeRectangle';
5
+ export * from './components/Atoms/BadgeText';
3
6
  export * from './components/Atoms/Breadcrumbs';
4
7
  export * from './components/Atoms/Button';
5
8
  export * from './components/Atoms/Dropdown';
@@ -14,6 +17,7 @@ export * from './components/Atoms/Skeleton';
14
17
  export * from './components/Trackers/Recommendation/ResultTracker';
15
18
  export * from './components/Trackers/Recommendation/ProfileTracker';
16
19
  // MOLECULES
20
+ export * from './components/Molecules/CalloutBadge';
17
21
  export * from './components/Molecules/Carousel';
18
22
  export * from './components/Molecules/Checkbox';
19
23
  export * from './components/Molecules/ErrorHandler';
@@ -22,6 +26,7 @@ export * from './components/Molecules/FacetHierarchyOptions';
22
26
  export * from './components/Molecules/FacetListOptions';
23
27
  export * from './components/Molecules/FacetPaletteOptions';
24
28
  export * from './components/Molecules/Filter';
29
+ export * from './components/Molecules/OverlayBadge';
25
30
  export * from './components/Molecules/Pagination';
26
31
  export * from './components/Molecules/Result';
27
32
  export * from './components/Molecules/Select';
@@ -1,4 +1,5 @@
1
- import { RenderableProps } from 'preact';
1
+ /// <reference types="react" />
2
+ import { FunctionalComponent, RenderableProps } from 'preact';
2
3
  import { SerializedStyles } from '@emotion/react';
3
4
  import { Theme } from './providers/theme';
4
5
  export interface ComponentProps extends RenderableProps<any> {
@@ -7,6 +8,9 @@ export interface ComponentProps extends RenderableProps<any> {
7
8
  style?: string | Record<string, any>;
8
9
  theme?: Theme;
9
10
  }
11
+ export type ComponentMap = {
12
+ [key: string]: (args?: any) => FunctionalComponent<RenderableProps<any>> | Promise<(args?: any) => React.ReactElement>;
13
+ };
10
14
  export declare enum Layout {
11
15
  GRID = "grid",
12
16
  LIST = "list"
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,WAAW,cAAe,SAAQ,eAAe,CAAC,GAAG,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAED,oBAAY,MAAM;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;CACb;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAGnD,oBAAY,SAAS;IACpB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,aAAa,kBAAkB;CAC/B;AAGD,oBAAY,YAAY;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,WAAW,cAAe,SAAQ,eAAe,CAAC,GAAG,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;CACvH,CAAC;AAEF,oBAAY,MAAM;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;CACb;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAGnD,oBAAY,SAAS;IACpB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,aAAa,kBAAkB;CAC/B;AAGD,oBAAY,YAAY;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ComponentMap } from '../types';
2
+ export declare const defaultBadgeComponentMap: ComponentMap;
3
+ //# sourceMappingURL=defaultBadgeComponentMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultBadgeComponentMap.d.ts","sourceRoot":"","sources":["../../../src/utilities/defaultBadgeComponentMap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,wBAAwB,EAAE,YAKtC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BadgeText } from '../components/Atoms/BadgeText';
2
+ import { BadgePill } from '../components/Atoms/BadgePill';
3
+ import { BadgeRectangle } from '../components/Atoms/BadgeRectangle';
4
+ import { BadgeImage } from '../components/Atoms/BadgeImage';
5
+ export const defaultBadgeComponentMap = {
6
+ BadgeText: () => BadgeText,
7
+ BadgePill: () => BadgePill,
8
+ BadgeRectangle: () => BadgeRectangle,
9
+ BadgeImage: () => BadgeImage,
10
+ };
@@ -4,4 +4,5 @@ export * from './componentArgs';
4
4
  export * from './sprintf';
5
5
  export * from './LightenDarkenColor';
6
6
  export * from './shiftColor';
7
+ export * from './defaultBadgeComponentMap';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC"}
@@ -4,3 +4,4 @@ export * from './componentArgs';
4
4
  export * from './sprintf';
5
5
  export * from './LightenDarkenColor';
6
6
  export * from './shiftColor';
7
+ export * from './defaultBadgeComponentMap';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-preact-components",
3
- "version": "0.54.0",
3
+ "version": "0.55.0",
4
4
  "description": "Snap Preact Component Library",
5
5
  "author": "Searchspring",
6
6
  "license": "MIT",
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "@cypress/react": "^8.0.0",
31
31
  "@emotion/react": "11.9.0",
32
- "@searchspring/snap-toolbox": "^0.54.0",
32
+ "@searchspring/snap-toolbox": "^0.55.0",
33
33
  "classnames": "^2.3.2",
34
34
  "cypress": "^12.15.0",
35
35
  "cypress-wait-until": "^1.7.2",
@@ -52,14 +52,14 @@
52
52
  "@babel/preset-env": "^7.21.4",
53
53
  "@babel/preset-react": "^7.18.6",
54
54
  "@babel/runtime": "^7.21.0",
55
- "@searchspring/snap-client": "^0.54.0",
56
- "@searchspring/snap-controller": "^0.54.0",
57
- "@searchspring/snap-event-manager": "^0.54.0",
58
- "@searchspring/snap-logger": "^0.54.0",
59
- "@searchspring/snap-profiler": "^0.54.0",
60
- "@searchspring/snap-store-mobx": "^0.54.0",
61
- "@searchspring/snap-tracker": "^0.54.0",
62
- "@searchspring/snap-url-manager": "^0.54.0",
55
+ "@searchspring/snap-client": "^0.55.0",
56
+ "@searchspring/snap-controller": "^0.55.0",
57
+ "@searchspring/snap-event-manager": "^0.55.0",
58
+ "@searchspring/snap-logger": "^0.55.0",
59
+ "@searchspring/snap-profiler": "^0.55.0",
60
+ "@searchspring/snap-store-mobx": "^0.55.0",
61
+ "@searchspring/snap-tracker": "^0.55.0",
62
+ "@searchspring/snap-url-manager": "^0.55.0",
63
63
  "@storybook/addon-actions": "6.4.22",
64
64
  "@storybook/addon-controls": "6.4.22",
65
65
  "@storybook/addon-docs": "6.4.22",
@@ -83,5 +83,5 @@
83
83
  "webpack-merge": "^5.8.0"
84
84
  },
85
85
  "sideEffects": false,
86
- "gitHead": "a54d2c6579bf83500ed2faca8ff72b3e3495f063"
86
+ "gitHead": "ad413e17c9756a28e1972173b3b25f0a4dcb127c"
87
87
  }
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- /** @jsx jsx */
3
- import { ComponentChildren } from 'preact';
4
- import { ComponentProps } from '../../../types';
5
- export declare const Badge: (properties: BadgeProps) => JSX.Element;
6
- export interface BadgeProps extends ComponentProps {
7
- content?: any;
8
- children?: ComponentChildren;
9
- position?: {
10
- top?: string | number;
11
- right?: string | number;
12
- bottom?: string | number;
13
- left?: string | number;
14
- };
15
- }
16
- //# sourceMappingURL=Badge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Badge/Badge.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAK,MAAM,QAAQ,CAAC;AAO9C,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAW5D,eAAO,MAAM,KAAK,eAAyB,UAAU,KAAG,WAgCtD,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,cAAc;IACjD,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACF"}
@@ -1,47 +0,0 @@
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.Badge = void 0;
18
- var react_1 = require("@emotion/react");
19
- var classnames_1 = __importDefault(require("classnames"));
20
- var mobx_react_1 = require("mobx-react");
21
- var providers_1 = require("../../../providers");
22
- var CSS = {
23
- badge: function (_a) {
24
- var position = _a.position;
25
- return (0, react_1.css)(__assign({ display: 'inline-block', position: 'absolute' }, position));
26
- },
27
- };
28
- exports.Badge = (0, mobx_react_1.observer)(function (properties) {
29
- var _a, _b, _c;
30
- var globalTheme = (0, providers_1.useTheme)();
31
- var props = __assign(__assign(__assign({
32
- // default props
33
- position: {
34
- top: 0,
35
- left: 0,
36
- } }, (_a = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _a === void 0 ? void 0 : _a.badge), properties), (_c = (_b = properties.theme) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.badge);
37
- var content = props.content, children = props.children, position = props.position, disableStyles = props.disableStyles, className = props.className, style = props.style;
38
- var styling = {};
39
- if (!disableStyles) {
40
- styling.css = [CSS.badge({ position: position }), style];
41
- }
42
- else if (style) {
43
- styling.css = [style];
44
- }
45
- return ((0, react_1.jsx)(providers_1.CacheProvider, null,
46
- (0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__badge', className) }), content || children)));
47
- });
@@ -1,2 +0,0 @@
1
- export * from './Badge';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- /** @jsx jsx */
3
- import { ComponentChildren } from 'preact';
4
- import { ComponentProps } from '../../../types';
5
- export declare const Badge: (properties: BadgeProps) => JSX.Element;
6
- export interface BadgeProps extends ComponentProps {
7
- content?: any;
8
- children?: ComponentChildren;
9
- position?: {
10
- top?: string | number;
11
- right?: string | number;
12
- bottom?: string | number;
13
- left?: string | number;
14
- };
15
- }
16
- //# sourceMappingURL=Badge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Badge/Badge.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAK,MAAM,QAAQ,CAAC;AAO9C,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAW5D,eAAO,MAAM,KAAK,eAAyB,UAAU,KAAG,WAgCtD,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,cAAc;IACjD,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACF"}