@searchspring/snap-preact-components 0.26.1 → 0.27.2

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 (41) hide show
  1. package/dist/cjs/components/Atoms/Icon/Icon.d.ts.map +1 -1
  2. package/dist/cjs/components/Atoms/Icon/Icon.js +1 -0
  3. package/dist/cjs/components/Molecules/Carousel/Carousel.d.ts +0 -1
  4. package/dist/cjs/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
  5. package/dist/cjs/components/Molecules/Carousel/Carousel.js +35 -1
  6. package/dist/cjs/components/Organisms/BranchOverride/BranchOverride.d.ts +16 -0
  7. package/dist/cjs/components/Organisms/BranchOverride/BranchOverride.d.ts.map +1 -0
  8. package/dist/cjs/components/Organisms/BranchOverride/BranchOverride.js +273 -0
  9. package/dist/cjs/components/Organisms/BranchOverride/BranchOverride.stories.d.ts +136 -0
  10. package/dist/cjs/components/Organisms/BranchOverride/BranchOverride.stories.d.ts.map +1 -0
  11. package/dist/cjs/components/Organisms/BranchOverride/BranchOverride.stories.js +120 -0
  12. package/dist/cjs/components/Organisms/BranchOverride/index.d.ts +2 -0
  13. package/dist/cjs/components/Organisms/BranchOverride/index.d.ts.map +1 -0
  14. package/dist/cjs/components/Organisms/BranchOverride/index.js +17 -0
  15. package/dist/cjs/index.d.ts +1 -0
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +1 -0
  18. package/dist/cjs/utilities/snapify.d.ts +2 -1
  19. package/dist/cjs/utilities/snapify.d.ts.map +1 -1
  20. package/dist/cjs/utilities/snapify.js +50 -5
  21. package/dist/esm/components/Atoms/Icon/Icon.d.ts.map +1 -1
  22. package/dist/esm/components/Atoms/Icon/Icon.js +1 -0
  23. package/dist/esm/components/Molecules/Carousel/Carousel.d.ts +0 -1
  24. package/dist/esm/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
  25. package/dist/esm/components/Molecules/Carousel/Carousel.js +35 -1
  26. package/dist/esm/components/Organisms/BranchOverride/BranchOverride.d.ts +16 -0
  27. package/dist/esm/components/Organisms/BranchOverride/BranchOverride.d.ts.map +1 -0
  28. package/dist/esm/components/Organisms/BranchOverride/BranchOverride.js +263 -0
  29. package/dist/esm/components/Organisms/BranchOverride/BranchOverride.stories.d.ts +136 -0
  30. package/dist/esm/components/Organisms/BranchOverride/BranchOverride.stories.d.ts.map +1 -0
  31. package/dist/esm/components/Organisms/BranchOverride/BranchOverride.stories.js +110 -0
  32. package/dist/esm/components/Organisms/BranchOverride/index.d.ts +2 -0
  33. package/dist/esm/components/Organisms/BranchOverride/index.d.ts.map +1 -0
  34. package/dist/esm/components/Organisms/BranchOverride/index.js +1 -0
  35. package/dist/esm/index.d.ts +1 -0
  36. package/dist/esm/index.d.ts.map +1 -1
  37. package/dist/esm/index.js +1 -0
  38. package/dist/esm/utilities/snapify.d.ts +2 -1
  39. package/dist/esm/utilities/snapify.d.ts.map +1 -1
  40. package/dist/esm/utilities/snapify.js +48 -3
  41. package/package.json +11 -11
@@ -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;AAG5C,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,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC"}
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;AAG5C,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,gCAAgC,CAAC;AAG/C,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -43,6 +43,7 @@ __exportStar(require("./components/Molecules/Slideout"), exports);
43
43
  __exportStar(require("./components/Molecules/FacetSlider"), exports);
44
44
  // ORGANISMS
45
45
  __exportStar(require("./components/Organisms/Autocomplete"), exports);
46
+ __exportStar(require("./components/Organisms/BranchOverride"), exports);
46
47
  __exportStar(require("./components/Organisms/Facet"), exports);
47
48
  __exportStar(require("./components/Organisms/Facets"), exports);
48
49
  __exportStar(require("./components/Organisms/FilterSummary"), exports);
@@ -1,4 +1,5 @@
1
- import type { SearchController, AutocompleteController, RecommendationController, SearchControllerConfig, AutocompleteControllerConfig, RecommendationControllerConfig } from '@searchspring/snap-controller';
1
+ import { SearchController, AutocompleteController, RecommendationController } from '@searchspring/snap-controller';
2
+ import type { SearchControllerConfig, AutocompleteControllerConfig, RecommendationControllerConfig } from '@searchspring/snap-controller';
2
3
  export declare class Snapify {
3
4
  static recommendation(config: RecommendationControllerConfig): RecommendationController;
4
5
  static autocomplete(config: AutocompleteControllerConfig): AutocompleteController;
@@ -1 +1 @@
1
- {"version":3,"file":"snapify.d.ts","sourceRoot":"","sources":["../../../src/utilities/snapify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,8BAA8B,EAC9B,MAAM,+BAA+B,CAAC;AAMvC,qBAAa,OAAO;IACnB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,8BAA8B,GAAG,wBAAwB;IAkBvF,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,sBAAsB;IAmBjF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB;CAkB/D"}
1
+ {"version":3,"file":"snapify.d.ts","sourceRoot":"","sources":["../../../src/utilities/snapify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAUnH,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAc1I,qBAAa,OAAO;IACnB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,8BAA8B,GAAG,wBAAwB;IAkBvF,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,sBAAsB;IAmBjF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB;CAkB/D"}
@@ -37,8 +37,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Snapify = void 0;
40
- /* searchspring imports */
41
- var snap_preact_1 = require("@searchspring/snap-preact");
40
+ var snap_controller_1 = require("@searchspring/snap-controller");
41
+ var snap_client_1 = require("@searchspring/snap-client");
42
+ var snap_store_mobx_1 = require("@searchspring/snap-store-mobx");
43
+ var snap_url_manager_1 = require("@searchspring/snap-url-manager");
44
+ var snap_event_manager_1 = require("@searchspring/snap-event-manager");
45
+ var snap_profiler_1 = require("@searchspring/snap-profiler");
46
+ var snap_logger_1 = require("@searchspring/snap-logger");
47
+ var snap_tracker_1 = require("@searchspring/snap-tracker");
42
48
  var controllers = {};
43
49
  var client = {
44
50
  globals: { siteId: '8uyt2m' },
@@ -52,7 +58,7 @@ var Snapify = /** @class */ (function () {
52
58
  if (controllers[id]) {
53
59
  return controllers[id];
54
60
  }
55
- var cntrlr = (controllers[id] = (0, snap_preact_1.createRecommendationsController)({ client: client, controller: config }));
61
+ var cntrlr = (controllers[id] = createRecommendationController({ client: client, controller: config }));
56
62
  cntrlr.on('afterStore', function (_a, next) {
57
63
  var controller = _a.controller;
58
64
  return __awaiter(_this, void 0, void 0, function () {
@@ -78,7 +84,7 @@ var Snapify = /** @class */ (function () {
78
84
  if (controllers[id]) {
79
85
  return controllers[id];
80
86
  }
81
- var cntrlr = (controllers[id] = (0, snap_preact_1.createAutocompleteController)({ client: client, controller: config }));
87
+ var cntrlr = (controllers[id] = createAutocompleteController({ client: client, controller: config }));
82
88
  cntrlr.on('afterStore', function (_a, next) {
83
89
  var controller = _a.controller;
84
90
  return __awaiter(_this, void 0, void 0, function () {
@@ -104,7 +110,7 @@ var Snapify = /** @class */ (function () {
104
110
  if (controllers[id]) {
105
111
  return controllers[id];
106
112
  }
107
- var cntrlr = (controllers[id] = (0, snap_preact_1.createSearchController)({ client: client, controller: config }));
113
+ var cntrlr = (controllers[id] = createSearchController({ client: client, controller: config }));
108
114
  cntrlr.on('afterStore', function (_a, next) {
109
115
  var controller = _a.controller;
110
116
  return __awaiter(_this, void 0, void 0, function () {
@@ -127,3 +133,42 @@ var Snapify = /** @class */ (function () {
127
133
  return Snapify;
128
134
  }());
129
135
  exports.Snapify = Snapify;
136
+ function createSearchController(config) {
137
+ var urlManager = new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(), snap_url_manager_1.reactLinker);
138
+ var cntrlr = new snap_controller_1.SearchController(config.controller, {
139
+ client: new snap_client_1.Client(config.client.globals, config.client.config),
140
+ store: new snap_store_mobx_1.SearchStore(config.controller, { urlManager: urlManager }),
141
+ urlManager: urlManager,
142
+ eventManager: new snap_event_manager_1.EventManager(),
143
+ profiler: new snap_profiler_1.Profiler(),
144
+ logger: new snap_logger_1.Logger(),
145
+ tracker: new snap_tracker_1.Tracker(config.client.globals),
146
+ });
147
+ return cntrlr;
148
+ }
149
+ function createRecommendationController(config) {
150
+ var urlManager = new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(), snap_url_manager_1.reactLinker).detach(true);
151
+ var cntrlr = new snap_controller_1.RecommendationController(config.controller, {
152
+ client: new snap_client_1.Client(config.client.globals, config.client.config),
153
+ store: new snap_store_mobx_1.RecommendationStore(config.controller, { urlManager: urlManager }),
154
+ urlManager: urlManager,
155
+ eventManager: new snap_event_manager_1.EventManager(),
156
+ profiler: new snap_profiler_1.Profiler(),
157
+ logger: new snap_logger_1.Logger(),
158
+ tracker: new snap_tracker_1.Tracker(config.client.globals),
159
+ });
160
+ return cntrlr;
161
+ }
162
+ function createAutocompleteController(config) {
163
+ var urlManager = new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(), snap_url_manager_1.reactLinker).detach();
164
+ var cntrlr = new snap_controller_1.AutocompleteController(config.controller, {
165
+ client: new snap_client_1.Client(config.client.globals, config.client.config),
166
+ store: new snap_store_mobx_1.AutocompleteStore(config.controller, { urlManager: urlManager }),
167
+ urlManager: urlManager,
168
+ eventManager: new snap_event_manager_1.EventManager(),
169
+ profiler: new snap_profiler_1.Profiler(),
170
+ logger: new snap_logger_1.Logger(),
171
+ tracker: new snap_tracker_1.Tracker(config.client.globals),
172
+ });
173
+ return cntrlr;
174
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Icon/Icon.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAW9C,wBAAgB,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAyCvD;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Icon/Icon.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAY9C,wBAAgB,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAyCvD;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -7,6 +7,7 @@ const CSS = {
7
7
  fill: color || theme.colors?.primary,
8
8
  width: width || size,
9
9
  height: height || size,
10
+ position: 'relative',
10
11
  }),
11
12
  };
12
13
  export function Icon(properties) {
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import 'swiper/swiper.min.css';
3
2
  import { ComponentProps, BreakpointsProps } from '../../../types';
4
3
  export declare const defaultCarouselBreakpoints: {
5
4
  0: {
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Carousel/Carousel.tsx"],"names":[],"mappings":";AASA,OAAO,uBAAuB,CAAC;AAM/B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA2FlE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA8IvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,CAAC,KAAA,KAAK,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAA,KAAK,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Carousel/Carousel.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA8HlE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA8IvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,CAAC,KAAA,KAAK,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAA,KAAK,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACzB"}
@@ -4,7 +4,6 @@ import classnames from 'classnames';
4
4
  import { observer } from 'mobx-react-lite';
5
5
  import deepmerge from 'deepmerge';
6
6
  import SwiperCore, { Pagination, Navigation } from 'swiper/core';
7
- import 'swiper/swiper.min.css';
8
7
  import { Icon } from '../../Atoms/Icon/Icon';
9
8
  import { Swiper, SwiperSlide } from 'swiper/react';
10
9
  import { defined } from '../../../utilities';
@@ -63,9 +62,35 @@ const CSS = {
63
62
  '.swiper-container': {
64
63
  display: 'flex',
65
64
  flexDirection: 'column',
65
+ marginLeft: 'auto',
66
+ marginRight: 'auto',
67
+ position: 'relative',
68
+ overflow: 'hidden',
69
+ listStyle: 'none',
70
+ padding: 0,
71
+ zIndex: 1,
72
+ },
73
+ '.swiper-container-vertical': {
74
+ '.swiper-wrapper': {
75
+ flexDirection: 'column',
76
+ },
66
77
  },
67
78
  '.swiper-wrapper': {
68
79
  order: 0,
80
+ position: 'relative',
81
+ width: '100%',
82
+ height: '100%',
83
+ zIndex: 1,
84
+ display: 'flex',
85
+ transitionProperty: 'transform',
86
+ boxSizing: 'content-box',
87
+ },
88
+ '.swiper-slide': {
89
+ flexShrink: 0,
90
+ width: '100%',
91
+ height: '100%',
92
+ position: 'relative',
93
+ transitionProperty: 'transform',
69
94
  },
70
95
  '.swiper-pagination': {
71
96
  display: 'flex',
@@ -89,6 +114,15 @@ const CSS = {
89
114
  background: theme?.colors?.primary || '#000',
90
115
  },
91
116
  },
117
+ '.swiper-container-pointer-events': {
118
+ touchAction: 'pan-y',
119
+ '&.swiper-container-vertical': {
120
+ touchAction: 'pan-x',
121
+ },
122
+ },
123
+ '.swiper-slide-invisible-blank': {
124
+ visibility: 'hidden',
125
+ },
92
126
  }),
93
127
  };
94
128
  export const defaultCarouselBreakpoints = {
@@ -0,0 +1,16 @@
1
+ import { ComponentProps } from '../../../types';
2
+ export declare const BranchOverride: (properties: BranchOverrideProps) => JSX.Element;
3
+ export interface BranchOverrideProps extends ComponentProps {
4
+ name: string;
5
+ error?: {
6
+ message: string;
7
+ description: string;
8
+ };
9
+ details?: {
10
+ url: string;
11
+ lastModified: string;
12
+ };
13
+ onRemoveClick?: (e: any, name: string) => void;
14
+ darkMode?: boolean;
15
+ }
16
+ //# sourceMappingURL=BranchOverride.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchOverride.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/BranchOverride/BranchOverride.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAwMhD,eAAO,MAAM,cAAc,eAAgB,mBAAmB,KAAG,WAqGhE,CAAC;AAMF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,CAAC,KAAA,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,263 @@
1
+ /** @jsx jsx */
2
+ import { Fragment } from 'preact';
3
+ import { jsx, css } from '@emotion/react';
4
+ import classnames from 'classnames';
5
+ import { useState } from 'preact/hooks';
6
+ import { Icon } from '../../Atoms/Icon/Icon';
7
+ import { defined } from '../../../utilities';
8
+ import { useTheme } from '../../../providers';
9
+ const CSS = {
10
+ override: ({ theme }) => css({
11
+ width: '360px',
12
+ height: '120px',
13
+ overflow: 'hidden',
14
+ fontSize: '14px',
15
+ position: 'fixed',
16
+ zIndex: 9999,
17
+ cursor: 'auto',
18
+ bottom: '50px',
19
+ right: 0,
20
+ background: theme.main.background,
21
+ color: theme.main.color,
22
+ border: theme.main.border,
23
+ borderRight: 0,
24
+ borderTopLeftRadius: '5px',
25
+ borderBottomLeftRadius: '5px',
26
+ boxShadow: theme.main.boxShadow,
27
+ transition: 'height ease 0.2s, right ease 0.5s 0.2s',
28
+ '&.ss__branch-override--collapsed': {
29
+ transition: 'height ease 0.5s 0.5s, right ease 0.5s',
30
+ right: '-316px',
31
+ height: '50px',
32
+ cursor: 'pointer',
33
+ },
34
+ '.ss__branch-override__top': {
35
+ padding: '10px',
36
+ background: theme.top.background,
37
+ borderBottom: theme.top.border,
38
+ '.ss__branch-override__top__logo': {
39
+ display: 'inline-block',
40
+ height: '30px',
41
+ maxHeight: '30px',
42
+ verticalAlign: 'middle',
43
+ },
44
+ '.ss__branch-override__top__collapse': {
45
+ display: 'inline-block',
46
+ float: 'right',
47
+ padding: '5px',
48
+ cursor: 'pointer',
49
+ },
50
+ '.ss__branch-override__top__button': {
51
+ borderRadius: '5px',
52
+ padding: '6px',
53
+ height: '100%',
54
+ lineHeight: '14px',
55
+ textAlign: 'center',
56
+ cursor: 'pointer',
57
+ fontSize: '10px',
58
+ border: theme.top.button.border,
59
+ color: theme.top.button.color,
60
+ float: 'right',
61
+ marginRight: '14px',
62
+ },
63
+ },
64
+ '.ss__branch-override__bottom': {
65
+ padding: '10px 15px',
66
+ fontSize: '12px',
67
+ '.ss__branch-override__bottom__left': {
68
+ fontWeight: 'bold',
69
+ fontStyle: theme.bottom.branch.style,
70
+ color: theme.bottom.branch.color,
71
+ fontSize: '14px',
72
+ lineHeight: '20px',
73
+ display: 'inline-flex',
74
+ alignItems: 'center',
75
+ maxWidth: '180px',
76
+ whiteSpace: 'nowrap',
77
+ overflow: 'hidden',
78
+ textOverflow: 'ellipsis',
79
+ svg: {
80
+ marginRight: '10px',
81
+ },
82
+ },
83
+ '.ss__branch-override__bottom__right': {
84
+ float: 'right',
85
+ fontStyle: 'italic',
86
+ color: theme.bottom.additional.color,
87
+ fontSize: '12px',
88
+ lineHeight: '20px',
89
+ },
90
+ '.ss__branch-override__bottom__content': {
91
+ marginTop: '10px',
92
+ },
93
+ },
94
+ }),
95
+ };
96
+ const darkTheme = {
97
+ main: {
98
+ border: '0',
99
+ background: 'rgba(59, 35, 173, 0.9)',
100
+ color: '#fff',
101
+ boxShadow: '#4c3ce2 1px 1px 3px 0px',
102
+ },
103
+ top: {
104
+ background: 'rgba(59, 35, 173, 0.3)',
105
+ border: '1px solid #4c3de1',
106
+ logo: {
107
+ src: 'https://snapui.searchspring.io/searchspring_light.svg',
108
+ },
109
+ button: {
110
+ border: '1px solid #fff',
111
+ color: '#fff',
112
+ content: 'STOP PREVIEW',
113
+ },
114
+ close: {
115
+ fill: '#fff',
116
+ },
117
+ },
118
+ bottom: {
119
+ content: 'Preview functionality may differ from production.',
120
+ branch: {
121
+ color: '#03cee1',
122
+ style: 'italic',
123
+ },
124
+ additional: {
125
+ color: '#03cee1',
126
+ },
127
+ },
128
+ };
129
+ const lightTheme = {
130
+ main: {
131
+ border: '1px solid #ccc',
132
+ background: 'rgba(255, 255, 255, 0.95)',
133
+ color: '#515151',
134
+ boxShadow: 'rgba(81, 81, 81, 0.5) 1px 1px 3px 0px',
135
+ },
136
+ top: {
137
+ border: '1px solid #ccc',
138
+ logo: {
139
+ src: 'https://snapui.searchspring.io/searchspring.svg',
140
+ },
141
+ button: {
142
+ border: '1px solid #515151',
143
+ color: '#515151',
144
+ content: 'STOP PREVIEW',
145
+ },
146
+ close: {
147
+ fill: '#515151',
148
+ },
149
+ },
150
+ bottom: {
151
+ content: 'Preview functionality may differ from production.',
152
+ branch: {
153
+ color: '#3a23ad',
154
+ style: 'italic',
155
+ },
156
+ additional: {
157
+ color: '#3a23ad',
158
+ },
159
+ },
160
+ };
161
+ const failureTheme = {
162
+ main: {
163
+ border: '0',
164
+ background: 'rgba(130, 6, 6, 0.9)',
165
+ color: '#fff',
166
+ boxShadow: 'rgba(130, 6, 6, 0.4) 1px 1px 3px 0px',
167
+ },
168
+ top: {
169
+ background: 'rgba(130, 6, 6, 0.3)',
170
+ border: '1px solid #760000',
171
+ logo: {
172
+ src: 'https://snapui.searchspring.io/searchspring_light.svg',
173
+ },
174
+ button: {
175
+ border: '1px solid #fff',
176
+ color: '#fff',
177
+ content: 'REMOVE',
178
+ },
179
+ close: {
180
+ fill: '#fff',
181
+ },
182
+ },
183
+ bottom: {
184
+ content: 'Incorrect branch name or branch no longer exists.',
185
+ branch: {
186
+ color: '#be9628',
187
+ style: 'italic',
188
+ },
189
+ additional: {
190
+ color: '#be9628',
191
+ },
192
+ },
193
+ };
194
+ const themes = {
195
+ darkTheme,
196
+ lightTheme,
197
+ failureTheme,
198
+ };
199
+ export const BranchOverride = (properties) => {
200
+ const globalTheme = useTheme();
201
+ const theme = { ...globalTheme, ...properties.theme };
202
+ let props = {
203
+ // global theme
204
+ ...globalTheme?.components?.branchOverride,
205
+ // props
206
+ ...properties,
207
+ ...properties.theme?.components?.branchOverride,
208
+ };
209
+ const { name, details, error, className, darkMode, disableStyles, style, onRemoveClick } = props;
210
+ const subProps = {
211
+ icon: {
212
+ // default props
213
+ className: 'ss__branch-override__bottom__left__icon',
214
+ size: '12px',
215
+ // global theme
216
+ ...globalTheme?.components?.icon,
217
+ // inherited props
218
+ ...defined({
219
+ disableStyles,
220
+ }),
221
+ // component theme overrides
222
+ theme: props.theme,
223
+ },
224
+ };
225
+ const prefersDark = typeof darkMode == 'boolean' ? darkMode : window.matchMedia ? window.matchMedia('(prefers-color-scheme: dark)').matches : false;
226
+ const [themeName, setThemeName] = useState(prefersDark ? 'darkTheme' : 'lightTheme');
227
+ const [collapsed, setCollapsed] = useState(0);
228
+ if (error) {
229
+ setThemeName('failureTheme');
230
+ }
231
+ const styling = {};
232
+ if (!disableStyles) {
233
+ styling.css = [CSS.override({ theme: themes[themeName] }), style];
234
+ }
235
+ else if (style) {
236
+ styling.css = [style];
237
+ }
238
+ return ((details || error) &&
239
+ name && (jsx("div", { className: classnames('ss__branch-override', { 'ss__branch-override--collapsed': collapsed }, className), ...styling, onClick: (e) => {
240
+ e.preventDefault();
241
+ e.stopPropagation();
242
+ setCollapsed(0);
243
+ } },
244
+ jsx("div", { className: "ss__branch-override__top" },
245
+ jsx("img", { className: "ss__branch-override__top__logo", src: themes[themeName].top.logo.src }),
246
+ jsx("div", { className: "ss__branch-override__top__collapse", onClick: (e) => {
247
+ e.preventDefault();
248
+ e.stopPropagation();
249
+ setCollapsed(1);
250
+ } },
251
+ jsx(Icon, { size: "18px", color: themes[themeName].top.close.fill, ...subProps.icon, icon: "close-thin" })),
252
+ jsx("div", { className: "ss__branch-override__top__button", onClick: (e) => {
253
+ e.preventDefault();
254
+ e.stopPropagation();
255
+ onRemoveClick && onRemoveClick(e, name);
256
+ } }, themes[themeName].top.button.content)),
257
+ jsx("div", { className: "ss__branch-override__bottom" },
258
+ jsx("span", { className: "ss__branch-override__bottom__left" }, error ? (jsx(Fragment, null,
259
+ jsx(Icon, { size: "12px", color: themes[themeName].bottom.branch.color, ...subProps.icon, icon: "warn" }),
260
+ jsx("span", null, error.message))) : (name)),
261
+ jsx("span", { className: "ss__branch-override__bottom__right" }, error ? name : details?.lastModified),
262
+ jsx("div", { className: "ss__branch-override__bottom__content" }, error?.description || themes[themeName].bottom.content)))));
263
+ };
@@ -0,0 +1,136 @@
1
+ /// <reference types="react" />
2
+ import { h } from 'preact';
3
+ declare const _default: {
4
+ title: string;
5
+ component: (properties: import("./BranchOverride").BranchOverrideProps) => JSX.Element;
6
+ parameters: {
7
+ docs: {
8
+ page: () => h.JSX.Element;
9
+ };
10
+ };
11
+ decorators: ((Story: any) => h.JSX.Element)[];
12
+ argTypes: {
13
+ className: {
14
+ description: string;
15
+ table: {
16
+ type: {
17
+ summary: string;
18
+ };
19
+ defaultValue: {
20
+ summary: string;
21
+ };
22
+ };
23
+ control: {
24
+ type: string;
25
+ };
26
+ };
27
+ disableStyles: {
28
+ defaultValue: boolean;
29
+ description: string;
30
+ table: {
31
+ type: {
32
+ summary: string;
33
+ };
34
+ defaultValue: {
35
+ summary: boolean;
36
+ };
37
+ };
38
+ control: {
39
+ type: string;
40
+ };
41
+ };
42
+ style: {
43
+ description: string;
44
+ table: {
45
+ type: {
46
+ summary: string;
47
+ };
48
+ };
49
+ control: {
50
+ type: string;
51
+ };
52
+ };
53
+ theme: {
54
+ description: string;
55
+ table: {
56
+ type: {
57
+ summary: string;
58
+ };
59
+ };
60
+ control: {
61
+ type: string;
62
+ };
63
+ };
64
+ name: {
65
+ description: string;
66
+ type: {
67
+ required: boolean;
68
+ };
69
+ table: {
70
+ type: {
71
+ summary: string;
72
+ };
73
+ };
74
+ control: {
75
+ type: string;
76
+ };
77
+ };
78
+ details: {
79
+ description: string;
80
+ type: {
81
+ required: boolean;
82
+ };
83
+ table: {
84
+ type: {
85
+ summary: string;
86
+ };
87
+ };
88
+ control: {
89
+ type: string;
90
+ };
91
+ };
92
+ error: {
93
+ description: string;
94
+ type: {
95
+ required: boolean;
96
+ };
97
+ table: {
98
+ type: {
99
+ summary: string;
100
+ };
101
+ };
102
+ control: {
103
+ type: string;
104
+ };
105
+ };
106
+ onRemoveClick: {
107
+ description: string;
108
+ table: {
109
+ type: {
110
+ summary: string;
111
+ };
112
+ };
113
+ action: string;
114
+ };
115
+ darkMode: {
116
+ description: string;
117
+ type: {
118
+ required: boolean;
119
+ };
120
+ table: {
121
+ type: {
122
+ summary: string;
123
+ };
124
+ };
125
+ control: {
126
+ type: string;
127
+ };
128
+ };
129
+ };
130
+ };
131
+ export default _default;
132
+ export declare const Auto: any;
133
+ export declare const Dark: any;
134
+ export declare const Error: any;
135
+ export declare const Light: any;
136
+ //# sourceMappingURL=BranchOverride.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchOverride.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/BranchOverride/BranchOverride.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQrC,wBA6EE;AAIF,eAAO,MAAM,IAAI,KAAoB,CAAC;AAStC,eAAO,MAAM,IAAI,KAAoB,CAAC;AAUtC,eAAO,MAAM,KAAK,KAAoB,CAAC;AASvC,eAAO,MAAM,KAAK,KAAoB,CAAC"}