@sellmate/design-system 0.0.8 → 0.0.9
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/cjs/index.cjs.js +0 -121
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/collection/index.js +0 -4
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +1 -114
- package/dist/components/index.js.map +1 -1
- package/dist/design-system/index.esm.js +1 -1
- package/dist/design-system/index.esm.js.map +1 -1
- package/dist/esm/index.js +1 -114
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +0 -2
- package/package.json +2 -2
- package/dist/cjs/index-Cbd_FIth.js +0 -21891
- package/dist/cjs/index-Cbd_FIth.js.map +0 -1
- package/dist/cjs/index-DoEgM-7l.js +0 -2586
- package/dist/cjs/index-DoEgM-7l.js.map +0 -1
- package/dist/collection/utils/next-hydrate.js +0 -52
- package/dist/collection/utils/next-hydrate.js.map +0 -1
- package/dist/collection/utils/next-react-wrapper.js +0 -61
- package/dist/collection/utils/next-react-wrapper.js.map +0 -1
- package/dist/components/p-BjTJkvEh.js +0 -21889
- package/dist/components/p-BjTJkvEh.js.map +0 -1
- package/dist/components/p-dBol_ZO8.js +0 -2584
- package/dist/components/p-dBol_ZO8.js.map +0 -1
- package/dist/design-system/p-BjTJkvEh.js +0 -23
- package/dist/design-system/p-BjTJkvEh.js.map +0 -1
- package/dist/design-system/p-dBol_ZO8.js +0 -3
- package/dist/design-system/p-dBol_ZO8.js.map +0 -1
- package/dist/esm/index-BjTJkvEh.js +0 -21889
- package/dist/esm/index-BjTJkvEh.js.map +0 -1
- package/dist/esm/index-dBol_ZO8.js +0 -2584
- package/dist/esm/index-dBol_ZO8.js.map +0 -1
- package/dist/types/utils/next-hydrate.d.ts +0 -18
- package/dist/types/utils/next-react-wrapper.d.ts +0 -23
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -4,126 +4,5 @@ function format(first, middle, last) {
|
|
|
4
4
|
return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Next.js에서 Stencil 컴포넌트 사용을 위한 유틸리티 함수들
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* 클라이언트 사이드에서만 Stencil 컴포넌트를 로드하는 함수
|
|
12
|
-
*/
|
|
13
|
-
const defineCustomElements = async () => {
|
|
14
|
-
if (typeof window !== 'undefined') {
|
|
15
|
-
const { defineCustomElements } = await Promise.resolve().then(function () { return require('./index-DoEgM-7l.js'); });
|
|
16
|
-
await defineCustomElements();
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Stencil 컴포넌트가 hydrate되었는지 확인하는 함수
|
|
21
|
-
*/
|
|
22
|
-
const waitForStencilHydration = (element, timeout = 5000) => {
|
|
23
|
-
return new Promise(resolve => {
|
|
24
|
-
if (element.hasAttribute('hydrated')) {
|
|
25
|
-
resolve(true);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const observer = new MutationObserver(() => {
|
|
29
|
-
if (element.hasAttribute('hydrated')) {
|
|
30
|
-
observer.disconnect();
|
|
31
|
-
resolve(true);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
observer.observe(element, {
|
|
35
|
-
attributes: true,
|
|
36
|
-
attributeFilter: ['hydrated'],
|
|
37
|
-
});
|
|
38
|
-
// 타임아웃 설정
|
|
39
|
-
setTimeout(() => {
|
|
40
|
-
observer.disconnect();
|
|
41
|
-
resolve(false);
|
|
42
|
-
}, timeout);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Next.js에서 Stencil 컴포넌트 초기화를 위한 설정
|
|
47
|
-
*/
|
|
48
|
-
const initStencilForNextjs = () => {
|
|
49
|
-
if (typeof window !== 'undefined') {
|
|
50
|
-
// 전역 설정
|
|
51
|
-
window.stencil = {
|
|
52
|
-
...(window.stencil || {}),
|
|
53
|
-
hydrateFlag: 'hydrated',
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* SSR에서 제외할 컴포넌트 목록
|
|
59
|
-
*/
|
|
60
|
-
const CLIENT_ONLY_COMPONENTS = ['sd-date-picker', 'sd-date-range-picker'];
|
|
61
|
-
/**
|
|
62
|
-
* 컴포넌트가 클라이언트 전용인지 확인
|
|
63
|
-
*/
|
|
64
|
-
const isClientOnlyComponent = (tagName) => {
|
|
65
|
-
return CLIENT_ONLY_COMPONENTS.includes(tagName);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Next.js SSR을 위한 서버사이드 렌더링 함수
|
|
70
|
-
* @param html HTML 문자열
|
|
71
|
-
* @returns 렌더링된 HTML 문자열
|
|
72
|
-
*/
|
|
73
|
-
async function renderStencilComponents(html) {
|
|
74
|
-
// 서버 환경에서만 hydrate 모듈을 동적으로 import
|
|
75
|
-
if (typeof window === 'undefined') {
|
|
76
|
-
try {
|
|
77
|
-
const { renderToString } = await Promise.resolve().then(function () { return require('./index-Cbd_FIth.js'); });
|
|
78
|
-
const results = await renderToString(html, {
|
|
79
|
-
prettyHtml: false,
|
|
80
|
-
removeUnusedStyles: true,
|
|
81
|
-
clientHydrateAnnotations: true,
|
|
82
|
-
});
|
|
83
|
-
return results.html || html;
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
console.warn('Failed to render Stencil components on server:', error);
|
|
87
|
-
return html;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return html;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Next.js 클라이언트사이드 하이드레이션 함수
|
|
94
|
-
* @param document HTML 문서 객체
|
|
95
|
-
*/
|
|
96
|
-
async function hydrateStencilComponents(document) {
|
|
97
|
-
// 클라이언트 환경에서만 hydrate 모듈을 동적으로 import
|
|
98
|
-
if (typeof window !== 'undefined') {
|
|
99
|
-
try {
|
|
100
|
-
const { hydrateDocument } = await Promise.resolve().then(function () { return require('./index-Cbd_FIth.js'); });
|
|
101
|
-
await hydrateDocument(document, {
|
|
102
|
-
runtimeLogging: false,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
console.warn('Failed to hydrate Stencil components on client:', error);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Next.js에서 Stencil 컴포넌트 사용을 위한 설정
|
|
112
|
-
*/
|
|
113
|
-
const STENCIL_CONFIG = {
|
|
114
|
-
// 컴포넌트가 hydrate되었는지 확인하는 속성
|
|
115
|
-
hydratedAttribute: 'hydrated',
|
|
116
|
-
// SSR에서 제외할 컴포넌트들 (클라이언트에서만 렌더링)
|
|
117
|
-
clientOnlyComponents: ['sd-date-picker', 'sd-date-range-picker'],
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
exports.CLIENT_ONLY_COMPONENTS = CLIENT_ONLY_COMPONENTS;
|
|
121
|
-
exports.STENCIL_CONFIG = STENCIL_CONFIG;
|
|
122
|
-
exports.defineCustomElements = defineCustomElements;
|
|
123
7
|
exports.format = format;
|
|
124
|
-
exports.hydrateStencilComponents = hydrateStencilComponents;
|
|
125
|
-
exports.initStencilForNextjs = initStencilForNextjs;
|
|
126
|
-
exports.isClientOnlyComponent = isClientOnlyComponent;
|
|
127
|
-
exports.renderStencilComponents = renderStencilComponents;
|
|
128
|
-
exports.waitForStencilHydration = waitForStencilHydration;
|
|
129
8
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["src/utils/utils.ts"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\r\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\r\n}\r\n"],"names":[],"mappings":";;SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,GAAG,EAAE,CAAC;AAChF;;;;"}
|
package/dist/collection/index.js
CHANGED
|
@@ -8,8 +8,4 @@
|
|
|
8
8
|
* to consume components of this package as outlined in the `README.md`.
|
|
9
9
|
*/
|
|
10
10
|
export { format } from './utils/utils';
|
|
11
|
-
// Export Next.js utilities
|
|
12
|
-
export { defineCustomElements, waitForStencilHydration, initStencilForNextjs, CLIENT_ONLY_COMPONENTS, isClientOnlyComponent, } from './utils/next-react-wrapper';
|
|
13
|
-
// Export hydration utilities
|
|
14
|
-
export { renderStencilComponents, hydrateStencilComponents, STENCIL_CONFIG, } from './utils/next-hydrate';
|
|
15
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC","sourcesContent":["/**\r\n * @fileoverview entry point for your component library\r\n *\r\n * This is the entry point for your component library. Use this file to export utilities,\r\n * constants or data structure that accompany your components.\r\n *\r\n * DO NOT use this file to export your components. Instead, use the recommended approaches\r\n * to consume components of this package as outlined in the `README.md`.\r\n */\r\n\r\nexport { format } from './utils/utils';\r\nexport type * from './components.d.ts';\r\n\r\n// Export sd-table types\r\nexport type { SdTableSortDir, SdTableColumn, Row } from './components/sd-table/sd-table';\r\n"]}
|
package/dist/components/index.js
CHANGED
|
@@ -4,120 +4,7 @@ function format(first, middle, last) {
|
|
|
4
4
|
return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
* Next.js에서 Stencil 컴포넌트 사용을 위한 유틸리티 함수들
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* 클라이언트 사이드에서만 Stencil 컴포넌트를 로드하는 함수
|
|
12
|
-
*/
|
|
13
|
-
const defineCustomElements = async () => {
|
|
14
|
-
if (typeof window !== 'undefined') {
|
|
15
|
-
const { defineCustomElements } = await import('./p-dBol_ZO8.js');
|
|
16
|
-
await defineCustomElements();
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Stencil 컴포넌트가 hydrate되었는지 확인하는 함수
|
|
21
|
-
*/
|
|
22
|
-
const waitForStencilHydration = (element, timeout = 5000) => {
|
|
23
|
-
return new Promise(resolve => {
|
|
24
|
-
if (element.hasAttribute('hydrated')) {
|
|
25
|
-
resolve(true);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const observer = new MutationObserver(() => {
|
|
29
|
-
if (element.hasAttribute('hydrated')) {
|
|
30
|
-
observer.disconnect();
|
|
31
|
-
resolve(true);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
observer.observe(element, {
|
|
35
|
-
attributes: true,
|
|
36
|
-
attributeFilter: ['hydrated'],
|
|
37
|
-
});
|
|
38
|
-
// 타임아웃 설정
|
|
39
|
-
setTimeout(() => {
|
|
40
|
-
observer.disconnect();
|
|
41
|
-
resolve(false);
|
|
42
|
-
}, timeout);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Next.js에서 Stencil 컴포넌트 초기화를 위한 설정
|
|
47
|
-
*/
|
|
48
|
-
const initStencilForNextjs = () => {
|
|
49
|
-
if (typeof window !== 'undefined') {
|
|
50
|
-
// 전역 설정
|
|
51
|
-
window.stencil = {
|
|
52
|
-
...(window.stencil || {}),
|
|
53
|
-
hydrateFlag: 'hydrated',
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* SSR에서 제외할 컴포넌트 목록
|
|
59
|
-
*/
|
|
60
|
-
const CLIENT_ONLY_COMPONENTS = ['sd-date-picker', 'sd-date-range-picker'];
|
|
61
|
-
/**
|
|
62
|
-
* 컴포넌트가 클라이언트 전용인지 확인
|
|
63
|
-
*/
|
|
64
|
-
const isClientOnlyComponent = (tagName) => {
|
|
65
|
-
return CLIENT_ONLY_COMPONENTS.includes(tagName);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Next.js SSR을 위한 서버사이드 렌더링 함수
|
|
70
|
-
* @param html HTML 문자열
|
|
71
|
-
* @returns 렌더링된 HTML 문자열
|
|
72
|
-
*/
|
|
73
|
-
async function renderStencilComponents(html) {
|
|
74
|
-
// 서버 환경에서만 hydrate 모듈을 동적으로 import
|
|
75
|
-
if (typeof window === 'undefined') {
|
|
76
|
-
try {
|
|
77
|
-
const { renderToString } = await import('./p-BjTJkvEh.js');
|
|
78
|
-
const results = await renderToString(html, {
|
|
79
|
-
prettyHtml: false,
|
|
80
|
-
removeUnusedStyles: true,
|
|
81
|
-
clientHydrateAnnotations: true,
|
|
82
|
-
});
|
|
83
|
-
return results.html || html;
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
console.warn('Failed to render Stencil components on server:', error);
|
|
87
|
-
return html;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return html;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Next.js 클라이언트사이드 하이드레이션 함수
|
|
94
|
-
* @param document HTML 문서 객체
|
|
95
|
-
*/
|
|
96
|
-
async function hydrateStencilComponents(document) {
|
|
97
|
-
// 클라이언트 환경에서만 hydrate 모듈을 동적으로 import
|
|
98
|
-
if (typeof window !== 'undefined') {
|
|
99
|
-
try {
|
|
100
|
-
const { hydrateDocument } = await import('./p-BjTJkvEh.js');
|
|
101
|
-
await hydrateDocument(document, {
|
|
102
|
-
runtimeLogging: false,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
console.warn('Failed to hydrate Stencil components on client:', error);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Next.js에서 Stencil 컴포넌트 사용을 위한 설정
|
|
112
|
-
*/
|
|
113
|
-
const STENCIL_CONFIG = {
|
|
114
|
-
// 컴포넌트가 hydrate되었는지 확인하는 속성
|
|
115
|
-
hydratedAttribute: 'hydrated',
|
|
116
|
-
// SSR에서 제외할 컴포넌트들 (클라이언트에서만 렌더링)
|
|
117
|
-
clientOnlyComponents: ['sd-date-picker', 'sd-date-range-picker'],
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
export { CLIENT_ONLY_COMPONENTS, STENCIL_CONFIG, defineCustomElements, format, hydrateStencilComponents, initStencilForNextjs, isClientOnlyComponent, renderStencilComponents, waitForStencilHydration };
|
|
7
|
+
export { format };
|
|
121
8
|
//# sourceMappingURL=index.js.map
|
|
122
9
|
|
|
123
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,GAAG,EAAE,CAAC;AAChF
|
|
1
|
+
{"file":"index.js","mappings":";;SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,GAAG,EAAE,CAAC;AAChF;;;;","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\r\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\r\n}\r\n"],"version":3}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function n(n,r,t){return(n||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{n as format};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["src/utils/utils.ts"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\r\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\r\n}\r\n"],"names":[],"mappings":"SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,GAAG,EAAE,CAAC;AAChF;;;;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2,118 +2,5 @@ function format(first, middle, last) {
|
|
|
2
2
|
return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
* Next.js에서 Stencil 컴포넌트 사용을 위한 유틸리티 함수들
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* 클라이언트 사이드에서만 Stencil 컴포넌트를 로드하는 함수
|
|
10
|
-
*/
|
|
11
|
-
const defineCustomElements = async () => {
|
|
12
|
-
if (typeof window !== 'undefined') {
|
|
13
|
-
const { defineCustomElements } = await import('./index-dBol_ZO8.js');
|
|
14
|
-
await defineCustomElements();
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Stencil 컴포넌트가 hydrate되었는지 확인하는 함수
|
|
19
|
-
*/
|
|
20
|
-
const waitForStencilHydration = (element, timeout = 5000) => {
|
|
21
|
-
return new Promise(resolve => {
|
|
22
|
-
if (element.hasAttribute('hydrated')) {
|
|
23
|
-
resolve(true);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const observer = new MutationObserver(() => {
|
|
27
|
-
if (element.hasAttribute('hydrated')) {
|
|
28
|
-
observer.disconnect();
|
|
29
|
-
resolve(true);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
observer.observe(element, {
|
|
33
|
-
attributes: true,
|
|
34
|
-
attributeFilter: ['hydrated'],
|
|
35
|
-
});
|
|
36
|
-
// 타임아웃 설정
|
|
37
|
-
setTimeout(() => {
|
|
38
|
-
observer.disconnect();
|
|
39
|
-
resolve(false);
|
|
40
|
-
}, timeout);
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Next.js에서 Stencil 컴포넌트 초기화를 위한 설정
|
|
45
|
-
*/
|
|
46
|
-
const initStencilForNextjs = () => {
|
|
47
|
-
if (typeof window !== 'undefined') {
|
|
48
|
-
// 전역 설정
|
|
49
|
-
window.stencil = {
|
|
50
|
-
...(window.stencil || {}),
|
|
51
|
-
hydrateFlag: 'hydrated',
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* SSR에서 제외할 컴포넌트 목록
|
|
57
|
-
*/
|
|
58
|
-
const CLIENT_ONLY_COMPONENTS = ['sd-date-picker', 'sd-date-range-picker'];
|
|
59
|
-
/**
|
|
60
|
-
* 컴포넌트가 클라이언트 전용인지 확인
|
|
61
|
-
*/
|
|
62
|
-
const isClientOnlyComponent = (tagName) => {
|
|
63
|
-
return CLIENT_ONLY_COMPONENTS.includes(tagName);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Next.js SSR을 위한 서버사이드 렌더링 함수
|
|
68
|
-
* @param html HTML 문자열
|
|
69
|
-
* @returns 렌더링된 HTML 문자열
|
|
70
|
-
*/
|
|
71
|
-
async function renderStencilComponents(html) {
|
|
72
|
-
// 서버 환경에서만 hydrate 모듈을 동적으로 import
|
|
73
|
-
if (typeof window === 'undefined') {
|
|
74
|
-
try {
|
|
75
|
-
const { renderToString } = await import('./index-BjTJkvEh.js');
|
|
76
|
-
const results = await renderToString(html, {
|
|
77
|
-
prettyHtml: false,
|
|
78
|
-
removeUnusedStyles: true,
|
|
79
|
-
clientHydrateAnnotations: true,
|
|
80
|
-
});
|
|
81
|
-
return results.html || html;
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
console.warn('Failed to render Stencil components on server:', error);
|
|
85
|
-
return html;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return html;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Next.js 클라이언트사이드 하이드레이션 함수
|
|
92
|
-
* @param document HTML 문서 객체
|
|
93
|
-
*/
|
|
94
|
-
async function hydrateStencilComponents(document) {
|
|
95
|
-
// 클라이언트 환경에서만 hydrate 모듈을 동적으로 import
|
|
96
|
-
if (typeof window !== 'undefined') {
|
|
97
|
-
try {
|
|
98
|
-
const { hydrateDocument } = await import('./index-BjTJkvEh.js');
|
|
99
|
-
await hydrateDocument(document, {
|
|
100
|
-
runtimeLogging: false,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
console.warn('Failed to hydrate Stencil components on client:', error);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Next.js에서 Stencil 컴포넌트 사용을 위한 설정
|
|
110
|
-
*/
|
|
111
|
-
const STENCIL_CONFIG = {
|
|
112
|
-
// 컴포넌트가 hydrate되었는지 확인하는 속성
|
|
113
|
-
hydratedAttribute: 'hydrated',
|
|
114
|
-
// SSR에서 제외할 컴포넌트들 (클라이언트에서만 렌더링)
|
|
115
|
-
clientOnlyComponents: ['sd-date-picker', 'sd-date-range-picker'],
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export { CLIENT_ONLY_COMPONENTS, STENCIL_CONFIG, defineCustomElements, format, hydrateStencilComponents, initStencilForNextjs, isClientOnlyComponent, renderStencilComponents, waitForStencilHydration };
|
|
5
|
+
export { format };
|
|
119
6
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["src/utils/utils.ts"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\r\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\r\n}\r\n"],"names":[],"mappings":"SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,GAAG,EAAE,CAAC;AAChF;;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -10,5 +10,3 @@
|
|
|
10
10
|
export { format } from './utils/utils';
|
|
11
11
|
export type * from './components.d.ts';
|
|
12
12
|
export type { SdTableSortDir, SdTableColumn, Row } from './components/sd-table/sd-table';
|
|
13
|
-
export { defineCustomElements, waitForStencilHydration, initStencilForNextjs, CLIENT_ONLY_COMPONENTS, isClientOnlyComponent, } from './utils/next-react-wrapper';
|
|
14
|
-
export { renderStencilComponents, hydrateStencilComponents, STENCIL_CONFIG, } from './utils/next-hydrate';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sellmate/design-system",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "Sellmate Design System - Web Components Library built with Stencil",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -90,5 +90,5 @@
|
|
|
90
90
|
"@stencil/react-output-target": "^1.2.0",
|
|
91
91
|
"@stencil/vue-output-target": "^0.11.8"
|
|
92
92
|
},
|
|
93
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "b0ff5a50812d0d336ed4ec7d44ad000c78cab377"
|
|
94
94
|
}
|