@threekit-tools/treble 0.0.83 → 0.0.85-next-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 (78) hide show
  1. package/dist/Treble/Treble.d.ts +9 -3
  2. package/dist/Treble/Treble.js +37 -7
  3. package/dist/Treble/index.d.ts +2 -2
  4. package/dist/Treble/index.js +2 -2
  5. package/dist/Treble/{Snapshots.d.ts → snapshots.d.ts} +4 -9
  6. package/dist/Treble/snapshots.js +247 -0
  7. package/dist/Treble/{Wishlist.d.ts → wishlist.d.ts} +2 -6
  8. package/dist/Treble/wishlist.js +135 -0
  9. package/dist/api/orders.d.ts +5 -7
  10. package/dist/components/AttributeValue/index.js +2 -2
  11. package/dist/components/AwaitThreekitLoad/index.d.ts +3 -2
  12. package/dist/components/AwaitThreekitLoad/index.js +7 -2
  13. package/dist/components/Cards/index.d.ts +2 -1
  14. package/dist/components/Cards/index.js +3 -3
  15. package/dist/components/DraggableHint/draggableIndicator.styles.d.ts +5 -0
  16. package/dist/components/DraggableHint/draggableIndicator.styles.js +35 -0
  17. package/dist/components/DraggableHint/index.d.ts +8 -0
  18. package/dist/components/DraggableHint/index.js +49 -0
  19. package/dist/components/Dropdown/index.d.ts +2 -1
  20. package/dist/components/Dropdown/index.js +3 -3
  21. package/dist/components/FlatForm/index.js +5 -3
  22. package/dist/components/Player/index.d.ts +1 -1
  23. package/dist/components/PlayerLoadingCircular/index.d.ts +6 -0
  24. package/dist/components/PlayerLoadingCircular/index.js +18 -0
  25. package/dist/components/PlayerLoadingCircular/playerLoadingCircular.styles.d.ts +7 -0
  26. package/dist/components/PlayerLoadingCircular/playerLoadingCircular.styles.js +17 -0
  27. package/dist/components/PlayerLoadingSpinner/index.d.ts +7 -0
  28. package/dist/components/PlayerLoadingSpinner/index.js +17 -0
  29. package/dist/components/PlayerLoadingSpinner/playerLoadingSpinner.styles.d.ts +4 -0
  30. package/dist/components/PlayerLoadingSpinner/playerLoadingSpinner.styles.js +35 -0
  31. package/dist/components/Share/index.d.ts +2 -0
  32. package/dist/components/Share/index.js +139 -9
  33. package/dist/components/Share/share.styles.d.ts +9 -0
  34. package/dist/components/Share/share.styles.js +23 -0
  35. package/dist/components/Skeleton/index.d.ts +18 -0
  36. package/dist/components/Skeleton/index.js +73 -0
  37. package/dist/components/Skeleton/skeleton.styles.d.ts +14 -0
  38. package/dist/components/Skeleton/skeleton.styles.js +43 -0
  39. package/dist/components/Strips/index.d.ts +2 -1
  40. package/dist/components/Strips/index.js +3 -3
  41. package/dist/components/Swatch/index.d.ts +2 -1
  42. package/dist/components/Swatch/index.js +3 -3
  43. package/dist/components/Switch/index.d.ts +2 -1
  44. package/dist/components/Switch/index.js +2 -2
  45. package/dist/components/TextInput/index.d.ts +2 -1
  46. package/dist/components/TextInput/index.js +2 -2
  47. package/dist/components/Tiles/index.d.ts +2 -1
  48. package/dist/components/Tiles/index.js +3 -3
  49. package/dist/components/TilesGroup/index.d.ts +2 -1
  50. package/dist/components/TilesGroup/index.js +3 -3
  51. package/dist/components/Upload/index.d.ts +2 -1
  52. package/dist/components/Upload/index.js +2 -2
  53. package/dist/components/UploadArea/index.d.ts +2 -1
  54. package/dist/components/UploadArea/index.js +2 -2
  55. package/dist/components/formComponents.d.ts +12 -0
  56. package/dist/components/formComponents.js +5 -5
  57. package/dist/constants.d.ts +0 -22
  58. package/dist/constants.js +1 -23
  59. package/dist/hooks/useFirstPlayerInteraction/index.d.ts +6 -0
  60. package/dist/hooks/useFirstPlayerInteraction/index.js +9 -0
  61. package/dist/hooks/useLoadingProgress/index.d.ts +1 -1
  62. package/dist/hooks/useSingleAnimation/index.js +15 -14
  63. package/dist/http/orders.d.ts +6 -8
  64. package/dist/icons/Draggable.d.ts +3 -0
  65. package/dist/icons/Draggable.js +23 -0
  66. package/dist/icons/index.js +2 -0
  67. package/dist/index.d.ts +6 -1
  68. package/dist/index.js +12 -2
  69. package/dist/store/product.js +3 -1
  70. package/dist/store/treble.d.ts +5 -2
  71. package/dist/store/treble.js +30 -3
  72. package/dist/types.d.ts +71 -24
  73. package/dist/types.js +54 -0
  74. package/dist/utils.d.ts +2 -2
  75. package/dist/utils.js +5 -4
  76. package/package.json +3 -1
  77. package/dist/Treble/Snapshots.js +0 -250
  78. package/dist/Treble/Wishlist.js +0 -136
@@ -0,0 +1,5 @@
1
+ import { DraggableIndicatorProps } from './index';
2
+ declare type HandWrapperProps = Pick<DraggableIndicatorProps, 'color' | 'duration'>;
3
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
4
+ export declare const HandWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, HandWrapperProps, never>;
5
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.HandWrapper = exports.Wrapper = void 0;
31
+ var styled_components_1 = __importStar(require("styled-components"));
32
+ var bounce = (0, styled_components_1.keyframes)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n 0% {\n transform: translateX(0);\n }\n\n 50% {\n transform: translateX(-100px);\n }\n\n 100% {\n transform: translateX(0);\n }\n"], ["\n 0% {\n transform: translateX(0);\n }\n\n 50% {\n transform: translateX(-100px);\n }\n\n 100% {\n transform: translateX(0);\n }\n"])));
33
+ exports.Wrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: max-content;\n position: absolute;\n z-index: 100;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n"], ["\n width: max-content;\n position: absolute;\n z-index: 100;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n"])));
34
+ exports.HandWrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n height: 56px;\n width: 56px;\n background: ", ";\n margin: 0 auto;\n border-radius: 50%;\n z-index: 10;\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n\n animation: ", " ", "s ease infinite;\n\n & > div {\n height: max-content;\n width: max-content;\n margin: 0 auto;\n }\n"], ["\n height: 56px;\n width: 56px;\n background: ", ";\n margin: 0 auto;\n border-radius: 50%;\n z-index: 10;\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n\n animation: ", " ", "s ease infinite;\n\n & > div {\n height: max-content;\n width: max-content;\n margin: 0 auto;\n }\n"])), function (props) { return props.color || '#78c4a299'; }, bounce, function (props) { return props.duration || 2.5; });
35
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export interface DraggableIndicatorProps {
3
+ color?: string;
4
+ duration?: number;
5
+ timeout?: number;
6
+ }
7
+ export declare function DraggableIndicator(props: DraggableIndicatorProps): JSX.Element | null;
8
+ export default DraggableIndicator;
@@ -0,0 +1,49 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DraggableIndicator = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var draggableIndicator_styles_1 = require("./draggableIndicator.styles");
32
+ var Draggable_1 = __importDefault(require("../../icons/Draggable"));
33
+ var useFirstPlayerInteraction_1 = __importDefault(require("../../hooks/useFirstPlayerInteraction"));
34
+ function DraggableIndicator(props) {
35
+ var awaitingFirstInteraction = (0, useFirstPlayerInteraction_1.default)();
36
+ var _a = (0, react_1.useState)(false), hasTimeoutExpired = _a[0], setHasTimeoutExpired = _a[1];
37
+ (0, react_1.useEffect)(function () {
38
+ if (awaitingFirstInteraction && props.timeout)
39
+ setTimeout(function () { return setHasTimeoutExpired(true); }, props.timeout);
40
+ }, [awaitingFirstInteraction]);
41
+ if (!awaitingFirstInteraction || hasTimeoutExpired)
42
+ return null;
43
+ return (react_1.default.createElement(draggableIndicator_styles_1.Wrapper, null,
44
+ react_1.default.createElement(draggableIndicator_styles_1.HandWrapper, { color: props.color, duration: props.duration },
45
+ react_1.default.createElement("div", null,
46
+ react_1.default.createElement(Draggable_1.default, null)))));
47
+ }
48
+ exports.DraggableIndicator = DraggableIndicator;
49
+ exports.default = DraggableIndicator;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import PropTypes from 'prop-types';
3
+ import { ATTRIBUTE_TYPES } from '../../types';
3
4
  import { IFormComponentProps, IOption } from '../containers/formInputContainer';
4
5
  export interface IDropdown extends IFormComponentProps<IOption> {
5
6
  showThumbnail?: boolean;
@@ -49,7 +50,7 @@ export declare const Dropdown: {
49
50
  dropdownMaxHeight: string;
50
51
  };
51
52
  componentName: string;
52
- compatibleAttributes: Set<string>;
53
+ compatibleAttributes: Set<ATTRIBUTE_TYPES>;
53
54
  };
54
55
  declare const _default: (props: IDropdown) => JSX.Element | null;
55
56
  export default _default;
@@ -34,7 +34,7 @@ var FormComponentDescription_1 = __importDefault(require("../FormComponentDescri
34
34
  var dropdown_styles_1 = require("./dropdown.styles");
35
35
  var CaretDown_1 = __importDefault(require("../../icons/CaretDown"));
36
36
  var utils_1 = require("../../utils");
37
- var constants_1 = require("../../constants");
37
+ var types_1 = require("../../types");
38
38
  var formInputContainer_1 = __importDefault(require("../containers/formInputContainer"));
39
39
  var Thumbnail = function (props) {
40
40
  var imageUrl = props.imageUrl, color = props.color, name = props.name, className = props.className;
@@ -154,7 +154,7 @@ exports.Dropdown.defaultProps = {
154
154
  };
155
155
  exports.Dropdown.componentName = 'dropdown';
156
156
  exports.Dropdown.compatibleAttributes = new Set([
157
- constants_1.ATTRIBUTE_TYPES.asset,
158
- constants_1.ATTRIBUTE_TYPES.string,
157
+ types_1.ATTRIBUTE_TYPES.ASSET,
158
+ types_1.ATTRIBUTE_TYPES.STRING,
159
159
  ]);
160
160
  exports.default = (0, formInputContainer_1.default)(exports.Dropdown);
@@ -46,7 +46,7 @@ var ProductDescription_1 = __importDefault(require("../ProductDescription"));
46
46
  var formComponents_1 = __importStar(require("../formComponents"));
47
47
  var utils_1 = require("../../utils");
48
48
  var useConfigurator_1 = __importDefault(require("../../hooks/useConfigurator"));
49
- var constants_1 = require("../../constants");
49
+ var types_1 = require("../../types");
50
50
  var FlatForm = function (props) {
51
51
  var _a = Object.assign({
52
52
  alignTitle: 'center',
@@ -68,10 +68,12 @@ var FlatForm = function (props) {
68
68
  var Component;
69
69
  var props = ((_b = (_a = (attributes || {})) === null || _a === void 0 ? void 0 : _a[attr.name]) === null || _b === void 0 ? void 0 : _b.props) || {};
70
70
  var type = attr.type;
71
- if (attr.type === 'Asset' && attr.assetType === constants_1.ASSET_TYPES.upload) {
71
+ if (attr.type === types_1.ATTRIBUTE_TYPES.ASSET &&
72
+ attr.assetType === types_1.ASSET_TYPES.UPLOAD) {
72
73
  type = attr.assetType;
73
74
  }
74
- else if (attr.type === 'String' && attr.values.length === 0) {
75
+ else if (attr.type === types_1.ATTRIBUTE_TYPES.STRING &&
76
+ attr.values.length === 0) {
75
77
  type = formComponents_1.FORM_COMPONENT_TYPES.stringInput;
76
78
  }
77
79
  if ((_d = (_c = (attributes || {})) === null || _c === void 0 ? void 0 : _c[attr.name]) === null || _d === void 0 ? void 0 : _d.component) {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  export interface IProps {
3
- children: React.ReactNode;
3
+ children?: React.ReactNode;
4
4
  }
5
5
  export interface PlayerProps extends IProps {
6
6
  height?: string;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export interface PlayerLoadingCircularProps {
3
+ size?: string;
4
+ }
5
+ export declare function PlayerLoadingCircular(props: PlayerLoadingCircularProps): JSX.Element | null;
6
+ export default PlayerLoadingCircular;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlayerLoadingCircular = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var playerLoadingCircular_styles_1 = require("./playerLoadingCircular.styles");
9
+ var useLoadingProgress_1 = __importDefault(require("../../hooks/useLoadingProgress"));
10
+ function PlayerLoadingCircular(props) {
11
+ var progress = (0, useLoadingProgress_1.default)();
12
+ if (progress === 100 || progress === undefined)
13
+ return null;
14
+ return (react_1.default.createElement(playerLoadingCircular_styles_1.Wrapper, { size: props.size },
15
+ react_1.default.createElement(playerLoadingCircular_styles_1.Progress, { size: props.size, progress: progress })));
16
+ }
17
+ exports.PlayerLoadingCircular = PlayerLoadingCircular;
18
+ exports.default = PlayerLoadingCircular;
@@ -0,0 +1,7 @@
1
+ import { PlayerLoadingCircularProps } from './index';
2
+ interface ProgressProps extends PlayerLoadingCircularProps {
3
+ progress: number;
4
+ }
5
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, Pick<ProgressProps, "size">, never>;
6
+ export declare const Progress: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, ProgressProps, never>;
7
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Progress = exports.Wrapper = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
12
+ var PRIMARY_COLOR = '#369';
13
+ var SECONDARY_COLOR = '#adf';
14
+ var SIZE = '120px';
15
+ exports.Wrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: ", ";\n width: ", ";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n"], ["\n height: ", ";\n width: ", ";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n"])), function (props) { return props.size || SIZE; }, function (props) { return props.size || SIZE; });
16
+ exports.Progress = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n animation: progress 2s 0.5s forwards;\n width: ", ";\n aspect-ratio: 1;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n display: grid;\n place-items: center;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: conic-gradient(\n ", " calc(", " * 1%),\n ", " 0\n );\n mask: radial-gradient(#0000 55%, #000 0);\n mask-mode: alpha;\n }\n\n &::after {\n counter-reset: percentage ", ";\n content: counter(percentage) '%';\n font-family: Helvetica, Arial, sans-serif;\n font-size: calc(", " / 5);\n color: ", ";\n }\n"], ["\n animation: progress 2s 0.5s forwards;\n width: ", ";\n aspect-ratio: 1;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n display: grid;\n place-items: center;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: conic-gradient(\n ", " calc(", " * 1%),\n ", " 0\n );\n mask: radial-gradient(#0000 55%, #000 0);\n mask-mode: alpha;\n }\n\n &::after {\n counter-reset: percentage ", ";\n content: counter(percentage) '%';\n font-family: Helvetica, Arial, sans-serif;\n font-size: calc(", " / 5);\n color: ", ";\n }\n"])), function (props) { return props.size || SIZE; }, PRIMARY_COLOR, function (props) { return props.progress; }, SECONDARY_COLOR, function (props) { return props.progress; }, function (props) { return props.size || SIZE; }, PRIMARY_COLOR);
17
+ var templateObject_1, templateObject_2;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface PlayerLoadingSpinnerProps {
3
+ duration?: number;
4
+ size?: string;
5
+ }
6
+ export declare function PlayerLoadingSpinner(props: PlayerLoadingSpinnerProps): JSX.Element | null;
7
+ export default PlayerLoadingSpinner;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlayerLoadingSpinner = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var playerLoadingSpinner_styles_1 = require("./playerLoadingSpinner.styles");
9
+ var useThreekitInitStatus_1 = __importDefault(require("../../hooks/useThreekitInitStatus"));
10
+ function PlayerLoadingSpinner(props) {
11
+ var hide = (0, useThreekitInitStatus_1.default)();
12
+ if (hide)
13
+ return null;
14
+ return react_1.default.createElement(playerLoadingSpinner_styles_1.Wrapper, { size: props.size, duration: props.duration });
15
+ }
16
+ exports.PlayerLoadingSpinner = PlayerLoadingSpinner;
17
+ exports.default = PlayerLoadingSpinner;
@@ -0,0 +1,4 @@
1
+ import { PlayerLoadingSpinnerProps } from './index';
2
+ declare type WrapperProps = Pick<PlayerLoadingSpinnerProps, 'duration' | 'size'>;
3
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, WrapperProps, never>;
4
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.Wrapper = void 0;
31
+ var styled_components_1 = __importStar(require("styled-components"));
32
+ var SIZE = '36px';
33
+ var spin = (0, styled_components_1.keyframes)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\nto {\n transform: translateY(-50%) translateX(-50%) rotate(1turn);\n}\n"], ["\nto {\n transform: translateY(-50%) translateX(-50%) rotate(1turn);\n}\n"])));
34
+ exports.Wrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateY(-50%) translateX(-50%);\n width: ", ";\n aspect-ratio: 1;\n display: grid;\n mask: conic-gradient(from 22deg, #0001, #000);\n animation: ", " ", "s steps(8) infinite;\n\n &,\n &:before {\n background: linear-gradient(hsl(230deg 100% 20%) 0 0) 50%/34% 8% space no-repeat,\n linear-gradient(hsl(230deg 100% 20%) 0 0) 50%/8% 34% no-repeat space;\n }\n\n &:before {\n content: \"\";\n transform: rotate(45deg);\n }\n}\n\n"], ["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateY(-50%) translateX(-50%);\n width: ", ";\n aspect-ratio: 1;\n display: grid;\n mask: conic-gradient(from 22deg, #0001, #000);\n animation: ", " ", "s steps(8) infinite;\n\n &,\n &:before {\n background: linear-gradient(hsl(230deg 100% 20%) 0 0) 50%/34% 8% space no-repeat,\n linear-gradient(hsl(230deg 100% 20%) 0 0) 50%/8% 34% no-repeat space;\n }\n\n &:before {\n content: \"\";\n transform: rotate(45deg);\n }\n}\n\n"])), function (props) { return props.size || SIZE; }, spin, function (props) { return props.duration || 1; });
35
+ var templateObject_1, templateObject_2;
@@ -1,11 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import PropTypes from 'prop-types';
3
3
  import { BUTTON_SHAPES, BUTTON_TYPES } from '../Button';
4
+ import type { Positions } from './share.styles';
4
5
  interface ShareProps {
5
6
  shape?: BUTTON_SHAPES;
6
7
  type?: BUTTON_TYPES;
7
8
  className?: string;
8
9
  message?: string;
10
+ position: Positions;
9
11
  }
10
12
  export declare const Share: {
11
13
  (props: ShareProps): JSX.Element | null;
@@ -1,27 +1,157 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
2
61
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
62
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
63
  };
5
64
  Object.defineProperty(exports, "__esModule", { value: true });
6
65
  exports.Share = void 0;
7
- var react_1 = __importDefault(require("react"));
66
+ var react_1 = __importStar(require("react"));
8
67
  var prop_types_1 = __importDefault(require("prop-types"));
9
68
  var Button_1 = __importDefault(require("../Button"));
69
+ var message_1 = __importDefault(require("../message"));
10
70
  var Share_1 = __importDefault(require("../../icons/Share"));
11
71
  var useThreekitInitStatus_1 = __importDefault(require("../../hooks/useThreekitInitStatus"));
12
- var useShare_1 = __importDefault(require("../../hooks/useShare"));
13
72
  var utils_1 = require("../../utils");
73
+ var share_styles_1 = require("./share.styles");
14
74
  var Share = function (props) {
15
- var _a = Object.assign({ type: 'threekit', shape: 'round', message: 'Link copied!' }, props), shape = _a.shape, type = _a.type, className = _a.className, message = _a.message;
75
+ var _a = Object.assign({
76
+ type: 'threekit',
77
+ shape: 'round',
78
+ message: 'Link copied!',
79
+ position: 'bottom-right',
80
+ }, props), shape = _a.shape, type = _a.type, className = _a.className, msg = _a.message, position = _a.position;
16
81
  var hasLoaded = (0, useThreekitInitStatus_1.default)();
17
- var handleShare = (0, useShare_1.default)();
18
- if (!hasLoaded || !handleShare)
82
+ var _b = (0, react_1.useState)(false), show = _b[0], setShow = _b[1];
83
+ var _c = (0, react_1.useState)(null), resumeUrl = _c[0], setResumeUrl = _c[1];
84
+ var resumeUrlElRef = (0, react_1.useRef)(null);
85
+ var shareButtonRef = (0, react_1.useRef)(null);
86
+ var shareContentRef = (0, react_1.useRef)(null);
87
+ (0, react_1.useEffect)(function () {
88
+ var handleClickOutside = function (e) {
89
+ var _a, _b;
90
+ if (!e)
91
+ return;
92
+ if (!((_a = shareButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) &&
93
+ !((_b = shareContentRef.current) === null || _b === void 0 ? void 0 : _b.contains(e.target))) {
94
+ setShow(false);
95
+ e.stopPropagation();
96
+ }
97
+ };
98
+ document.addEventListener('mousedown', handleClickOutside);
99
+ return function () {
100
+ document.removeEventListener('mousedown', handleClickOutside);
101
+ };
102
+ }, [show, shareButtonRef, shareContentRef]);
103
+ if (!hasLoaded)
19
104
  return null;
20
105
  var cls = (0, utils_1.generateWidgetClassName)('share', className);
21
- var handleClick = function () {
22
- handleShare(message);
23
- };
24
- return (react_1.default.createElement(Button_1.default, { className: cls, shape: shape, type: type, icon: Share_1.default.iconName, onClick: handleClick }));
106
+ var handleClick = function () { return __awaiter(void 0, void 0, void 0, function () {
107
+ var configuration, e_1;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0:
111
+ if (show) {
112
+ setResumeUrl(null);
113
+ setShow(!show);
114
+ return [2];
115
+ }
116
+ return [4, window.threekit.treble.saveConfiguration()];
117
+ case 1:
118
+ configuration = _a.sent();
119
+ _a.label = 2;
120
+ case 2:
121
+ _a.trys.push([2, 4, , 5]);
122
+ return [4, navigator.clipboard.writeText(configuration.resumableUrl)];
123
+ case 3:
124
+ _a.sent();
125
+ if (msg === null || msg === void 0 ? void 0 : msg.length)
126
+ message_1.default.info(msg);
127
+ return [3, 5];
128
+ case 4:
129
+ e_1 = _a.sent();
130
+ setResumeUrl(configuration.resumableUrl);
131
+ setShow(!show);
132
+ return [3, 5];
133
+ case 5: return [2];
134
+ }
135
+ });
136
+ }); };
137
+ var handleClickCopy = function () { return __awaiter(void 0, void 0, void 0, function () {
138
+ var _a;
139
+ return __generator(this, function (_b) {
140
+ if (!((_a = resumeUrlElRef.current) === null || _a === void 0 ? void 0 : _a.value))
141
+ return [2];
142
+ navigator.clipboard.writeText(resumeUrlElRef.current.value);
143
+ if (msg === null || msg === void 0 ? void 0 : msg.length)
144
+ message_1.default.info(msg);
145
+ return [2];
146
+ });
147
+ }); };
148
+ return (react_1.default.createElement(share_styles_1.Wrapper, { ref: shareButtonRef },
149
+ react_1.default.createElement(Button_1.default, { className: cls, shape: shape, type: type, icon: Share_1.default.iconName, onClick: handleClick }),
150
+ show ? (react_1.default.createElement(share_styles_1.ShareWrapper, { position: position },
151
+ react_1.default.createElement(share_styles_1.Content, { ref: shareContentRef },
152
+ react_1.default.createElement("input", { type: "text", ref: resumeUrlElRef, value: resumeUrl || '', onChange: function () { } }),
153
+ react_1.default.createElement("button", { type: "button", onClick: handleClickCopy }, "copy link")),
154
+ react_1.default.createElement(share_styles_1.Caret, null))) : null));
25
155
  };
26
156
  exports.Share = Share;
27
157
  exports.Share.propTypes = {
@@ -0,0 +1,9 @@
1
+ export declare type Positions = 'top-right' | 'bottom-right' | 'bottom-left' | 'top-left';
2
+ interface PositionProps {
3
+ position: Positions;
4
+ }
5
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const Content: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
7
+ export declare const Caret: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
8
+ export declare const ShareWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, PositionProps, never>;
9
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ShareWrapper = exports.Caret = exports.Content = exports.Wrapper = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
12
+ exports.Wrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 40px;\n width: 40px;\n position: relative;\n"], ["\n height: 40px;\n width: 40px;\n position: relative;\n"])));
13
+ var ShareWrapperStyles = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
14
+ exports.Content = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 24px 18px;\n border-radius: 4px;\n background: rgba(0, 0, 0, 0.9);\n color: white;\n font-size: 16px;\n width: 290px;\n\n display: flex;\n flex-direction: row;\n justify-content: center;\n\n input {\n background: #555555;\n color: #ffffff;\n border: none;\n outline: none;\n padding: 9px;\n border-radius: 4px;\n font-size: 13px;\n text-overflow: ellipsis;\n width: 180px;\n }\n\n button {\n color: #2a94f5;\n font-size: 13px;\n background: none;\n outline: none;\n border: none;\n cursor: pointer;\n }\n"], ["\n padding: 24px 18px;\n border-radius: 4px;\n background: rgba(0, 0, 0, 0.9);\n color: white;\n font-size: 16px;\n width: 290px;\n\n display: flex;\n flex-direction: row;\n justify-content: center;\n\n input {\n background: #555555;\n color: #ffffff;\n border: none;\n outline: none;\n padding: 9px;\n border-radius: 4px;\n font-size: 13px;\n text-overflow: ellipsis;\n width: 180px;\n }\n\n button {\n color: #2a94f5;\n font-size: 13px;\n background: none;\n outline: none;\n border: none;\n cursor: pointer;\n }\n"])));
15
+ exports.Caret = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-top: 8px solid rgba(0, 0, 0, 0.9);\n\n position: absolute;\n"], ["\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-top: 8px solid rgba(0, 0, 0, 0.9);\n\n position: absolute;\n"])));
16
+ exports.ShareWrapper = (0, styled_components_1.default)(ShareWrapperStyles)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n top: ", ";\n left: ", ";\n transform: ", ";\n\n ", " {\n left: ", ";\n top: ", ";\n\n transform: ", ";\n }\n"], ["\n top: ", ";\n left: ", ";\n transform: ", ";\n\n ", " {\n left: ", ";\n top: ", ";\n\n transform: ", ";\n }\n"])), function (props) { return (props.position.includes('top') ? '14px' : '-100%'); }, function (props) { return (props.position.includes('right') ? '-250px' : 'auto'); }, function (props) {
17
+ return props.position.includes('top')
18
+ ? ''
19
+ : 'translateY(calc(0px - 14px - 100%))';
20
+ }, exports.Caret, function (props) { return (props.position.includes('right') ? '260px' : '10px'); }, function (props) { return (props.position.includes('top') ? '0' : 'auto'); }, function (props) {
21
+ return props.position.includes('top') ? 'translateY(-100%) scaleY(-1)' : '';
22
+ });
23
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface SkeletonProps {
3
+ shimmer?: boolean;
4
+ }
5
+ interface ISkeleton extends React.FC<SkeletonProps> {
6
+ ColorSwatchSkeleton: React.FC<SkeletonProps>;
7
+ CardsSkeleton: React.FC<SkeletonProps>;
8
+ StripsSkeleton: React.FC<SkeletonProps>;
9
+ FormHeaderSkeleton: React.FC<SkeletonProps>;
10
+ FormDescriptionSkeleton: React.FC<SkeletonProps>;
11
+ }
12
+ export declare const FormHeaderSkeleton: React.FC<SkeletonProps>;
13
+ export declare const FormDescriptionSkeleton: React.FC<SkeletonProps>;
14
+ export declare const StripsSkeleton: React.FC<SkeletonProps>;
15
+ export declare const CardsSkeleton: React.FC<SkeletonProps>;
16
+ export declare const ColowSwatchSkeleton: React.FC<SkeletonProps>;
17
+ declare const Skeleton: ISkeleton;
18
+ export default Skeleton;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ColowSwatchSkeleton = exports.CardsSkeleton = exports.StripsSkeleton = exports.FormDescriptionSkeleton = exports.FormHeaderSkeleton = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var skeleton_styles_1 = require("./skeleton.styles");
9
+ var FormHeaderSkeleton = function (props) {
10
+ var shimmer = props.shimmer;
11
+ return (react_1.default.createElement(skeleton_styles_1.FormHeaderWrapper, { shimmer: shimmer },
12
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null),
13
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null)));
14
+ };
15
+ exports.FormHeaderSkeleton = FormHeaderSkeleton;
16
+ var FormDescriptionSkeleton = function (props) {
17
+ var shimmer = props.shimmer;
18
+ return react_1.default.createElement(skeleton_styles_1.FormDescriptionWrapper, { shimmer: shimmer });
19
+ };
20
+ exports.FormDescriptionSkeleton = FormDescriptionSkeleton;
21
+ var StripsSkeleton = function (props) {
22
+ var shimmer = props.shimmer;
23
+ return (react_1.default.createElement(skeleton_styles_1.SkeletonWrapper, { shimmer: shimmer },
24
+ react_1.default.createElement(skeleton_styles_1.TitleWrapper, { shimmer: shimmer }),
25
+ react_1.default.createElement(skeleton_styles_1.DescriptionWrapper, { shimmer: shimmer }),
26
+ react_1.default.createElement("div", null, Array(3)
27
+ .fill(null)
28
+ .map(function (_, i) { return (react_1.default.createElement(skeleton_styles_1.StripsItem, { key: i },
29
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null),
30
+ react_1.default.createElement("div", null,
31
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null),
32
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null)),
33
+ react_1.default.createElement("div", null,
34
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null)))); }))));
35
+ };
36
+ exports.StripsSkeleton = StripsSkeleton;
37
+ var CardsSkeleton = function (props) {
38
+ var shimmer = props.shimmer;
39
+ return (react_1.default.createElement(skeleton_styles_1.SkeletonWrapper, { shimmer: shimmer },
40
+ react_1.default.createElement(skeleton_styles_1.TitleWrapper, { shimmer: shimmer }),
41
+ react_1.default.createElement(skeleton_styles_1.DescriptionWrapper, { shimmer: shimmer }),
42
+ react_1.default.createElement(skeleton_styles_1.RowWrapper, null, Array(3)
43
+ .fill(null)
44
+ .map(function (_, i) { return (react_1.default.createElement(skeleton_styles_1.CardItem, { key: i },
45
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null),
46
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null),
47
+ react_1.default.createElement(skeleton_styles_1.ShimmerDiv, null))); }))));
48
+ };
49
+ exports.CardsSkeleton = CardsSkeleton;
50
+ var ColowSwatchSkeleton = function (props) {
51
+ var shimmer = props.shimmer;
52
+ return (react_1.default.createElement(skeleton_styles_1.SkeletonWrapper, { shimmer: shimmer },
53
+ react_1.default.createElement(skeleton_styles_1.TitleWrapper, { shimmer: shimmer }),
54
+ react_1.default.createElement(skeleton_styles_1.DescriptionWrapper, { shimmer: shimmer }),
55
+ react_1.default.createElement(skeleton_styles_1.RowWrapper, null, Array(8)
56
+ .fill(null)
57
+ .map(function (_, i) { return (react_1.default.createElement(skeleton_styles_1.SwatchItem, { key: i })); }))));
58
+ };
59
+ exports.ColowSwatchSkeleton = ColowSwatchSkeleton;
60
+ var Skeleton = function (props) {
61
+ var shimmer = props.shimmer;
62
+ return (react_1.default.createElement("div", null,
63
+ react_1.default.createElement(exports.FormHeaderSkeleton, { shimmer: shimmer }),
64
+ react_1.default.createElement(exports.FormDescriptionSkeleton, { shimmer: shimmer }),
65
+ react_1.default.createElement(exports.StripsSkeleton, { shimmer: shimmer }),
66
+ react_1.default.createElement(exports.CardsSkeleton, { shimmer: shimmer })));
67
+ };
68
+ Skeleton.FormHeaderSkeleton = exports.FormHeaderSkeleton;
69
+ Skeleton.FormDescriptionSkeleton = exports.FormDescriptionSkeleton;
70
+ Skeleton.ColorSwatchSkeleton = exports.ColowSwatchSkeleton;
71
+ Skeleton.CardsSkeleton = exports.CardsSkeleton;
72
+ Skeleton.StripsSkeleton = exports.StripsSkeleton;
73
+ exports.default = Skeleton;