pds-dev-kit-web 2.2.69 → 2.2.71

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.
@@ -852,5 +852,7 @@
852
852
  "ui_114": "sys_component_base_26",
853
853
  "ui_115": "sys_cpnt_sheet_base_14",
854
854
  "ui_116": "sys_kakao",
855
- "ui_117": "sys_text_black_02"
855
+ "ui_117": "sys_text_black_02",
856
+ "ui_118": "sys_component_base_24",
857
+ "ui_119": "sys_component_base_36"
856
858
  }
@@ -1686,6 +1686,8 @@ declare const colorSet: {
1686
1686
  ui_115: string;
1687
1687
  ui_116: string;
1688
1688
  ui_117: string;
1689
+ ui_118: string;
1690
+ ui_119: string;
1689
1691
  };
1690
1692
  };
1691
1693
  export default colorSet;
@@ -853,4 +853,6 @@ export interface UITheme {
853
853
  ui_115: string;
854
854
  ui_116: string;
855
855
  ui_117: string;
856
+ ui_118: string;
857
+ ui_119: string;
856
858
  }
@@ -45,9 +45,9 @@ function MobileTabBar(_a) {
45
45
  item.onClick(e);
46
46
  }
47
47
  };
48
- return ((0, jsx_runtime_1.jsx)(S_TabBarContainer, { children: (0, jsx_runtime_1.jsx)(S_TabBar, __assign({ "x-pds-name": "MobileTabBar", "x-pds-element-type": "component", "x-pds-device-type": "mobile", hasScroll: hasScroll_1 }, { children: itemArray.map(function (item, index) { return ((0, jsx_runtime_1.jsx)(S_TabWrapper, __assign({ hasScroll: hasScroll_1, colorTheme: colorTheme, isActive: item.isActive, onClick: function (e) { return handleClickTabItem_1(item, e); } }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: "body2Bold", wordBreak: hasScroll_1 ? 'keep_all' : 'normal', colorTheme: item.isActive
49
- ? mobileTabBarThemes[colorTheme].activeTextColor
50
- : mobileTabBarThemes[colorTheme].inActiveTextColor, singleLineMode: "use" }) }), index)); }) })) }));
48
+ return ((0, jsx_runtime_1.jsx)(S_TabBarContainer, { children: (0, jsx_runtime_1.jsx)(S_TabBar, __assign({ "x-pds-name": "MobileTabBar", "x-pds-element-type": "component", "x-pds-device-type": "mobile", hasScroll: hasScroll_1 }, { children: itemArray.map(function (item, index) { return ((0, jsx_runtime_1.jsxs)(S_TabWrapper, __assign({ hasScroll: hasScroll_1, colorTheme: colorTheme, isActive: item.isActive, onClick: function (e) { return handleClickTabItem_1(item, e); } }, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: "body2Bold", wordBreak: hasScroll_1 ? 'keep_all' : 'normal', colorTheme: item.isActive
49
+ ? mobileTabBarThemes[colorTheme].activeTextColor
50
+ : mobileTabBarThemes[colorTheme].inActiveTextColor, singleLineMode: "use" }), item.isActive && (0, jsx_runtime_1.jsx)(S_Indicator, { colorTheme: colorTheme })] }), index)); }) })) }));
51
51
  }
52
52
  if (textArray) {
53
53
  var hasScroll_2 = textArray.length > 3;
@@ -56,39 +56,37 @@ function MobileTabBar(_a) {
56
56
  history.push(value.path);
57
57
  }
58
58
  };
59
- return ((0, jsx_runtime_1.jsx)(S_TabBarContainer, { children: (0, jsx_runtime_1.jsx)(S_TabBar, __assign({ "x-pds-name": "MobileTabBar", "x-pds-element-type": "component", "x-pds-device-type": "mobile", hasScroll: hasScroll_2 }, { children: textArray.map(function (value) { return ((0, jsx_runtime_1.jsx)(S_TabWrapper, __assign({ hasScroll: hasScroll_2, colorTheme: colorTheme, isActive: pathname === value.path, onClick: function () { return handleClick_1(value); } }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: value.title, textAlign: "center", styleTheme: "body2Bold", wordBreak: hasScroll_2 ? 'keep_all' : 'normal', colorTheme: pathname === value.path ? 'usrTextBrandPrimary' : 'sysTextTertiary', singleLineMode: "use" }) }), value.path)); }) })) }));
59
+ return ((0, jsx_runtime_1.jsx)(S_TabBarContainer, { children: (0, jsx_runtime_1.jsx)(S_TabBar, __assign({ "x-pds-name": "MobileTabBar", "x-pds-element-type": "component", "x-pds-device-type": "mobile", hasScroll: hasScroll_2 }, { children: textArray.map(function (value) { return ((0, jsx_runtime_1.jsxs)(S_TabWrapper, __assign({ hasScroll: hasScroll_2, colorTheme: colorTheme, isActive: pathname === value.path, onClick: function () { return handleClick_1(value); } }, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: value.title, textAlign: "center", styleTheme: "body2Bold", wordBreak: hasScroll_2 ? 'keep_all' : 'normal', colorTheme: pathname === value.path ? 'usrTextBrandPrimary' : 'sysTextTertiary', singleLineMode: "use" }), pathname === value.path && (0, jsx_runtime_1.jsx)(S_Indicator, { colorTheme: colorTheme })] }), value.path)); }) })) }));
60
60
  }
61
61
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
62
62
  }
63
- var S_TabWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n display: ", ";\n flex: 1;\n justify-content: center;\n padding: 0 ", ";\n position: relative;\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: 0px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n\n & > div {\n white-space: ", ";\n }\n"], ["\n align-items: center;\n background-color: ", ";\n display: ", ";\n flex: 1;\n justify-content: center;\n padding: 0 ", ";\n position: relative;\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: 0px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n\n & > div {\n white-space: ", ";\n }\n"])), function (_a) {
63
+ var S_Indicator = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n bottom: -1px;\n height: 2px;\n left: 0;\n position: absolute;\n right: 0;\n"], ["\n background-color: ", ";\n bottom: -1px;\n height: 2px;\n left: 0;\n position: absolute;\n right: 0;\n"])), function (_a) {
64
+ var colorTheme = _a.colorTheme, theme = _a.theme;
65
+ return theme[mobileTabBarThemes[colorTheme].activeIndicatorBorderColor];
66
+ });
67
+ var S_TabWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-bottom: ", ";\n box-sizing: border-box;\n display: ", ";\n flex: 1;\n justify-content: center;\n padding: 0 ", ";\n position: relative;\n\n &:last-child {\n margin-right: 0;\n }\n\n & > div {\n white-space: ", ";\n }\n"], ["\n align-items: center;\n background-color: ", ";\n border-bottom: ", ";\n box-sizing: border-box;\n display: ", ";\n flex: 1;\n justify-content: center;\n padding: 0 ", ";\n position: relative;\n\n &:last-child {\n margin-right: 0;\n }\n\n & > div {\n white-space: ", ";\n }\n"])), function (_a) {
64
68
  var isActive = _a.isActive, theme = _a.theme;
65
69
  return isActive && theme.ui_cpnt_tabbar_base_area;
70
+ }, function (_a) {
71
+ var theme = _a.theme;
72
+ return "1px solid ".concat(theme.ui_cpnt_divider);
66
73
  }, function (_a) {
67
74
  var hasScroll = _a.hasScroll;
68
75
  return (hasScroll ? 'inline-flex' : 'flex');
69
76
  }, function (_a) {
70
77
  var theme = _a.theme;
71
78
  return theme.spacing.spacingD;
72
- }, function (_a) {
73
- var colorTheme = _a.colorTheme, theme = _a.theme;
74
- return theme[mobileTabBarThemes[colorTheme].activeIndicatorBorderColor];
75
- }, function (_a) {
76
- var isActive = _a.isActive;
77
- return !isActive && "display: none;";
78
79
  }, function (_a) {
79
80
  var hasScroll = _a.hasScroll;
80
81
  return hasScroll && 'nowrap';
81
82
  });
82
- var S_TabBarContainer = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n overflow-x: auto;\n\n &::-webkit-scrollbar {\n display: none;\n }\n"], ["\n background-color: ", ";\n overflow-x: auto;\n\n &::-webkit-scrollbar {\n display: none;\n }\n"])), function (_a) {
83
+ var S_TabBarContainer = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n overflow-x: auto;\n\n &::-webkit-scrollbar {\n display: none;\n }\n"], ["\n background-color: ", ";\n overflow-x: auto;\n\n &::-webkit-scrollbar {\n display: none;\n }\n"])), function (_a) {
83
84
  var theme = _a.theme;
84
85
  return theme.ui_cpnt_tabbar_base_area;
85
86
  });
86
- var S_TabBar = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: ", ";\n height: 48px;\n"], ["\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: ", ";\n height: 48px;\n"])), function (_a) {
87
- var theme = _a.theme;
88
- return theme.ui_cpnt_divider;
89
- }, function (_a) {
87
+ var S_TabBar = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n box-sizing: border-box;\n display: ", ";\n height: 48px;\n width: 100%;\n"], ["\n box-sizing: border-box;\n display: ", ";\n height: 48px;\n width: 100%;\n"])), function (_a) {
90
88
  var hasScroll = _a.hasScroll;
91
89
  return (hasScroll ? 'inline-flex' : 'flex');
92
90
  });
93
91
  exports.default = MobileTabBar;
94
- var templateObject_1, templateObject_2, templateObject_3;
92
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -0,0 +1,4 @@
1
+ import type { FontResponse, PublHeaders, SandollFontsQueryParams } from './types';
2
+ export declare function fetchSandollFonts(baseURL: string, searchParams: SandollFontsQueryParams, publHeaders: PublHeaders): Promise<FontResponse | {
3
+ error: any;
4
+ }>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.fetchSandollFonts = void 0;
40
+ var SANDOLL_API_PATH = '/seller/api/v2/channel-management/font-manager/sandoll/available-fonts';
41
+ function fetchSandollFonts(baseURL, searchParams, publHeaders) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var url, searchQuery, pagination, filter, categories, isGlobal, response, error_1;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ url = new URL(SANDOLL_API_PATH, baseURL);
48
+ searchQuery = searchParams.searchQuery, pagination = searchParams.pagination, filter = searchParams.filter, categories = searchParams.categories, isGlobal = searchParams.isGlobal;
49
+ url.searchParams.append('usecase', searchQuery.usecase || 'EDITOR');
50
+ if (searchQuery.searchTerm) {
51
+ url.searchParams.append('searchTerm', searchQuery.searchTerm);
52
+ }
53
+ url.searchParams.append('page', pagination.page.toString());
54
+ url.searchParams.append('limit', pagination.limit.toString());
55
+ url.searchParams.append('sort', filter.sort);
56
+ url.searchParams.append('order', filter.order);
57
+ url.searchParams.append('styles', categories.join(','));
58
+ url.searchParams.append('isGlobal', isGlobal ? 'true' : 'false');
59
+ _a.label = 1;
60
+ case 1:
61
+ _a.trys.push([1, 3, , 4]);
62
+ return [4 /*yield*/, fetch(url.toString(), {
63
+ method: 'GET',
64
+ headers: {
65
+ Authorization: "Bearer ".concat(publHeaders.channelToken),
66
+ 'x-publ-channel-id': "".concat(publHeaders.channelId)
67
+ }
68
+ })];
69
+ case 2:
70
+ response = _a.sent();
71
+ return [2 /*return*/, response.json()];
72
+ case 3:
73
+ error_1 = _a.sent();
74
+ return [2 /*return*/, { error: error_1 }];
75
+ case 4: return [2 /*return*/];
76
+ }
77
+ });
78
+ });
79
+ }
80
+ exports.fetchSandollFonts = fetchSandollFonts;
@@ -0,0 +1,51 @@
1
+ import type { SANDOLL_CategoryType } from '../types';
2
+ export type Pagination = {
3
+ page: number;
4
+ limit: number;
5
+ };
6
+ export type Filter = {
7
+ sort: 'trending' | 'popularity' | 'date' | 'alpha';
8
+ order: 'ASC' | 'DESC';
9
+ };
10
+ export type SearchQuery = {
11
+ usecase?: 'EDITOR';
12
+ searchTerm?: string;
13
+ };
14
+ export type SandollFont = {
15
+ id: string;
16
+ distinctId: string;
17
+ fontEnumValue: string;
18
+ provider: string;
19
+ fontName: string;
20
+ fontFamilyName: string;
21
+ supportedWeights: number[];
22
+ providerFontId: string;
23
+ providerFontName: string;
24
+ providerFontFamilyId: string;
25
+ providerFontFamilyName: string;
26
+ providerCssInfoDict: CSSInfoDict;
27
+ category: SANDOLL_CategoryType;
28
+ };
29
+ export type CSSInfoDict = {
30
+ fontFamily: string;
31
+ fontWeight: number;
32
+ };
33
+ export type SupportedOptionMap = {};
34
+ export type FontResponse = {
35
+ data: {
36
+ availableFonts: SandollFont[];
37
+ supportedOptions: SupportedOptionMap;
38
+ pagination: Pagination;
39
+ };
40
+ };
41
+ export type SandollFontsQueryParams = {
42
+ pagination: Pagination;
43
+ searchQuery: SearchQuery;
44
+ filter: Filter;
45
+ categories: SANDOLL_CategoryType[];
46
+ isGlobal: boolean;
47
+ };
48
+ export type PublHeaders = {
49
+ channelToken: string;
50
+ channelId: string;
51
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type { SANDOLL_CategoryType, SANDOLL_CategoryIconType, SANDOLL_SortOptionType } from './types';
2
+ export declare const SANDOLL_SORT_OPTIONS: SANDOLL_SortOptionType[];
3
+ export declare const SANDOLL_DEFAULT_SORT: {
4
+ text: string;
5
+ value: SANDOLL_SortOptionType;
6
+ };
7
+ export declare const SANDOLL_SORT_OPTION_KEY_MAP: Record<SANDOLL_SortOptionType, string>;
8
+ export declare const SANDOLL_CATEGORIES: SANDOLL_CategoryType[];
9
+ export declare const SANDOLL_CATEGORY_ICONS: SANDOLL_CategoryIconType;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SANDOLL_CATEGORY_ICONS = exports.SANDOLL_CATEGORIES = exports.SANDOLL_SORT_OPTION_KEY_MAP = exports.SANDOLL_DEFAULT_SORT = exports.SANDOLL_SORT_OPTIONS = void 0;
4
+ exports.SANDOLL_SORT_OPTIONS = ['date', 'alpha'];
5
+ exports.SANDOLL_DEFAULT_SORT = {
6
+ text: 'str_key_seller_scene_x00001pages_dleditor_modal_fontselect_section_sandoll_filter_viewoption_option_latest',
7
+ value: 'date'
8
+ };
9
+ exports.SANDOLL_SORT_OPTION_KEY_MAP = {
10
+ date: 'str_key_seller_scene_x00001pages_dleditor_modal_fontselect_section_sandoll_filter_viewoption_option_latest',
11
+ alpha: 'str_key_seller_scene_x00001pages_dleditor_modal_fontselect_section_sandoll_filter_viewoption_option_name'
12
+ };
13
+ exports.SANDOLL_CATEGORIES = [
14
+ 'buri',
15
+ 'min-buri',
16
+ 'symbol',
17
+ 'round',
18
+ 'display',
19
+ 'script'
20
+ ];
21
+ // NOTE: remove as
22
+ exports.SANDOLL_CATEGORY_ICONS = {
23
+ buri: 'ic_typeface_serif_20',
24
+ 'min-buri': 'ic_typeface_sans_serif_20',
25
+ slab: 'ic_typeface_slab_20',
26
+ round: 'ic_typeface_round_20',
27
+ script: 'ic_typeface_script_20',
28
+ deco: 'ic_typeface_deco_20',
29
+ symbol: 'ic_typeface_symbol_20',
30
+ blackLetter: 'ic_typeface_blackletter_20',
31
+ display: 'ic_typeface_display_20'
32
+ };
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { QueryParamDispatchFunction } from '../hooks/useQueryParamsReducer';
3
+ import type { PublHeaders, SandollFontsQueryParams } from '../api/types';
4
+ import type { SANDOLL_Font } from '../types';
5
+ type HeadlessProps = {
6
+ isLoading: boolean;
7
+ fonts: SANDOLL_Font[];
8
+ queryParams: SandollFontsQueryParams;
9
+ queryParamDispatch: QueryParamDispatchFunction;
10
+ };
11
+ type Props = {
12
+ baseURL: string;
13
+ defaultQueryParams?: SandollFontsQueryParams;
14
+ publHeaders: PublHeaders;
15
+ children: (args: HeadlessProps) => JSX.Element;
16
+ };
17
+ declare function SandollFontsList({ baseURL, defaultQueryParams, publHeaders, children }: Props): JSX.Element;
18
+ export default SandollFontsList;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var react_1 = require("react");
40
+ var getSandollFonts_1 = require("../api/getSandollFonts");
41
+ var useQueryParamsReducer_1 = require("../hooks/useQueryParamsReducer");
42
+ function SandollFontsList(_a) {
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];
47
+ (0, react_1.useEffect)(function () {
48
+ function fetchFontsList() {
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ var response;
51
+ return __generator(this, function (_a) {
52
+ switch (_a.label) {
53
+ case 0:
54
+ setIsLoading(true);
55
+ return [4 /*yield*/, (0, getSandollFonts_1.fetchSandollFonts)(baseURL, queryParams, publHeaders)];
56
+ case 1:
57
+ response = _a.sent();
58
+ if ('data' in response) {
59
+ setFonts(response.data.availableFonts);
60
+ }
61
+ setIsLoading(false);
62
+ return [2 /*return*/];
63
+ }
64
+ });
65
+ });
66
+ }
67
+ fetchFontsList();
68
+ }, [baseURL, queryParams, publHeaders.channelId, publHeaders.channelToken]);
69
+ return children({
70
+ isLoading: isLoading,
71
+ fonts: fonts,
72
+ queryParams: queryParams,
73
+ queryParamDispatch: queryParamDispatch
74
+ });
75
+ }
76
+ 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,78 @@
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
+ // NOTE: 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: [
40
+ 'blackLetter',
41
+ 'deco',
42
+ 'round',
43
+ 'buri',
44
+ 'script',
45
+ 'min-buri',
46
+ 'slab',
47
+ 'symbol',
48
+ 'display'
49
+ ],
50
+ isGlobal: false
51
+ };
52
+ function queryParamsReducer(state, action) {
53
+ switch (action.type) {
54
+ case 'SET_PAGE':
55
+ return __assign(__assign({}, state), { pagination: __assign(__assign({}, state.pagination), { page: action.payload }) });
56
+ case 'SET_LIMIT':
57
+ return __assign(__assign({}, state), { pagination: __assign(__assign({}, state.pagination), { limit: action.payload }) });
58
+ case 'SET_SEARCH_TERM':
59
+ return __assign(__assign({}, state), { searchQuery: __assign(__assign({}, state.searchQuery), { searchTerm: action.payload }) });
60
+ case 'SET_SORT':
61
+ return __assign(__assign({}, state), { filter: __assign(__assign({}, state.filter), { sort: action.payload }) });
62
+ case 'SET_ORDER':
63
+ return __assign(__assign({}, state), { filter: __assign(__assign({}, state.filter), { order: action.payload }) });
64
+ case 'TOGGLE_CATEGORIES': {
65
+ var category_1 = action.payload;
66
+ var categories = state.categories.includes(category_1)
67
+ ? state.categories.filter(function (c) { return c !== category_1; })
68
+ : __spreadArray(__spreadArray([], state.categories, true), [category_1], false);
69
+ return __assign(__assign({}, state), { categories: categories });
70
+ }
71
+ default:
72
+ return state;
73
+ }
74
+ }
75
+ function useQueryParamsReducer(initialQueryParams) {
76
+ return (0, react_1.useReducer)(queryParamsReducer, initialQueryParams);
77
+ }
78
+ exports.useQueryParamsReducer = useQueryParamsReducer;
@@ -0,0 +1,4 @@
1
+ export { default as SandollFontsList } from './headless/SandollFontsList';
2
+ export { default as appendSandollFontTag } from './utils/appendSandollTagToHead';
3
+ export * from './types';
4
+ export * from './constants';
@@ -0,0 +1,26 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.appendSandollFontTag = exports.SandollFontsList = void 0;
21
+ var SandollFontsList_1 = require("./headless/SandollFontsList");
22
+ Object.defineProperty(exports, "SandollFontsList", { enumerable: true, get: function () { return __importDefault(SandollFontsList_1).default; } });
23
+ var appendSandollTagToHead_1 = require("./utils/appendSandollTagToHead");
24
+ Object.defineProperty(exports, "appendSandollFontTag", { enumerable: true, get: function () { return __importDefault(appendSandollTagToHead_1).default; } });
25
+ __exportStar(require("./types"), exports);
26
+ __exportStar(require("./constants"), exports);
@@ -0,0 +1,14 @@
1
+ import type { SandollFont } from './api/types';
2
+ import type { PDSIconType } from '../../common/types';
3
+ export type SANDOLL_Font = SandollFont;
4
+ export type SANDOLL_CategoryType = 'buri' | 'min-buri' | 'slab' | 'round' | 'script' | 'deco' | 'symbol' | 'blackLetter' | 'display';
5
+ export type SANDOLL_SortOptionType = 'date' | 'alpha';
6
+ export type SANDOLL_CategoryIconType = Record<SANDOLL_CategoryType, PDSIconType>;
7
+ export type SANDOLL_FilterOptionHandlerArgType = {
8
+ name: 'searchQuery';
9
+ value: string;
10
+ } | {
11
+ name: 'categories';
12
+ value: SANDOLL_CategoryType[];
13
+ };
14
+ export type SANDOLL_ChangeFilterOptionHandler = (arg: SANDOLL_FilterOptionHandlerArgType) => void;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export default function appendSandollTagToHead(tagString: string): void;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable no-console */
4
+ function appendSandollTagToHead(tagString) {
5
+ try {
6
+ var tempDiv = document.createElement('div');
7
+ tempDiv.innerHTML = tagString.trim();
8
+ var sandollFontCssTag = tempDiv.firstChild;
9
+ if (!sandollFontCssTag) {
10
+ console.error('SandollFont CSS Tag Not Found');
11
+ return;
12
+ }
13
+ sandollFontCssTag.setAttribute('id', 'sandoll-font-link');
14
+ var tagName = sandollFontCssTag.tagName.toLowerCase();
15
+ var href = sandollFontCssTag.getAttribute('href');
16
+ if (href) {
17
+ var prevSandollLinkTag = document.head.querySelector("".concat(tagName, "#sandoll-font-link"));
18
+ if (prevSandollLinkTag) {
19
+ if (prevSandollLinkTag.getAttribute('href') === href) {
20
+ return;
21
+ }
22
+ prevSandollLinkTag.remove();
23
+ }
24
+ document.head.appendChild(sandollFontCssTag);
25
+ }
26
+ }
27
+ catch (e) {
28
+ console.error(e);
29
+ }
30
+ }
31
+ exports.default = appendSandollTagToHead;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "2.2.69",
3
+ "version": "2.2.71",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",