@cntrl-site/sdk 1.23.2 → 1.24.1

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 (30) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +2 -2
  3. package/dist/Components/ControlSlider/ControlSlider.d.ts +1 -2
  4. package/dist/Components/ImageRevealSlider/ControlImageRevealSliderComponent.d.ts +210 -0
  5. package/dist/Components/ImageRevealSlider/ImageRevealSlider.d.ts +38 -0
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +893 -131
  8. package/dist/index.mjs +894 -132
  9. package/dist/schemas/article/Article.schema.d.ts +4 -4
  10. package/dist/schemas/article/FillLayer.schema.d.ts +186 -0
  11. package/dist/schemas/article/FillLayer.schema.js +53 -0
  12. package/dist/schemas/article/Item.schema.d.ts +6 -6
  13. package/dist/schemas/article/Item.schema.js +5 -4
  14. package/dist/schemas/article/ItemArea.schema.d.ts +2 -2
  15. package/dist/schemas/article/ItemBase.schema.d.ts +4 -4
  16. package/dist/schemas/article/ItemState.schema.d.ts +2433 -231
  17. package/dist/schemas/article/ItemState.schema.js +4 -3
  18. package/dist/schemas/article/RichTextItem.schema.d.ts +16 -16
  19. package/dist/schemas/article/Section.schema.d.ts +2 -2
  20. package/dist/schemas/keyframe/Keyframes.schema.d.ts +1222 -186
  21. package/dist/schemas/keyframe/Keyframes.schema.js +11 -14
  22. package/dist/schemas/shared/FillLayer.schema.d.ts +186 -0
  23. package/dist/sdk.css +1 -1
  24. package/dist/types/article/Item.d.ts +51 -3
  25. package/dist/types/article/ItemState.d.ts +4 -3
  26. package/dist/types/component/Component.d.ts +0 -1
  27. package/dist/types/keyframe/Keyframe.d.ts +8 -11
  28. package/dist/types/keyframe/Keyframe.js +2 -2
  29. package/package.json +83 -79
  30. package/resources/template.scss.ejs +50 -50
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KeyframesSchema = exports.KeyframeSchema = void 0;
4
4
  const Keyframe_1 = require("../../types/keyframe/Keyframe");
5
5
  const zod_1 = require("zod");
6
+ const FillLayer_schema_1 = require("../article/FillLayer.schema");
6
7
  const KeyframesBaseSchema = zod_1.z.object({
7
8
  id: zod_1.z.string().min(1),
8
9
  layoutId: zod_1.z.string().min(1),
@@ -41,17 +42,9 @@ const BorderWidthKeyframeSchema = KeyframesBaseSchema.extend({
41
42
  borderWidth: zod_1.z.number().nonnegative()
42
43
  })
43
44
  });
44
- const ColorKeyframeSchema = KeyframesBaseSchema.extend({
45
- type: zod_1.z.literal(Keyframe_1.KeyframeType.Color),
46
- value: zod_1.z.object({
47
- color: zod_1.z.string()
48
- })
49
- });
50
- const BorderColorKeyframeSchema = KeyframesBaseSchema.extend({
51
- type: zod_1.z.literal(Keyframe_1.KeyframeType.BorderColor),
52
- value: zod_1.z.object({
53
- color: zod_1.z.string()
54
- })
45
+ const BorderFillKeyframeSchema = KeyframesBaseSchema.extend({
46
+ type: zod_1.z.literal(Keyframe_1.KeyframeType.BorderFill),
47
+ value: zod_1.z.array(FillLayer_schema_1.FillLayerSchema)
55
48
  });
56
49
  const OpacityKeyframeSchema = KeyframesBaseSchema.extend({
57
50
  type: zod_1.z.literal(Keyframe_1.KeyframeType.Opacity),
@@ -99,14 +92,17 @@ const FXParamsKeyframeSchema = KeyframesBaseSchema.extend({
99
92
  type: zod_1.z.literal(Keyframe_1.KeyframeType.FXParams),
100
93
  value: zod_1.z.record(zod_1.z.string(), zod_1.z.number())
101
94
  });
95
+ const FillKeyframeSchema = KeyframesBaseSchema.extend({
96
+ type: zod_1.z.literal(Keyframe_1.KeyframeType.Fill),
97
+ value: zod_1.z.array(FillLayer_schema_1.FillLayerSchema)
98
+ });
102
99
  exports.KeyframeSchema = zod_1.z.discriminatedUnion('type', [
103
100
  DimensionsKeyframeSchema,
104
101
  PositionKeyframeSchema,
105
102
  RotationKeyframeSchema,
106
103
  BorderRadiusKeyframeSchema,
107
104
  BorderWidthKeyframeSchema,
108
- ColorKeyframeSchema,
109
- BorderColorKeyframeSchema,
105
+ BorderFillKeyframeSchema,
110
106
  OpacityKeyframeSchema,
111
107
  ScaleKeyframeSchema,
112
108
  BlurKeyframeSchema,
@@ -114,6 +110,7 @@ exports.KeyframeSchema = zod_1.z.discriminatedUnion('type', [
114
110
  TextColorKeyframeSchema,
115
111
  LetterSpacingKeyframeSchema,
116
112
  WordSpacingKeyframeSchema,
117
- FXParamsKeyframeSchema
113
+ FXParamsKeyframeSchema,
114
+ FillKeyframeSchema
118
115
  ]);
119
116
  exports.KeyframesSchema = zod_1.z.array(exports.KeyframeSchema);
@@ -0,0 +1,186 @@
1
+ import { z } from 'zod';
2
+ export declare const ColorPointSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ value: z.ZodString;
5
+ position: z.ZodNumber;
6
+ }, "strip", z.ZodTypeAny, {
7
+ position: number;
8
+ id: string;
9
+ value: string;
10
+ }, {
11
+ position: number;
12
+ id: string;
13
+ value: string;
14
+ }>;
15
+ export declare const FillLayerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
16
+ id: z.ZodString;
17
+ type: z.ZodLiteral<"solid">;
18
+ value: z.ZodString;
19
+ blendMode: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ id: string;
22
+ value: string;
23
+ type: "solid";
24
+ blendMode: string;
25
+ }, {
26
+ id: string;
27
+ value: string;
28
+ type: "solid";
29
+ blendMode: string;
30
+ }>, z.ZodObject<{
31
+ id: z.ZodString;
32
+ type: z.ZodLiteral<"linear-gradient">;
33
+ colors: z.ZodArray<z.ZodObject<{
34
+ id: z.ZodString;
35
+ value: z.ZodString;
36
+ position: z.ZodNumber;
37
+ }, "strip", z.ZodTypeAny, {
38
+ position: number;
39
+ id: string;
40
+ value: string;
41
+ }, {
42
+ position: number;
43
+ id: string;
44
+ value: string;
45
+ }>, "many">;
46
+ start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
47
+ end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
48
+ angle: z.ZodNumber;
49
+ blendMode: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ id: string;
52
+ type: "linear-gradient";
53
+ blendMode: string;
54
+ colors: {
55
+ position: number;
56
+ id: string;
57
+ value: string;
58
+ }[];
59
+ start: [number, number];
60
+ end: [number, number];
61
+ angle: number;
62
+ }, {
63
+ id: string;
64
+ type: "linear-gradient";
65
+ blendMode: string;
66
+ colors: {
67
+ position: number;
68
+ id: string;
69
+ value: string;
70
+ }[];
71
+ start: [number, number];
72
+ end: [number, number];
73
+ angle: number;
74
+ }>, z.ZodObject<{
75
+ id: z.ZodString;
76
+ type: z.ZodLiteral<"radial-gradient">;
77
+ colors: z.ZodArray<z.ZodObject<{
78
+ id: z.ZodString;
79
+ value: z.ZodString;
80
+ position: z.ZodNumber;
81
+ }, "strip", z.ZodTypeAny, {
82
+ position: number;
83
+ id: string;
84
+ value: string;
85
+ }, {
86
+ position: number;
87
+ id: string;
88
+ value: string;
89
+ }>, "many">;
90
+ center: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
91
+ diameter: z.ZodNumber;
92
+ angle: z.ZodNumber;
93
+ blendMode: z.ZodString;
94
+ }, "strip", z.ZodTypeAny, {
95
+ center: [number, number];
96
+ id: string;
97
+ type: "radial-gradient";
98
+ blendMode: string;
99
+ colors: {
100
+ position: number;
101
+ id: string;
102
+ value: string;
103
+ }[];
104
+ angle: number;
105
+ diameter: number;
106
+ }, {
107
+ center: [number, number];
108
+ id: string;
109
+ type: "radial-gradient";
110
+ blendMode: string;
111
+ colors: {
112
+ position: number;
113
+ id: string;
114
+ value: string;
115
+ }[];
116
+ angle: number;
117
+ diameter: number;
118
+ }>, z.ZodObject<{
119
+ id: z.ZodString;
120
+ type: z.ZodLiteral<"conic-gradient">;
121
+ colors: z.ZodArray<z.ZodObject<{
122
+ id: z.ZodString;
123
+ value: z.ZodString;
124
+ position: z.ZodNumber;
125
+ }, "strip", z.ZodTypeAny, {
126
+ position: number;
127
+ id: string;
128
+ value: string;
129
+ }, {
130
+ position: number;
131
+ id: string;
132
+ value: string;
133
+ }>, "many">;
134
+ center: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
135
+ angle: z.ZodNumber;
136
+ blendMode: z.ZodString;
137
+ }, "strip", z.ZodTypeAny, {
138
+ center: [number, number];
139
+ id: string;
140
+ type: "conic-gradient";
141
+ blendMode: string;
142
+ colors: {
143
+ position: number;
144
+ id: string;
145
+ value: string;
146
+ }[];
147
+ angle: number;
148
+ }, {
149
+ center: [number, number];
150
+ id: string;
151
+ type: "conic-gradient";
152
+ blendMode: string;
153
+ colors: {
154
+ position: number;
155
+ id: string;
156
+ value: string;
157
+ }[];
158
+ angle: number;
159
+ }>, z.ZodObject<{
160
+ id: z.ZodString;
161
+ type: z.ZodLiteral<"image">;
162
+ src: z.ZodString;
163
+ behavior: z.ZodString;
164
+ backgroundSize: z.ZodNumber;
165
+ opacity: z.ZodNumber;
166
+ blendMode: z.ZodString;
167
+ rotation: z.ZodOptional<z.ZodNumber>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ opacity: number;
170
+ id: string;
171
+ type: "image";
172
+ blendMode: string;
173
+ src: string;
174
+ behavior: string;
175
+ backgroundSize: number;
176
+ rotation?: number | undefined;
177
+ }, {
178
+ opacity: number;
179
+ id: string;
180
+ type: "image";
181
+ blendMode: string;
182
+ src: string;
183
+ behavior: string;
184
+ backgroundSize: number;
185
+ rotation?: number | undefined;
186
+ }>]>;
package/dist/sdk.css CHANGED
@@ -1 +1 @@
1
- .ControlSlider-module__wrapper___sHEkd{position:relative;width:100%;height:100%}.ControlSlider-module__slider___R3i9-{width:100%;height:100%}.ControlSlider-module__sliderItems___1MgPL{display:flex;overflow:hidden;width:100%;height:100%;transition:transform .3s ease-in-out}.ControlSlider-module__sliderItem___QQSkR{width:100%;height:100%;display:flex;position:relative}.ControlSlider-module__sliderImage___9hRl-{width:100%;height:100%;object-fit:cover}.ControlSlider-module__arrow___05ghY{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;top:50%;left:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);z-index:1;transform:translate(-50%,-50%);padding:0;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.ControlSlider-module__arrow___05ghY.ControlSlider-module__arrowVertical___tBfVN{left:50%;top:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,-50%)}.ControlSlider-module__nextArrow___-30Yc{left:unset;right:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(50%,-50%)}.ControlSlider-module__nextArrow___-30Yc.ControlSlider-module__arrowVertical___tBfVN{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,50%)}.ControlSlider-module__arrowInner___aEra3{all:unset;cursor:pointer;width:100%;height:100%}.ControlSlider-module__arrowInner___aEra3:hover .ControlSlider-module__arrowIcon___S4ztF path{fill:var(--arrow-hover-color)!important}.ControlSlider-module__arrowImg___2dwJW{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ControlSlider-module__arrowIcon___S4ztF{width:100%;height:100%}.ControlSlider-module__arrowIcon___S4ztF path{transition:fill .15s ease-in-out}.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleX(-1)!important}.ControlSlider-module__arrowVertical___tBfVN.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleY(-1)!important}.ControlSlider-module__pagination___bicLF{position:absolute;z-index:1;border-radius:50%}.ControlSlider-module__paginationInner___bT-P-{display:flex;gap:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);padding-top:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-bottom:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-left:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);padding-right:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);border-radius:calc(var(--is-editor, 0) * 2.3611111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.3611111111vw)}.ControlSlider-module__paginationVertical___zYqKw{flex-direction:column}.ControlSlider-module__paginationItem___nTRbk{all:unset;flex-shrink:0;position:relative;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);cursor:pointer}.ControlSlider-module__paginationItem___nTRbk:hover .ControlSlider-module__dot___p1Qun{background-color:var(--pagination-hover-color)!important}.ControlSlider-module__dot___p1Qun{border-radius:50%;scale:.5;transition:background-color .3s ease-in-out,transform .3s ease-in-out;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw)}.ControlSlider-module__activeDot___LHFaj{transform:scale(2)}.ControlSlider-module__paginationInsideBottom___R3FWn{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__paginationInsideTop___V-qb-{left:50%;transform:translate(-50%);top:0}.ControlSlider-module__paginationOutsideBottom___14w8D{left:50%;transform:translate(-50%);bottom:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideTop___SCLqB{left:50%;transform:translate(-50%);top:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideLeft___yOBRZ{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideRight___Rtt3o{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideLeft___lahaw{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__paginationOutsideRight___EtuQa{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__imgWrapper___UjEgB,.ControlSlider-module__wrapperInner___DLAWV{width:100%;height:100%}.ControlSlider-module__captionBlock___dJ6-j{pointer-events:none;position:absolute;top:0;z-index:1;left:0;right:0;bottom:0}.ControlSlider-module__captionTextWrapper___HFlpf{position:relative;width:100%;height:100%}.ControlSlider-module__captionText___uGBVc{pointer-events:none;max-width:100%;transition-property:opacity;transition-timing-function:ease-in-out;position:absolute;display:inline-block;white-space:pre-wrap;overflow-wrap:break-word;opacity:0}.ControlSlider-module__captionText___uGBVc.ControlSlider-module__active___WZK4G{opacity:1}.ControlSlider-module__withPointerEvents___t-18M{pointer-events:auto}.ControlSlider-module__absolute___KxmYB{position:absolute}.ControlSlider-module__topLeftAlignment___zjnGM{top:0;left:0}.ControlSlider-module__topCenterAlignment___gD1xW{top:0;left:50%;transform:translate(-50%)}.ControlSlider-module__topRightAlignment___NMapS{top:0;right:0}.ControlSlider-module__middleLeftAlignment___OnUrY{top:50%;transform:translateY(-50%);left:0}.ControlSlider-module__middleCenterAlignment___Tdkl0{top:50%;transform:translate(-50%,-50%);left:50%}.ControlSlider-module__middleRightAlignment___wEbfX{top:50%;transform:translateY(-50%);right:0}.ControlSlider-module__bottomLeftAlignment___cTP2-{bottom:0;left:0}.ControlSlider-module__bottomCenterAlignment___c54fB{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__bottomRightAlignment___kEwrz{bottom:0;right:0}.ControlSlider-module__clickOverlay___DZA28{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.ControlSlider-module__contain___pLyq7{object-fit:contain}.ControlSlider-module__cover___KdDat{object-fit:cover}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.RichTextRenderer-module__link___BWeZ2{color:inherit;cursor:pointer;pointer-events:auto;transition:color .2s ease}.RichTextRenderer-module__link___BWeZ2:hover{color:var(--link-hover-color)}.SvgImage-module__svg___q3xE-{width:100%;height:100%;color:transparent;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--fill);transition:background-color .2s;-webkit-mask:var(--svg) no-repeat center/contain;mask:var(--svg) no-repeat center/contain}.SvgImage-module__svg___q3xE-:hover{background-color:var(--hover-fill)}.SvgImage-module__img___VsTm-{width:100%;height:100%;object-fit:contain}
1
+ .ControlSlider-module__wrapper___sHEkd{position:relative;width:100%;height:100%}.ControlSlider-module__slider___R3i9-{width:100%;height:100%}.ControlSlider-module__sliderItems___1MgPL{display:flex;overflow:hidden;width:100%;height:100%;transition:transform .3s ease-in-out}.ControlSlider-module__sliderItem___QQSkR{width:100%;height:100%;display:flex;position:relative}.ControlSlider-module__sliderImage___9hRl-{width:100%;height:100%;object-fit:cover}.ControlSlider-module__arrow___05ghY{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;top:50%;left:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);z-index:1;transform:translate(-50%,-50%);padding:0;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.ControlSlider-module__arrow___05ghY.ControlSlider-module__arrowVertical___tBfVN{left:50%;top:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,-50%)}.ControlSlider-module__nextArrow___-30Yc{left:unset;right:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(50%,-50%)}.ControlSlider-module__nextArrow___-30Yc.ControlSlider-module__arrowVertical___tBfVN{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,50%)}.ControlSlider-module__arrowInner___aEra3{all:unset;cursor:pointer;width:100%;height:100%}.ControlSlider-module__arrowInner___aEra3:hover .ControlSlider-module__arrowIcon___S4ztF path{fill:var(--arrow-hover-color)!important}.ControlSlider-module__arrowImg___2dwJW{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ControlSlider-module__arrowIcon___S4ztF{width:100%;height:100%}.ControlSlider-module__arrowIcon___S4ztF path{transition:fill .15s ease-in-out}.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleX(-1)!important}.ControlSlider-module__arrowVertical___tBfVN.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleY(-1)!important}.ControlSlider-module__pagination___bicLF{position:absolute;z-index:1;border-radius:50%}.ControlSlider-module__paginationInner___bT-P-{display:flex;gap:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);padding-top:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-bottom:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-left:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);padding-right:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);border-radius:calc(var(--is-editor, 0) * 2.3611111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.3611111111vw)}.ControlSlider-module__paginationVertical___zYqKw{flex-direction:column}.ControlSlider-module__paginationItem___nTRbk{all:unset;flex-shrink:0;position:relative;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);cursor:pointer}.ControlSlider-module__paginationItem___nTRbk:hover .ControlSlider-module__dot___p1Qun{background-color:var(--pagination-hover-color)!important}.ControlSlider-module__dot___p1Qun{border-radius:50%;scale:.5;transition:background-color .3s ease-in-out,transform .3s ease-in-out;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw)}.ControlSlider-module__activeDot___LHFaj{transform:scale(2)}.ControlSlider-module__paginationInsideBottom___R3FWn{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__paginationInsideTop___V-qb-{left:50%;transform:translate(-50%);top:0}.ControlSlider-module__paginationOutsideBottom___14w8D{left:50%;transform:translate(-50%);bottom:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideTop___SCLqB{left:50%;transform:translate(-50%);top:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideLeft___yOBRZ{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideRight___Rtt3o{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideLeft___lahaw{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__paginationOutsideRight___EtuQa{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__imgWrapper___UjEgB,.ControlSlider-module__wrapperInner___DLAWV{width:100%;height:100%}.ControlSlider-module__captionBlock___dJ6-j{pointer-events:none;position:absolute;top:0;z-index:1;left:0;right:0;bottom:0}.ControlSlider-module__captionTextWrapper___HFlpf{position:relative;width:100%;height:100%}.ControlSlider-module__captionText___uGBVc{pointer-events:none;max-width:100%;transition-property:opacity;transition-timing-function:ease-in-out;position:absolute;display:inline-block;white-space:pre-wrap;overflow-wrap:break-word;opacity:0}.ControlSlider-module__captionText___uGBVc.ControlSlider-module__active___WZK4G{opacity:1}.ControlSlider-module__withPointerEvents___t-18M{pointer-events:auto}.ControlSlider-module__absolute___KxmYB{position:absolute}.ControlSlider-module__topLeftAlignment___zjnGM{top:0;left:0}.ControlSlider-module__topCenterAlignment___gD1xW{top:0;left:50%;transform:translate(-50%)}.ControlSlider-module__topRightAlignment___NMapS{top:0;right:0}.ControlSlider-module__middleLeftAlignment___OnUrY{top:50%;transform:translateY(-50%);left:0}.ControlSlider-module__middleCenterAlignment___Tdkl0{top:50%;transform:translate(-50%,-50%);left:50%}.ControlSlider-module__middleRightAlignment___wEbfX{top:50%;transform:translateY(-50%);right:0}.ControlSlider-module__bottomLeftAlignment___cTP2-{bottom:0;left:0}.ControlSlider-module__bottomCenterAlignment___c54fB{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__bottomRightAlignment___kEwrz{bottom:0;right:0}.ControlSlider-module__clickOverlay___DZA28{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.ControlSlider-module__contain___pLyq7{object-fit:contain}.ControlSlider-module__cover___KdDat{object-fit:cover}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.RichTextRenderer-module__link___BWeZ2{color:inherit;cursor:pointer;pointer-events:auto;transition:color .2s ease}.RichTextRenderer-module__link___BWeZ2:hover{color:var(--link-hover-color)}.SvgImage-module__svg___q3xE-{width:100%;height:100%;color:transparent;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--fill);transition:background-color .2s;-webkit-mask:var(--svg) no-repeat center/contain;mask:var(--svg) no-repeat center/contain}.SvgImage-module__svg___q3xE-:hover{background-color:var(--hover-fill)}.SvgImage-module__img___VsTm-{width:100%;height:100%;object-fit:contain}.ImageRevealSlider-module__imageRevealSlider___UE5Ob{position:absolute;top:0;left:0;width:100%;height:100%;z-index:99999999;overflow:hidden}.ImageRevealSlider-module__image___Qjt-e{width:100%;height:100%;object-fit:cover;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}.ImageRevealSlider-module__link___N-iLG{width:100%;height:100%;display:block}
@@ -94,7 +94,7 @@ interface MediaLayoutParams {
94
94
  opacity: number;
95
95
  radius: number;
96
96
  strokeWidth: number;
97
- strokeColor: string;
97
+ strokeFill: FillLayer[];
98
98
  blur: number;
99
99
  isDraggable?: boolean;
100
100
  }
@@ -163,13 +163,61 @@ interface RichTextLayoutParams {
163
163
  interface RectangleLayoutParams {
164
164
  radius: number;
165
165
  strokeWidth: number;
166
- fillColor: string;
167
- strokeColor: string;
166
+ fill: FillLayer[];
167
+ strokeFill: FillLayer[];
168
168
  blur: number;
169
169
  backdropBlur: number;
170
170
  blurMode: 'default' | 'backdrop';
171
171
  isDraggable?: boolean;
172
172
  }
173
+ export type FillLayer = SolidFillLayer | LinearGradientFillLayer | RadialGradientFillLayer | ConicGradientFillLayer | ImageLayer;
174
+ type ColorPoint = {
175
+ id: string;
176
+ value: string;
177
+ position: number;
178
+ };
179
+ export type SolidFillLayer = {
180
+ id: string;
181
+ type: 'solid';
182
+ value: string;
183
+ blendMode: string;
184
+ };
185
+ export type LinearGradientFillLayer = {
186
+ id: string;
187
+ type: 'linear-gradient';
188
+ colors: ColorPoint[];
189
+ start: [number, number];
190
+ end: [number, number];
191
+ angle: number;
192
+ blendMode: string;
193
+ };
194
+ export type RadialGradientFillLayer = {
195
+ id: string;
196
+ type: 'radial-gradient';
197
+ colors: ColorPoint[];
198
+ diameter: number;
199
+ center: [number, number];
200
+ angle: number;
201
+ blendMode: string;
202
+ };
203
+ export type ConicGradientFillLayer = {
204
+ id: string;
205
+ type: 'conic-gradient';
206
+ colors: ColorPoint[];
207
+ center: [number, number];
208
+ angle: number;
209
+ blendMode: string;
210
+ };
211
+ export type ImageLayer = {
212
+ id: string;
213
+ type: 'image';
214
+ src: string;
215
+ behavior: string;
216
+ backgroundSize: number;
217
+ opacity: number;
218
+ blendMode: string;
219
+ rotation?: number;
220
+ };
173
221
  export interface ScrollPlaybackParams {
174
222
  from: number;
175
223
  to: number;
@@ -1,4 +1,5 @@
1
1
  import { ArticleItemType } from './ArticleItemType';
2
+ import { FillLayer } from './Item';
2
3
  type StateId = string;
3
4
  export type ItemState<T extends ArticleItemType> = Record<StateId, ItemStatesMap[T]>;
4
5
  export type ItemStateParams = ItemStatesMap[ArticleItemType];
@@ -41,7 +42,7 @@ export interface MediaStateParams extends ItemStatesBaseMap {
41
42
  opacity?: StateParams<number>;
42
43
  radius?: StateParams<number>;
43
44
  strokeWidth?: StateParams<number>;
44
- strokeColor?: StateParams<string>;
45
+ strokeFill?: StateParams<FillLayer[]>;
45
46
  }
46
47
  export interface RichTextStateParams extends ItemStatesBaseMap {
47
48
  color?: StateParams<string>;
@@ -51,8 +52,8 @@ export interface RichTextStateParams extends ItemStatesBaseMap {
51
52
  export interface RectangleStateParams extends ItemStatesBaseMap {
52
53
  radius?: StateParams<number>;
53
54
  strokeWidth?: StateParams<number>;
54
- fillColor?: StateParams<string>;
55
- strokeColor?: StateParams<string>;
55
+ fill?: StateParams<FillLayer[]>;
56
+ strokeFill?: StateParams<FillLayer[]>;
56
57
  backdropBlur?: StateParams<number>;
57
58
  }
58
59
  export interface VideoEmbedStateParams extends ItemStatesBaseMap {
@@ -1,4 +1,3 @@
1
- import { JSX } from 'react';
2
1
  export type Component = {
3
2
  element: (props: any) => JSX.Element;
4
3
  id: string;
@@ -1,3 +1,4 @@
1
+ import { FillLayer } from '../article/Item';
1
2
  export type KeyframeAny = Keyframe<KeyframeType>;
2
3
  export interface Keyframe<T extends KeyframeType> {
3
4
  id: string;
@@ -13,8 +14,6 @@ export declare enum KeyframeType {
13
14
  Rotation = "rotation",
14
15
  BorderRadius = "border-radius",
15
16
  BorderWidth = "border-width",
16
- Color = "color",
17
- BorderColor = "border-color",
18
17
  Opacity = "opacity",
19
18
  Scale = "scale",
20
19
  TextColor = "text-color",
@@ -22,7 +21,9 @@ export declare enum KeyframeType {
22
21
  WordSpacing = "word-spacing",
23
22
  Blur = "blur",
24
23
  BackdropBlur = "backdrop-blur",
25
- FXParams = "fx-params"
24
+ FXParams = "fx-params",
25
+ BorderFill = "border-fill",
26
+ Fill = "fill"
26
27
  }
27
28
  export interface KeyframeValueMap {
28
29
  [KeyframeType.Dimensions]: DimensionsValue;
@@ -30,8 +31,6 @@ export interface KeyframeValueMap {
30
31
  [KeyframeType.Rotation]: RotationValue;
31
32
  [KeyframeType.BorderRadius]: BorderRadiusValue;
32
33
  [KeyframeType.BorderWidth]: BorderWidthValue;
33
- [KeyframeType.Color]: ColorValue;
34
- [KeyframeType.BorderColor]: BorderColorValue;
35
34
  [KeyframeType.Opacity]: OpacityValue;
36
35
  [KeyframeType.Scale]: ScaleValue;
37
36
  [KeyframeType.Blur]: BlurValue;
@@ -40,6 +39,8 @@ export interface KeyframeValueMap {
40
39
  [KeyframeType.LetterSpacing]: LetterSpacingValue;
41
40
  [KeyframeType.WordSpacing]: WordSpacingValue;
42
41
  [KeyframeType.FXParams]: FXParamsValue;
42
+ [KeyframeType.BorderFill]: BorderFillValue;
43
+ [KeyframeType.Fill]: FillValue;
43
44
  }
44
45
  interface DimensionsValue {
45
46
  width: number;
@@ -58,12 +59,6 @@ interface BorderRadiusValue {
58
59
  interface BorderWidthValue {
59
60
  borderWidth: number;
60
61
  }
61
- interface ColorValue {
62
- color: string;
63
- }
64
- interface BorderColorValue {
65
- color: string;
66
- }
67
62
  interface OpacityValue {
68
63
  opacity: number;
69
64
  }
@@ -85,5 +80,7 @@ interface LetterSpacingValue {
85
80
  interface WordSpacingValue {
86
81
  wordSpacing: number;
87
82
  }
83
+ type BorderFillValue = FillLayer[];
88
84
  type FXParamsValue = Record<string, number>;
85
+ type FillValue = FillLayer[];
89
86
  export {};
@@ -8,8 +8,6 @@ var KeyframeType;
8
8
  KeyframeType["Rotation"] = "rotation";
9
9
  KeyframeType["BorderRadius"] = "border-radius";
10
10
  KeyframeType["BorderWidth"] = "border-width";
11
- KeyframeType["Color"] = "color";
12
- KeyframeType["BorderColor"] = "border-color";
13
11
  KeyframeType["Opacity"] = "opacity";
14
12
  KeyframeType["Scale"] = "scale";
15
13
  KeyframeType["TextColor"] = "text-color";
@@ -18,4 +16,6 @@ var KeyframeType;
18
16
  KeyframeType["Blur"] = "blur";
19
17
  KeyframeType["BackdropBlur"] = "backdrop-blur";
20
18
  KeyframeType["FXParams"] = "fx-params";
19
+ KeyframeType["BorderFill"] = "border-fill";
20
+ KeyframeType["Fill"] = "fill";
21
21
  })(KeyframeType || (exports.KeyframeType = KeyframeType = {}));
package/package.json CHANGED
@@ -1,79 +1,83 @@
1
- {
2
- "name": "@cntrl-site/sdk",
3
- "version": "1.23.2",
4
- "description": "Generic SDK for use in public websites.",
5
- "main": "dist/index.js",
6
- "module": "dist/index.mjs",
7
- "types": "dist/index.d.ts",
8
- "style": "dist/sdk.css",
9
- "sideEffects": [
10
- "**/*.css"
11
- ],
12
- "exports": {
13
- ".": {
14
- "types": "./dist/index.d.ts",
15
- "import": "./dist/index.mjs",
16
- "require": "./dist/index.js"
17
- },
18
- "./style/sdk.css": {
19
- "default": "./dist/sdk.css"
20
- }
21
- },
22
- "scripts": {
23
- "test": "jest",
24
- "prebuild": "rm -rf ./dist",
25
- "build": "vite build && tsc --project tsconfig.build.json",
26
- "prepublishOnly": "NODE_ENV=production npm run build"
27
- },
28
- "bin": {
29
- "cntrl-sdk": "dist/cli.js"
30
- },
31
- "files": [
32
- "dist",
33
- "resources"
34
- ],
35
- "repository": {
36
- "type": "git",
37
- "url": "git+https://github.com/cntrl-site/sdk.git"
38
- },
39
- "author": "arsen@momdesign.nyc",
40
- "license": "MIT",
41
- "bugs": {
42
- "url": "https://github.com/cntrl-site/sdk/issues"
43
- },
44
- "homepage": "https://github.com/cntrl-site/sdk#readme",
45
- "directories": {
46
- "lib": "dist"
47
- },
48
- "dependencies": {
49
- "@splidejs/react-splide": "^0.7.12",
50
- "@types/ejs": "^3.1.2",
51
- "@types/isomorphic-fetch": "^0.0.36",
52
- "@types/ua-parser-js": "^0.7.39",
53
- "classnames": "^2.5.1",
54
- "commander": "^10.0.1",
55
- "dotenv": "^16.1.3",
56
- "ejs": "^3.1.9",
57
- "isomorphic-fetch": "^3.0.0",
58
- "mp4box": "^0.5.2",
59
- "styled-jsx": "^5.1.6",
60
- "ts-node": "^10.9.1",
61
- "ua-parser-js": "^1.0.37",
62
- "url": "^0.11.0",
63
- "zod": "^3.22.4"
64
- },
65
- "devDependencies": {
66
- "@tsconfig/node16": "^1.0.3",
67
- "@tsconfig/recommended": "^1.0.1",
68
- "@types/jest": "^29.0.0",
69
- "@types/node": "^18.11.7",
70
- "@types/react": "^18.3.18",
71
- "@vitejs/plugin-react": "^4.3.4",
72
- "jest": "^28.1.3",
73
- "sass": "^1.86.3",
74
- "ts-jest": "^28.0.8",
75
- "typescript": "^5.2.2",
76
- "vite": "^6.2.5",
77
- "vite-plugin-dts": "^4.5.3"
78
- }
79
- }
1
+ {
2
+ "name": "@cntrl-site/sdk",
3
+ "version": "1.24.1",
4
+ "description": "Generic SDK for use in public websites.",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "style": "dist/sdk.css",
9
+ "sideEffects": [
10
+ "**/*.css"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.mjs",
16
+ "require": "./dist/index.js"
17
+ },
18
+ "./style/sdk.css": {
19
+ "default": "./dist/sdk.css"
20
+ }
21
+ },
22
+ "scripts": {
23
+ "test": "jest",
24
+ "dev": "vite development",
25
+ "prebuild": "rimraf ./dist",
26
+ "build": "vite build && tsc --project tsconfig.build.json",
27
+ "prepublishOnly": "NODE_ENV=production npm run build"
28
+ },
29
+ "bin": {
30
+ "cntrl-sdk": "dist/cli.js"
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "resources"
35
+ ],
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/cntrl-site/sdk.git"
39
+ },
40
+ "author": "arsen@momdesign.nyc",
41
+ "license": "MIT",
42
+ "bugs": {
43
+ "url": "https://github.com/cntrl-site/sdk/issues"
44
+ },
45
+ "homepage": "https://github.com/cntrl-site/sdk#readme",
46
+ "directories": {
47
+ "lib": "dist"
48
+ },
49
+ "dependencies": {
50
+ "@splidejs/react-splide": "^0.7.12",
51
+ "@types/ejs": "^3.1.2",
52
+ "@types/isomorphic-fetch": "^0.0.36",
53
+ "@types/ua-parser-js": "^0.7.39",
54
+ "classnames": "^2.5.1",
55
+ "commander": "^10.0.1",
56
+ "dotenv": "^16.1.3",
57
+ "ejs": "^3.1.9",
58
+ "isomorphic-fetch": "^3.0.0",
59
+ "mp4box": "^0.5.2",
60
+ "styled-jsx": "^5.1.6",
61
+ "ts-node": "^10.9.1",
62
+ "ua-parser-js": "^1.0.37",
63
+ "url": "^0.11.0",
64
+ "zod": "^3.22.4"
65
+ },
66
+ "devDependencies": {
67
+ "@tsconfig/node16": "^1.0.3",
68
+ "@tsconfig/recommended": "^1.0.1",
69
+ "@types/jest": "^29.0.0",
70
+ "@types/node": "^18.11.7",
71
+ "@types/react": "^18.0.0",
72
+ "@types/react-dom": "^18.0.0",
73
+ "@vitejs/plugin-react": "^4.3.4",
74
+ "jest": "^28.1.3",
75
+ "react": "^18.0.0",
76
+ "react-dom": "^18.0.0",
77
+ "sass": "^1.86.3",
78
+ "ts-jest": "^28.0.8",
79
+ "typescript": "^5.2.2",
80
+ "vite": "^6.2.5",
81
+ "vite-plugin-dts": "^4.5.3"
82
+ }
83
+ }