@gem-sdk/core 1.44.1 → 1.44.2-staging.89

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.
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var zustand = require('zustand');
5
+ var react = require('react');
6
+
7
+ // const { Provider, useStore } = createContext<StoreApi<ProductContextProps>>();
8
+ const ArticleContext = /*#__PURE__*/ react.createContext(null);
9
+ const createArticleStoreProvider = (data)=>zustand.createStore(()=>({
10
+ ...data
11
+ }));
12
+ const ArticleProvider = ({ children, article })=>{
13
+ const uniqueId = react.useId();
14
+ const store = react.useMemo(()=>{
15
+ return createArticleStoreProvider({
16
+ article,
17
+ uniqueId
18
+ });
19
+ }, [
20
+ article,
21
+ uniqueId
22
+ ]);
23
+ return /*#__PURE__*/ jsxRuntime.jsx(ArticleContext.Provider, {
24
+ value: store,
25
+ children: /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
26
+ children: children
27
+ })
28
+ });
29
+ };
30
+ const useArticleStore = (selector, equalityFn)=>{
31
+ const store = react.useContext(ArticleContext);
32
+ if (!store) {
33
+ throw new Error('Element of article must be used inside a Article');
34
+ }
35
+ return zustand.useStore(store, selector, equalityFn);
36
+ };
37
+
38
+ exports.ArticleProvider = ArticleProvider;
39
+ exports.useArticleStore = useArticleStore;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var zustand = require('zustand');
6
+
7
+ const ArticleListContext = /*#__PURE__*/ react.createContext(null);
8
+ const createArticleListProvider = (data)=>zustand.createStore(()=>({
9
+ ...data
10
+ }));
11
+ const ArticleListProvider = ({ articles, children, styles, settings })=>{
12
+ return /*#__PURE__*/ jsxRuntime.jsx(ArticleListContext.Provider, {
13
+ value: createArticleListProvider({
14
+ articles,
15
+ styles,
16
+ settings
17
+ }),
18
+ children: children
19
+ });
20
+ };
21
+ const useArticleListStore = (selector, equalityFn)=>{
22
+ const store = react.useContext(ArticleListContext);
23
+ if (!store) {
24
+ throw new Error('useArticleListStore must be used within a useArticleListStore');
25
+ }
26
+ return zustand.useStore(store, selector, equalityFn);
27
+ };
28
+
29
+ exports.ArticleListContext = ArticleListContext;
30
+ exports.ArticleListProvider = ArticleListProvider;
31
+ exports.useArticleListStore = useArticleListStore;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  /* eslint-disable */ const PageViewUpDocument = `
4
- mutation pageViewUp($pageHandle: String!, $userAgent: String!) {
5
- pageViewUp(pageHandle: $pageHandle, userAgent: $userAgent)
4
+ mutation pageViewUp($pageHandle: String!) {
5
+ pageViewUp(pageHandle: $pageHandle)
6
6
  }
7
7
  `;
8
8
 
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ const ArticlesDocument = `
4
+ query articles($after: Cursor, $before: Cursor, $first: Int, $last: Int, $orderBy: ArticleOrder, $where: ArticleWhereInput) {
5
+ articles(
6
+ after: $after
7
+ before: $before
8
+ first: $first
9
+ last: $last
10
+ orderBy: $orderBy
11
+ where: $where
12
+ ) {
13
+ edges {
14
+ cursor
15
+ node {
16
+ id
17
+ title
18
+ handle
19
+ description
20
+ templateSuffix
21
+ titleMeta
22
+ descriptionMeta
23
+ baseID
24
+ platform
25
+ tags
26
+ isSample
27
+ platformCreatedAt
28
+ author
29
+ content {
30
+ excerptHtml
31
+ }
32
+ blogs {
33
+ edges {
34
+ node {
35
+ title
36
+ handle
37
+ }
38
+ }
39
+ }
40
+ media {
41
+ alt
42
+ width
43
+ src
44
+ height
45
+ }
46
+ }
47
+ }
48
+ pageInfo {
49
+ endCursor
50
+ hasNextPage
51
+ hasPreviousPage
52
+ startCursor
53
+ }
54
+ totalCount
55
+ }
56
+ }
57
+ `;
58
+
59
+ exports.ArticlesDocument = ArticlesDocument;
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ const BlogsDocument = `
4
+ query blogs($after: Cursor, $before: Cursor, $first: Int, $last: Int, $orderBy: BlogOrder, $where: BlogWhereInput, $articlesOrderBy: ArticleOrder) {
5
+ blogs(
6
+ after: $after
7
+ before: $before
8
+ first: $first
9
+ last: $last
10
+ orderBy: $orderBy
11
+ where: $where
12
+ ) {
13
+ edges {
14
+ cursor
15
+ node {
16
+ baseID
17
+ description
18
+ descriptionMeta
19
+ handle
20
+ articles(orderBy: $articlesOrderBy) {
21
+ edges {
22
+ cursor
23
+ node {
24
+ id
25
+ title
26
+ handle
27
+ description
28
+ templateSuffix
29
+ titleMeta
30
+ descriptionMeta
31
+ baseID
32
+ tags
33
+ isSample
34
+ platformCreatedAt
35
+ author
36
+ media {
37
+ width
38
+ src
39
+ height
40
+ }
41
+ }
42
+ }
43
+ totalCount
44
+ }
45
+ id
46
+ platform
47
+ tags
48
+ templateSuffix
49
+ title
50
+ titleMeta
51
+ }
52
+ }
53
+ pageInfo {
54
+ endCursor
55
+ hasNextPage
56
+ hasPreviousPage
57
+ startCursor
58
+ }
59
+ totalCount
60
+ }
61
+ }
62
+ `;
63
+
64
+ exports.BlogsDocument = BlogsDocument;
@@ -10,6 +10,20 @@ const getBorderStyle = (value)=>{
10
10
  bw: value?.width
11
11
  });
12
12
  };
13
+ const getBorderRadiusStyle = (borderRadius, shapeRadius)=>{
14
+ const initialRadius = Object.entries(shapeRadius || {}).reduce((shapeRadius, [position, value])=>{
15
+ return {
16
+ ...shapeRadius,
17
+ [`--${position}`]: value
18
+ };
19
+ }, {});
20
+ return Object.entries(borderRadius || {}).reduce((borderRadius, [position, value])=>{
21
+ return {
22
+ ...borderRadius,
23
+ [`--${position}`]: value
24
+ };
25
+ }, initialRadius);
26
+ };
13
27
  const handleConvertBorderStyle = (value, type)=>{
14
28
  if (!value) return undefined;
15
29
  if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
@@ -175,6 +189,7 @@ const composeBorderCss = (borderV)=>{
175
189
  };
176
190
 
177
191
  exports.composeBorderCss = composeBorderCss;
192
+ exports.getBorderRadiusStyle = getBorderRadiusStyle;
178
193
  exports.getBorderStyle = getBorderStyle;
179
194
  exports.handleConvertBorderColor = handleConvertBorderColor;
180
195
  exports.handleConvertBorderStyle = handleConvertBorderStyle;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var articles_generated = require('../../graphql/queries/articles.generated.js');
4
+ var useFetchHandle = require('../useFetchHandle.js');
5
+ var useSWR = require('swr');
6
+ var blogs_generated = require('../../graphql/queries/blogs.generated.js');
7
+
8
+ const useArticlesQuery = (variables, options)=>{
9
+ const fetcher = useFetchHandle.useFetchHandle();
10
+ const fetchArticles = ()=>fetcher([
11
+ articles_generated.ArticlesDocument,
12
+ variables ?? {}
13
+ ]);
14
+ return useSWR(variables ? [
15
+ 'query/articles',
16
+ variables
17
+ ] : null, fetchArticles, options);
18
+ };
19
+ const useBlogsQuery = (variables, options)=>{
20
+ const fetcher = useFetchHandle.useFetchHandle();
21
+ const fetchBlogs = ()=>fetcher([
22
+ blogs_generated.BlogsDocument,
23
+ variables ?? {}
24
+ ]);
25
+ return useSWR(variables ? [
26
+ 'query/blogs',
27
+ variables
28
+ ] : null, fetchBlogs, options);
29
+ };
30
+
31
+ exports.useArticlesQuery = useArticlesQuery;
32
+ exports.useBlogsQuery = useBlogsQuery;
package/dist/cjs/index.js CHANGED
@@ -16,6 +16,8 @@ var ShopContext = require('./contexts/ShopContext.js');
16
16
  var PageContext = require('./contexts/PageContext.js');
17
17
  var CollectionContext = require('./contexts/CollectionContext.js');
18
18
  var ModalContext = require('./contexts/ModalContext.js');
19
+ var ArticleListContext = require('./contexts/ArticleListContext.js');
20
+ var ArticleContext = require('./contexts/ArticleContext.js');
19
21
  var pageViewUp_generated = require('./graphql/mutations/page-view-up.generated.js');
20
22
  var collectionDetailFilter_generated = require('./graphql/queries/collection-detail-filter.generated.js');
21
23
  var collection_generated = require('./graphql/queries/collection.generated.js');
@@ -89,6 +91,7 @@ var useIsomorphicLayoutEffect = require('./hooks/useIsomorphicLayoutEffect.js');
89
91
  var useLoadScript = require('./hooks/useLoadScript.js');
90
92
  var useMoney = require('./hooks/useMoney.js');
91
93
  var usePrevious = require('./hooks/usePrevious.js');
94
+ var useArticlesQuery = require('./hooks/articles/useArticlesQuery.js');
92
95
  var useProduct = require('./hooks/useProduct.js');
93
96
  var useProductList = require('./hooks/useProductList.js');
94
97
  var useSuspenseFetch = require('./hooks/useSuspenseFetch.js');
@@ -136,6 +139,10 @@ exports.CollectionProvider = CollectionContext.CollectionProvider;
136
139
  exports.useCollectionStore = CollectionContext.useCollectionStore;
137
140
  exports.ModalProvider = ModalContext.ModalProvider;
138
141
  exports.useModalStore = ModalContext.useModalStore;
142
+ exports.ArticleListProvider = ArticleListContext.ArticleListProvider;
143
+ exports.useArticleListStore = ArticleListContext.useArticleListStore;
144
+ exports.ArticleProvider = ArticleContext.ArticleProvider;
145
+ exports.useArticleStore = ArticleContext.useArticleStore;
139
146
  exports.PageViewUpDocument = pageViewUp_generated.PageViewUpDocument;
140
147
  exports.CollectionDetailFilterDocument = collectionDetailFilter_generated.CollectionDetailFilterDocument;
141
148
  exports.CollectionDocument = collection_generated.CollectionDocument;
@@ -149,6 +156,7 @@ exports.ThemePageDocument = ThemePage_generated.ThemePageDocument;
149
156
  exports.SaleFunnelDiscountsDocument = SaleFunnelDiscounts_generated.SaleFunnelDiscountsDocument;
150
157
  exports.LibrarySaleFunnelDocument = LibrarySaleFunnelDiscount_generated.LibrarySaleFunnelDocument;
151
158
  exports.composeBorderCss = borders.composeBorderCss;
159
+ exports.getBorderRadiusStyle = borders.getBorderRadiusStyle;
152
160
  exports.getBorderStyle = borders.getBorderStyle;
153
161
  exports.handleConvertBorderColor = borders.handleConvertBorderColor;
154
162
  exports.handleConvertBorderStyle = borders.handleConvertBorderStyle;
@@ -321,6 +329,8 @@ exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect.default;
321
329
  exports.useLoadScript = useLoadScript.default;
322
330
  exports.useMoney = useMoney.default;
323
331
  exports.usePrevious = usePrevious.usePrevious;
332
+ exports.useArticlesQuery = useArticlesQuery.useArticlesQuery;
333
+ exports.useBlogsQuery = useArticlesQuery.useBlogsQuery;
324
334
  exports.useCheckAvailableVariantInStock = useProduct.useCheckAvailableVariantInStock;
325
335
  exports.useCurrentVariant = useProduct.useCurrentVariant;
326
336
  exports.useCurrentVariantInStock = useProduct.useCurrentVariantInStock;
@@ -0,0 +1,36 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useStore, createStore } from 'zustand';
3
+ import { useId, useMemo, useContext, createContext } from 'react';
4
+
5
+ // const { Provider, useStore } = createContext<StoreApi<ProductContextProps>>();
6
+ const ArticleContext = /*#__PURE__*/ createContext(null);
7
+ const createArticleStoreProvider = (data)=>createStore(()=>({
8
+ ...data
9
+ }));
10
+ const ArticleProvider = ({ children, article })=>{
11
+ const uniqueId = useId();
12
+ const store = useMemo(()=>{
13
+ return createArticleStoreProvider({
14
+ article,
15
+ uniqueId
16
+ });
17
+ }, [
18
+ article,
19
+ uniqueId
20
+ ]);
21
+ return /*#__PURE__*/ jsx(ArticleContext.Provider, {
22
+ value: store,
23
+ children: /*#__PURE__*/ jsx(Fragment, {
24
+ children: children
25
+ })
26
+ });
27
+ };
28
+ const useArticleStore = (selector, equalityFn)=>{
29
+ const store = useContext(ArticleContext);
30
+ if (!store) {
31
+ throw new Error('Element of article must be used inside a Article');
32
+ }
33
+ return useStore(store, selector, equalityFn);
34
+ };
35
+
36
+ export { ArticleProvider, useArticleStore };
@@ -0,0 +1,27 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useContext, createContext } from 'react';
3
+ import { useStore, createStore } from 'zustand';
4
+
5
+ const ArticleListContext = /*#__PURE__*/ createContext(null);
6
+ const createArticleListProvider = (data)=>createStore(()=>({
7
+ ...data
8
+ }));
9
+ const ArticleListProvider = ({ articles, children, styles, settings })=>{
10
+ return /*#__PURE__*/ jsx(ArticleListContext.Provider, {
11
+ value: createArticleListProvider({
12
+ articles,
13
+ styles,
14
+ settings
15
+ }),
16
+ children: children
17
+ });
18
+ };
19
+ const useArticleListStore = (selector, equalityFn)=>{
20
+ const store = useContext(ArticleListContext);
21
+ if (!store) {
22
+ throw new Error('useArticleListStore must be used within a useArticleListStore');
23
+ }
24
+ return useStore(store, selector, equalityFn);
25
+ };
26
+
27
+ export { ArticleListContext, ArticleListProvider, useArticleListStore };
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */ const PageViewUpDocument = `
2
- mutation pageViewUp($pageHandle: String!, $userAgent: String!) {
3
- pageViewUp(pageHandle: $pageHandle, userAgent: $userAgent)
2
+ mutation pageViewUp($pageHandle: String!) {
3
+ pageViewUp(pageHandle: $pageHandle)
4
4
  }
5
5
  `;
6
6
 
@@ -0,0 +1,57 @@
1
+ const ArticlesDocument = `
2
+ query articles($after: Cursor, $before: Cursor, $first: Int, $last: Int, $orderBy: ArticleOrder, $where: ArticleWhereInput) {
3
+ articles(
4
+ after: $after
5
+ before: $before
6
+ first: $first
7
+ last: $last
8
+ orderBy: $orderBy
9
+ where: $where
10
+ ) {
11
+ edges {
12
+ cursor
13
+ node {
14
+ id
15
+ title
16
+ handle
17
+ description
18
+ templateSuffix
19
+ titleMeta
20
+ descriptionMeta
21
+ baseID
22
+ platform
23
+ tags
24
+ isSample
25
+ platformCreatedAt
26
+ author
27
+ content {
28
+ excerptHtml
29
+ }
30
+ blogs {
31
+ edges {
32
+ node {
33
+ title
34
+ handle
35
+ }
36
+ }
37
+ }
38
+ media {
39
+ alt
40
+ width
41
+ src
42
+ height
43
+ }
44
+ }
45
+ }
46
+ pageInfo {
47
+ endCursor
48
+ hasNextPage
49
+ hasPreviousPage
50
+ startCursor
51
+ }
52
+ totalCount
53
+ }
54
+ }
55
+ `;
56
+
57
+ export { ArticlesDocument };
@@ -0,0 +1,62 @@
1
+ const BlogsDocument = `
2
+ query blogs($after: Cursor, $before: Cursor, $first: Int, $last: Int, $orderBy: BlogOrder, $where: BlogWhereInput, $articlesOrderBy: ArticleOrder) {
3
+ blogs(
4
+ after: $after
5
+ before: $before
6
+ first: $first
7
+ last: $last
8
+ orderBy: $orderBy
9
+ where: $where
10
+ ) {
11
+ edges {
12
+ cursor
13
+ node {
14
+ baseID
15
+ description
16
+ descriptionMeta
17
+ handle
18
+ articles(orderBy: $articlesOrderBy) {
19
+ edges {
20
+ cursor
21
+ node {
22
+ id
23
+ title
24
+ handle
25
+ description
26
+ templateSuffix
27
+ titleMeta
28
+ descriptionMeta
29
+ baseID
30
+ tags
31
+ isSample
32
+ platformCreatedAt
33
+ author
34
+ media {
35
+ width
36
+ src
37
+ height
38
+ }
39
+ }
40
+ }
41
+ totalCount
42
+ }
43
+ id
44
+ platform
45
+ tags
46
+ templateSuffix
47
+ title
48
+ titleMeta
49
+ }
50
+ }
51
+ pageInfo {
52
+ endCursor
53
+ hasNextPage
54
+ hasPreviousPage
55
+ startCursor
56
+ }
57
+ totalCount
58
+ }
59
+ }
60
+ `;
61
+
62
+ export { BlogsDocument };
@@ -8,6 +8,20 @@ const getBorderStyle = (value)=>{
8
8
  bw: value?.width
9
9
  });
10
10
  };
11
+ const getBorderRadiusStyle = (borderRadius, shapeRadius)=>{
12
+ const initialRadius = Object.entries(shapeRadius || {}).reduce((shapeRadius, [position, value])=>{
13
+ return {
14
+ ...shapeRadius,
15
+ [`--${position}`]: value
16
+ };
17
+ }, {});
18
+ return Object.entries(borderRadius || {}).reduce((borderRadius, [position, value])=>{
19
+ return {
20
+ ...borderRadius,
21
+ [`--${position}`]: value
22
+ };
23
+ }, initialRadius);
24
+ };
11
25
  const handleConvertBorderStyle = (value, type)=>{
12
26
  if (!value) return undefined;
13
27
  if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
@@ -172,4 +186,4 @@ const composeBorderCss = (borderV)=>{
172
186
  `;
173
187
  };
174
188
 
175
- export { composeBorderCss, getBorderStyle, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn };
189
+ export { composeBorderCss, getBorderRadiusStyle, getBorderStyle, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn };
@@ -0,0 +1,29 @@
1
+ import { ArticlesDocument } from '../../graphql/queries/articles.generated.js';
2
+ import { useFetchHandle } from '../useFetchHandle.js';
3
+ import useSWR from 'swr';
4
+ import { BlogsDocument } from '../../graphql/queries/blogs.generated.js';
5
+
6
+ const useArticlesQuery = (variables, options)=>{
7
+ const fetcher = useFetchHandle();
8
+ const fetchArticles = ()=>fetcher([
9
+ ArticlesDocument,
10
+ variables ?? {}
11
+ ]);
12
+ return useSWR(variables ? [
13
+ 'query/articles',
14
+ variables
15
+ ] : null, fetchArticles, options);
16
+ };
17
+ const useBlogsQuery = (variables, options)=>{
18
+ const fetcher = useFetchHandle();
19
+ const fetchBlogs = ()=>fetcher([
20
+ BlogsDocument,
21
+ variables ?? {}
22
+ ]);
23
+ return useSWR(variables ? [
24
+ 'query/blogs',
25
+ variables
26
+ ] : null, fetchBlogs, options);
27
+ };
28
+
29
+ export { useArticlesQuery, useBlogsQuery };
package/dist/esm/index.js CHANGED
@@ -14,6 +14,8 @@ export { ShopProvider, useShopStore } from './contexts/ShopContext.js';
14
14
  export { PageProvider, usePageStore } from './contexts/PageContext.js';
15
15
  export { CollectionProvider, useCollectionStore } from './contexts/CollectionContext.js';
16
16
  export { ModalProvider, useModalStore } from './contexts/ModalContext.js';
17
+ export { ArticleListProvider, useArticleListStore } from './contexts/ArticleListContext.js';
18
+ export { ArticleProvider, useArticleStore } from './contexts/ArticleContext.js';
17
19
  export { PageViewUpDocument } from './graphql/mutations/page-view-up.generated.js';
18
20
  export { CollectionDetailFilterDocument } from './graphql/queries/collection-detail-filter.generated.js';
19
21
  export { CollectionDocument } from './graphql/queries/collection.generated.js';
@@ -26,7 +28,7 @@ export { LibraryTemplateDocument } from './graphql-app-api/queries/LibraryTempla
26
28
  export { ThemePageDocument } from './graphql-app-api/queries/ThemePage.generated.js';
27
29
  export { SaleFunnelDiscountsDocument } from './graphql-app-api/queries/SaleFunnelDiscounts.generated.js';
28
30
  export { LibrarySaleFunnelDocument } from './graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js';
29
- export { composeBorderCss, getBorderStyle, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn } from './helpers/borders.js';
31
+ export { composeBorderCss, getBorderRadiusStyle, getBorderStyle, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn } from './helpers/borders.js';
30
32
  export { getCarouselContainerHeight, makeContainerWidthOrHeight, makeDotGapToCarouselStyle } from './helpers/carousel.js';
31
33
  export { cls } from './helpers/cls.js';
32
34
  export { animations } from './helpers/animations.js';
@@ -90,6 +92,7 @@ export { default as useIsomorphicLayoutEffect } from './hooks/useIsomorphicLayou
90
92
  export { default as useLoadScript } from './hooks/useLoadScript.js';
91
93
  export { default as useMoney } from './hooks/useMoney.js';
92
94
  export { usePrevious } from './hooks/usePrevious.js';
95
+ export { useArticlesQuery, useBlogsQuery } from './hooks/articles/useArticlesQuery.js';
93
96
  export { useCheckAvailableVariantInStock, useCurrentVariant, useCurrentVariantInStock, useFeaturedImageGlobal, useIsSyncProduct, useProduct, useProductOfferDiscount, useProductProperties, useQuantity, useSelectedOption, useUniqProductID, useVariant, useVariantOutStock, useVariants } from './hooks/useProduct.js';
94
97
  export { useProductList, useProductListProducts, useProductListSettings, useProductListStyles } from './hooks/useProductList.js';
95
98
  export { default as useSuspenseFetch } from './hooks/useSuspenseFetch.js';