pds-dev-kit-web-test 2.3.6 → 2.3.8
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.
- package/dist/src/sub/SandollFontKit/api/getSandollFonts.d.ts +2 -2
- package/dist/src/sub/SandollFontKit/api/types.d.ts +3 -1
- package/dist/src/sub/SandollFontKit/constants.d.ts +2 -2
- package/dist/src/sub/SandollFontKit/constants.js +9 -9
- package/dist/src/sub/SandollFontKit/headless/SandollFontItem.js +1 -20
- package/dist/src/sub/SandollFontKit/headless/SandollFontsList.d.ts +7 -7
- package/dist/src/sub/SandollFontKit/headless/SandollFontsList.js +11 -63
- package/dist/src/sub/SandollFontKit/hooks/useQueryParamsReducer.d.ts +30 -0
- package/dist/src/sub/SandollFontKit/hooks/useQueryParamsReducer.js +69 -0
- package/dist/src/sub/SandollFontKit/types.d.ts +2 -7
- package/dist/src/sub/SandollFontKit/utils/createSandollFontLink.d.ts +1 -1
- package/dist/src/sub/SandollFontKit/utils/createSandollFontLink.js +9 -1
- package/package.json +1 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { FontResponse, PublHeaders,
|
1
|
+
import type { FontResponse, PublHeaders, SandollFontsQueryParams } from './types';
|
2
2
|
export declare const DEFAULT_PAGINATION: {
|
3
3
|
page: number;
|
4
4
|
limit: number;
|
@@ -11,4 +11,4 @@ export declare const DEFAULT_SEARCHQUERY: {
|
|
11
11
|
usecase: string;
|
12
12
|
searchTerm: string;
|
13
13
|
};
|
14
|
-
export declare function fetchSandollFonts(baseURL: string, searchParams:
|
14
|
+
export declare function fetchSandollFonts(baseURL: string, searchParams: SandollFontsQueryParams, publHeaders: PublHeaders): Promise<FontResponse>;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { SANDOLL_CategoryType } from '../types';
|
1
2
|
export type Pagination = {
|
2
3
|
page: number;
|
3
4
|
limit: number;
|
@@ -36,10 +37,11 @@ export type FontResponse = {
|
|
36
37
|
pagination: Pagination;
|
37
38
|
};
|
38
39
|
};
|
39
|
-
export type
|
40
|
+
export type SandollFontsQueryParams = {
|
40
41
|
pagination: Pagination;
|
41
42
|
searchQuery: SearchQuery;
|
42
43
|
filter: Filter;
|
44
|
+
categories: SANDOLL_CategoryType[];
|
43
45
|
};
|
44
46
|
export type PublHeaders = {
|
45
47
|
channelToken: string;
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import type {
|
1
|
+
import type { SANDOLL_CategoryType, SANDOLL_CategoryIconType, SANDOLL_SortOptionType } from './types';
|
2
2
|
export declare const SANDOLL_SORT_OPTIONS: SANDOLL_SortOptionType[];
|
3
3
|
export declare const SANDOLL_DEFAULT_SORT: {
|
4
4
|
text: string;
|
5
5
|
value: SANDOLL_SortOptionType;
|
6
6
|
};
|
7
7
|
export declare const SANDOLL_SORT_OPTION_KEY_MAP: Record<SANDOLL_SortOptionType, string>;
|
8
|
-
export declare const SANDOLL_CATEGORIES:
|
8
|
+
export declare const SANDOLL_CATEGORIES: SANDOLL_CategoryType[];
|
9
9
|
export declare const SANDOLL_CATEGORY_ICONS: SANDOLL_CategoryIconType;
|
@@ -12,7 +12,7 @@ exports.SANDOLL_SORT_OPTION_KEY_MAP = {
|
|
12
12
|
};
|
13
13
|
exports.SANDOLL_CATEGORIES = [
|
14
14
|
'serif',
|
15
|
-
'
|
15
|
+
'sans-serif',
|
16
16
|
'slab',
|
17
17
|
'blackLetter',
|
18
18
|
'deco',
|
@@ -22,12 +22,12 @@ exports.SANDOLL_CATEGORIES = [
|
|
22
22
|
];
|
23
23
|
// NOTE: remove as
|
24
24
|
exports.SANDOLL_CATEGORY_ICONS = {
|
25
|
-
serif: '
|
26
|
-
'
|
27
|
-
slab: '
|
28
|
-
round: '
|
29
|
-
script: '
|
30
|
-
deco: '
|
31
|
-
symbol: '
|
32
|
-
blackLetter: '
|
25
|
+
serif: 'ic_typeface_serif_20',
|
26
|
+
'sans-serif': 'ic_typeface_sans_serif_20',
|
27
|
+
slab: 'ic_typeface_slab_20',
|
28
|
+
round: 'ic_typeface_round_20',
|
29
|
+
script: 'ic_typeface_script_20',
|
30
|
+
deco: 'ic_typeface_deco_20',
|
31
|
+
symbol: 'ic_typeface_symbol_20',
|
32
|
+
blackLetter: 'ic_typeface_blackletter_20'
|
33
33
|
};
|
@@ -58,34 +58,15 @@ function SandollFontItem(_a) {
|
|
58
58
|
switch (_a.label) {
|
59
59
|
case 0:
|
60
60
|
setIsLoading(true);
|
61
|
-
return [4 /*yield*/, (0, delay_1.default)(
|
61
|
+
return [4 /*yield*/, (0, delay_1.default)(500)];
|
62
62
|
case 1:
|
63
63
|
_a.sent();
|
64
|
-
// const css = await getGoogleFontCss({
|
65
|
-
// family: `${font.family}${parseVariants(font.variants, {
|
66
|
-
// prefix: ':wght@',
|
67
|
-
// separator: ';'
|
68
|
-
// })}`,
|
69
|
-
// 'font-display': 'swap'
|
70
|
-
// });
|
71
|
-
// const fontStyles = extractFontStyles(css);
|
72
|
-
// fillStylesheet(font.id, fontStyles[font.id]);
|
73
64
|
setIsLoading(false);
|
74
65
|
return [2 /*return*/];
|
75
66
|
}
|
76
67
|
});
|
77
68
|
});
|
78
69
|
}
|
79
|
-
// if (isStylesheetExists(font.id, false)) {
|
80
|
-
// applyActiveFont(font, '', '');
|
81
|
-
// setIsLoading(false);
|
82
|
-
// } else if (isStylesheetExists(font.id, true)) {
|
83
|
-
// setStylesheetType(font.id, false);
|
84
|
-
// setIsLoading(false);
|
85
|
-
// } else {
|
86
|
-
// createStylesheet(font.id, false);
|
87
|
-
// getCss();
|
88
|
-
// }
|
89
70
|
getCss();
|
90
71
|
}, [font, isVisible]);
|
91
72
|
return children({ isLoading: isLoading, isVisible: isVisible, ref: ref });
|
@@ -1,18 +1,18 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import
|
3
|
-
import type {
|
2
|
+
import { QueryParamDispatchFunction } from '../hooks/useQueryParamsReducer';
|
3
|
+
import type { PublHeaders, SandollFontsQueryParams } from '../api/types';
|
4
|
+
import type { SANDOLL_Font } from '../types';
|
4
5
|
type HeadlessProps = {
|
5
6
|
isLoading: boolean;
|
6
7
|
fonts: SANDOLL_Font[];
|
7
|
-
|
8
|
-
|
9
|
-
changeFilterOption: SANDOLL_ChangeFilterOptionHandler;
|
8
|
+
queryParams: SandollFontsQueryParams;
|
9
|
+
queryParamDispatch: QueryParamDispatchFunction;
|
10
10
|
};
|
11
11
|
type Props = {
|
12
12
|
baseURL: string;
|
13
|
-
|
13
|
+
defaultQueryParams?: SandollFontsQueryParams;
|
14
14
|
publHeaders: PublHeaders;
|
15
15
|
children: (args: HeadlessProps) => JSX.Element;
|
16
16
|
};
|
17
|
-
declare function SandollFontsList({ baseURL,
|
17
|
+
declare function SandollFontsList({ baseURL, defaultQueryParams, publHeaders, children }: Props): JSX.Element;
|
18
18
|
export default SandollFontsList;
|
@@ -1,15 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
3
|
-
__assign = Object.assign || function(t) {
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
-
s = arguments[i];
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
-
t[p] = s[p];
|
8
|
-
}
|
9
|
-
return t;
|
10
|
-
};
|
11
|
-
return __assign.apply(this, arguments);
|
12
|
-
};
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -49,24 +38,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
49
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
50
39
|
var react_1 = require("react");
|
51
40
|
var getSandollFonts_1 = require("../api/getSandollFonts");
|
52
|
-
var
|
41
|
+
var useQueryParamsReducer_1 = require("../hooks/useQueryParamsReducer");
|
53
42
|
function SandollFontsList(_a) {
|
54
|
-
var baseURL = _a.baseURL,
|
55
|
-
var
|
56
|
-
var
|
57
|
-
var
|
58
|
-
searchQuery: '',
|
59
|
-
categories: DEFAULT_CATEGORIES
|
60
|
-
}), filterOptions = _d[0], setFilterOptions = _d[1];
|
43
|
+
var baseURL = _a.baseURL, _b = _a.defaultQueryParams, defaultQueryParams = _b === void 0 ? useQueryParamsReducer_1.DEFAULT_QUERY_PARAMS : _b, publHeaders = _a.publHeaders, children = _a.children;
|
44
|
+
var _c = (0, useQueryParamsReducer_1.useQueryParamsReducer)(defaultQueryParams), queryParams = _c[0], queryParamDispatch = _c[1];
|
45
|
+
var _d = (0, react_1.useState)(false), isLoading = _d[0], setIsLoading = _d[1];
|
46
|
+
var _e = (0, react_1.useState)([]), fonts = _e[0], setFonts = _e[1];
|
61
47
|
(0, react_1.useEffect)(function () {
|
62
|
-
function
|
48
|
+
function fetchFontsList() {
|
63
49
|
return __awaiter(this, void 0, void 0, function () {
|
64
50
|
var res;
|
65
51
|
return __generator(this, function (_a) {
|
66
52
|
switch (_a.label) {
|
67
53
|
case 0:
|
68
54
|
setIsLoading(true);
|
69
|
-
return [4 /*yield*/, (0, getSandollFonts_1.fetchSandollFonts)(baseURL,
|
55
|
+
return [4 /*yield*/, (0, getSandollFonts_1.fetchSandollFonts)(baseURL, queryParams, publHeaders)];
|
70
56
|
case 1:
|
71
57
|
res = _a.sent();
|
72
58
|
setFonts(res.data.availableFonts);
|
@@ -76,51 +62,13 @@ function SandollFontsList(_a) {
|
|
76
62
|
});
|
77
63
|
});
|
78
64
|
}
|
79
|
-
|
80
|
-
}, [baseURL,
|
81
|
-
function changeSort(searchParams) {
|
82
|
-
return __awaiter(this, void 0, void 0, function () {
|
83
|
-
var res;
|
84
|
-
return __generator(this, function (_a) {
|
85
|
-
switch (_a.label) {
|
86
|
-
case 0:
|
87
|
-
setIsLoading(true);
|
88
|
-
return [4 /*yield*/, (0, getSandollFonts_1.fetchSandollFonts)(baseURL, searchParams, publHeaders)];
|
89
|
-
case 1:
|
90
|
-
res = _a.sent();
|
91
|
-
setFonts(res.data.availableFonts);
|
92
|
-
setIsLoading(false);
|
93
|
-
return [2 /*return*/];
|
94
|
-
}
|
95
|
-
});
|
96
|
-
});
|
97
|
-
}
|
98
|
-
function changeFilterOption(arg) {
|
99
|
-
var name = arg.name, value = arg.value;
|
100
|
-
setFilterOptions(function (prev) {
|
101
|
-
var _a;
|
102
|
-
return (__assign(__assign({}, prev), (_a = {}, _a[name] = value, _a)));
|
103
|
-
});
|
104
|
-
}
|
105
|
-
// const filteredFonts = fonts.filter((font) => {
|
106
|
-
// const { categories, searchQuery } = filterOptions;
|
107
|
-
// const isSelectedCategory = categories.includes(font.category);
|
108
|
-
// const query = searchQuery.toLocaleLowerCase().trim();
|
109
|
-
// const matchSearchQuery = font.family.toLocaleLowerCase().includes(query);
|
110
|
-
// if (!matchSearchQuery) {
|
111
|
-
// return false;
|
112
|
-
// }
|
113
|
-
// if (isSelectedCategory) {
|
114
|
-
// return true;
|
115
|
-
// }
|
116
|
-
// return false;
|
117
|
-
// });
|
65
|
+
fetchFontsList();
|
66
|
+
}, [baseURL, queryParams, publHeaders]);
|
118
67
|
return children({
|
119
68
|
isLoading: isLoading,
|
120
69
|
fonts: fonts,
|
121
|
-
|
122
|
-
|
123
|
-
changeFilterOption: changeFilterOption
|
70
|
+
queryParams: queryParams,
|
71
|
+
queryParamDispatch: queryParamDispatch
|
124
72
|
});
|
125
73
|
}
|
126
74
|
exports.default = SandollFontsList;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Dispatch } from 'react';
|
2
|
+
import type { SandollFontsQueryParams } from '../api/types';
|
3
|
+
import type { SANDOLL_CategoryType } from '../types';
|
4
|
+
type Filter = {
|
5
|
+
sort: 'trending' | 'popularity' | 'date' | 'alpha';
|
6
|
+
order: 'ASC' | 'DESC';
|
7
|
+
};
|
8
|
+
type Action = {
|
9
|
+
type: 'SET_PAGE';
|
10
|
+
payload: number;
|
11
|
+
} | {
|
12
|
+
type: 'SET_LIMIT';
|
13
|
+
payload: number;
|
14
|
+
} | {
|
15
|
+
type: 'SET_SEARCH_TERM';
|
16
|
+
payload: string;
|
17
|
+
} | {
|
18
|
+
type: 'SET_SORT';
|
19
|
+
payload: Filter['sort'];
|
20
|
+
} | {
|
21
|
+
type: 'SET_ORDER';
|
22
|
+
payload: Filter['order'];
|
23
|
+
} | {
|
24
|
+
type: 'TOGGLE_CATEGORIES';
|
25
|
+
payload: SANDOLL_CategoryType;
|
26
|
+
};
|
27
|
+
export type QueryParamDispatchFunction = Dispatch<Action>;
|
28
|
+
export declare const DEFAULT_QUERY_PARAMS: SandollFontsQueryParams;
|
29
|
+
export declare function useQueryParamsReducer(initialQueryParams: SandollFontsQueryParams): [SandollFontsQueryParams, Dispatch<Action>];
|
30
|
+
export {};
|
@@ -0,0 +1,69 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
15
|
+
if (ar || !(i in from)) {
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
17
|
+
ar[i] = from[i];
|
18
|
+
}
|
19
|
+
}
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
21
|
+
};
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
23
|
+
exports.useQueryParamsReducer = exports.DEFAULT_QUERY_PARAMS = void 0;
|
24
|
+
var react_1 = require("react");
|
25
|
+
// Initial state
|
26
|
+
exports.DEFAULT_QUERY_PARAMS = {
|
27
|
+
pagination: {
|
28
|
+
page: 1,
|
29
|
+
limit: 100
|
30
|
+
},
|
31
|
+
searchQuery: {
|
32
|
+
usecase: 'EDITOR',
|
33
|
+
searchTerm: ''
|
34
|
+
},
|
35
|
+
filter: {
|
36
|
+
sort: 'date',
|
37
|
+
order: 'ASC'
|
38
|
+
},
|
39
|
+
categories: ['sans-serif']
|
40
|
+
};
|
41
|
+
// Reducer function
|
42
|
+
function queryParamsReducer(state, action) {
|
43
|
+
switch (action.type) {
|
44
|
+
case 'SET_PAGE':
|
45
|
+
return __assign(__assign({}, state), { pagination: __assign(__assign({}, state.pagination), { page: action.payload }) });
|
46
|
+
case 'SET_LIMIT':
|
47
|
+
return __assign(__assign({}, state), { pagination: __assign(__assign({}, state.pagination), { limit: action.payload }) });
|
48
|
+
case 'SET_SEARCH_TERM':
|
49
|
+
return __assign(__assign({}, state), { searchQuery: __assign(__assign({}, state.searchQuery), { searchTerm: action.payload }) });
|
50
|
+
case 'SET_SORT':
|
51
|
+
return __assign(__assign({}, state), { filter: __assign(__assign({}, state.filter), { sort: action.payload }) });
|
52
|
+
case 'SET_ORDER':
|
53
|
+
return __assign(__assign({}, state), { filter: __assign(__assign({}, state.filter), { order: action.payload }) });
|
54
|
+
case 'TOGGLE_CATEGORIES': {
|
55
|
+
var category_1 = action.payload;
|
56
|
+
var categories = state.categories.includes(category_1)
|
57
|
+
? state.categories.filter(function (c) { return c !== category_1; })
|
58
|
+
: __spreadArray(__spreadArray([], state.categories, true), [category_1], false);
|
59
|
+
return __assign(__assign({}, state), { categories: categories });
|
60
|
+
}
|
61
|
+
default:
|
62
|
+
return state;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
// Usage of useReducer with the defined reducer and initial state
|
66
|
+
function useQueryParamsReducer(initialQueryParams) {
|
67
|
+
return (0, react_1.useReducer)(queryParamsReducer, initialQueryParams);
|
68
|
+
}
|
69
|
+
exports.useQueryParamsReducer = useQueryParamsReducer;
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import type { SandollFont } from './api/types';
|
2
2
|
import type { PDSIconType } from '../../common/types';
|
3
3
|
export type SANDOLL_Font = SandollFont;
|
4
|
-
export type SANDOLL_CategoryType = 'serif' | '
|
4
|
+
export type SANDOLL_CategoryType = 'serif' | 'sans-serif' | 'slab' | 'round' | 'script' | 'deco' | 'symbol' | 'blackLetter';
|
5
5
|
export type SANDOLL_SortOptionType = 'date' | 'alpha';
|
6
|
-
export type SANDOLL_CategoryIconType = Record<
|
7
|
-
export type SANDOLL_Category = 'serif' | 'san-serif' | 'slab' | 'round' | 'script' | 'deco' | 'symbol' | 'blackLetter';
|
6
|
+
export type SANDOLL_CategoryIconType = Record<SANDOLL_CategoryType, PDSIconType>;
|
8
7
|
export type SANDOLL_FilterOptionHandlerArgType = {
|
9
8
|
name: 'searchQuery';
|
10
9
|
value: string;
|
@@ -13,7 +12,3 @@ export type SANDOLL_FilterOptionHandlerArgType = {
|
|
13
12
|
value: SANDOLL_CategoryType[];
|
14
13
|
};
|
15
14
|
export type SANDOLL_ChangeFilterOptionHandler = (arg: SANDOLL_FilterOptionHandlerArgType) => void;
|
16
|
-
export type SANDOLL_FilterOptionType = {
|
17
|
-
searchQuery: string;
|
18
|
-
categories: SANDOLL_CategoryType[];
|
19
|
-
};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare function createSandollFontLink(href: string): void;
|
1
|
+
declare function createSandollFontLink(href: string, id?: string): void;
|
2
2
|
export default createSandollFontLink;
|
@@ -1,12 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
// href: CSS_URI_FOR_PUBL_OR_INDIVIDUAL_URI
|
4
|
-
|
4
|
+
var SANDOLL_LINK_ID = 'sandoll-css-link';
|
5
|
+
function createSandollFontLink(href, id) {
|
6
|
+
if (id === void 0) { id = SANDOLL_LINK_ID; }
|
5
7
|
try {
|
8
|
+
var sandollLink = document.getElementById(id);
|
9
|
+
if (sandollLink) {
|
10
|
+
sandollLink.setAttribute('href', href);
|
11
|
+
return;
|
12
|
+
}
|
6
13
|
var linkTag = document.createElement('link');
|
7
14
|
linkTag.setAttribute('rel', 'stylesheet');
|
8
15
|
linkTag.setAttribute('charset', 'utf-8');
|
9
16
|
linkTag.setAttribute('href', href);
|
17
|
+
linkTag.id = 'sandoll-css-link';
|
10
18
|
document.head.appendChild(linkTag);
|
11
19
|
}
|
12
20
|
catch (error) {
|