@xplortech/apollo-angular 3.2.1 → 3.3.0

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/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './directives/proxies';
2
2
  export { DIRECTIVES } from './directives';
3
+ export { provideApolloSSR } from './ssr.providers';
3
4
  export { BooleanValueAccessor, RadioValueAccessor, SelectValueAccessor, TextValueAccessor, } from './directives';
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function buildHydrateMarkup(host: HTMLElement): string;
2
+ export declare function applySerialized(el: HTMLElement, html: string): void;
3
+ export declare function provideApolloSSR(): {
4
+ provide: import("@angular/core").InjectionToken<readonly (() => void | Promise<void>)[]>;
5
+ multi: boolean;
6
+ deps: import("@angular/core").InjectionToken<Document>[];
7
+ useFactory: (doc: Document) => () => Promise<void>;
8
+ };
@@ -0,0 +1,211 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { BEFORE_APP_SERIALIZED } from '@angular/platform-server';
3
+ const HYDRATE_MODULE = '@xplortech/apollo-core/hydrate';
4
+ function isFrameworkAttribute(name) {
5
+ return (name.startsWith('_ngcontent-') ||
6
+ name.startsWith('_nghost-') ||
7
+ name.startsWith('ng-reflect-') ||
8
+ name === 'ng-version' ||
9
+ name === 'ngSkipHydration');
10
+ }
11
+ function mergeClassNames(existing, incoming) {
12
+ const classes = new Set(`${existing ?? ''} ${incoming}`
13
+ .split(/\s+/)
14
+ .map((token) => token.trim())
15
+ .filter(Boolean));
16
+ return Array.from(classes).join(' ');
17
+ }
18
+ function camelToKebab(value) {
19
+ return value.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
20
+ }
21
+ const SKIP_PROPERTY_KEYS = new Set([
22
+ 'attributes',
23
+ 'classList',
24
+ 'className',
25
+ 'clientHeight',
26
+ 'clientLeft',
27
+ 'clientTop',
28
+ 'clientWidth',
29
+ 'innerHTML',
30
+ 'innerText',
31
+ 'localName',
32
+ 'namespaceURI',
33
+ 'offsetHeight',
34
+ 'offsetLeft',
35
+ 'offsetParent',
36
+ 'offsetTop',
37
+ 'offsetWidth',
38
+ 'outerHTML',
39
+ 'outerText',
40
+ 'scrollHeight',
41
+ 'scrollLeft',
42
+ 'scrollTop',
43
+ 'scrollWidth',
44
+ 'shadowRoot',
45
+ 'slot',
46
+ 'style',
47
+ 'tagName',
48
+ ]);
49
+ function isSerializableObject(value) {
50
+ if (Array.isArray(value)) {
51
+ return true;
52
+ }
53
+ const proto = Object.getPrototypeOf(value);
54
+ return proto === Object.prototype || proto === null;
55
+ }
56
+ function serializePropertyValue(value) {
57
+ if (value === undefined || value === null) {
58
+ return null;
59
+ }
60
+ if (typeof value === 'boolean') {
61
+ return value ? '' : null;
62
+ }
63
+ if (typeof value === 'object') {
64
+ if (!isSerializableObject(value)) {
65
+ return null;
66
+ }
67
+ try {
68
+ return JSON.stringify(value);
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ return String(value);
75
+ }
76
+ export function buildHydrateMarkup(host) {
77
+ const clone = cloneWithSyncedProperties(host);
78
+ return clone.outerHTML;
79
+ }
80
+ function cloneWithSyncedProperties(host) {
81
+ const doc = host.ownerDocument;
82
+ const clone = doc.createElement(host.tagName.toLowerCase());
83
+ for (const attr of Array.from(host.attributes)) {
84
+ clone.setAttribute(attr.name, attr.value);
85
+ }
86
+ syncPropertiesToAttributes(host, clone);
87
+ for (const child of Array.from(host.childNodes)) {
88
+ if (child.nodeType === 1 && child.tagName.toLowerCase().startsWith('xpl-')) {
89
+ clone.appendChild(cloneWithSyncedProperties(child));
90
+ }
91
+ else {
92
+ clone.appendChild(doc.importNode(child, true));
93
+ }
94
+ }
95
+ return clone;
96
+ }
97
+ function syncNgReflectAttributes(source, target) {
98
+ for (const attr of Array.from(source.attributes)) {
99
+ if (!attr.name.startsWith('ng-reflect-')) {
100
+ continue;
101
+ }
102
+ const reflectedName = attr.name.slice('ng-reflect-'.length);
103
+ const attrName = reflectedName === 'model' ? 'value' : reflectedName;
104
+ if (!target.hasAttribute(attrName)) {
105
+ target.setAttribute(attrName, attr.value);
106
+ }
107
+ }
108
+ }
109
+ function syncPropertiesToAttributes(source, target) {
110
+ const observed = new Set();
111
+ if (typeof customElements !== 'undefined') {
112
+ const customCtor = customElements.get(source.tagName.toLowerCase());
113
+ if (customCtor?.observedAttributes) {
114
+ for (const name of customCtor.observedAttributes) {
115
+ observed.add(name);
116
+ }
117
+ }
118
+ }
119
+ syncNgReflectAttributes(source, target);
120
+ for (const key of Object.getOwnPropertyNames(source)) {
121
+ if (key in HTMLElement.prototype ||
122
+ SKIP_PROPERTY_KEYS.has(key) ||
123
+ key.startsWith('_') ||
124
+ key.startsWith('__')) {
125
+ continue;
126
+ }
127
+ const value = source[key];
128
+ if (typeof value === 'function') {
129
+ continue;
130
+ }
131
+ const attrName = camelToKebab(key);
132
+ const serialized = serializePropertyValue(value);
133
+ if (serialized === null) {
134
+ if (!observed.has(attrName) && target.hasAttribute(attrName)) {
135
+ target.removeAttribute(attrName);
136
+ }
137
+ continue;
138
+ }
139
+ if (target.getAttribute(attrName) !== serialized) {
140
+ target.setAttribute(attrName, serialized);
141
+ }
142
+ }
143
+ }
144
+ export function applySerialized(el, html) {
145
+ const doc = el.ownerDocument;
146
+ const container = doc.createElement('div');
147
+ container.innerHTML = html.trim();
148
+ const serialized = container.firstElementChild;
149
+ if (!serialized || serialized.tagName !== el.tagName) {
150
+ return;
151
+ }
152
+ const preserved = new Map();
153
+ for (const attr of Array.from(el.attributes)) {
154
+ if (isFrameworkAttribute(attr.name)) {
155
+ preserved.set(attr.name, attr.value);
156
+ }
157
+ }
158
+ for (const attr of Array.from(el.attributes)) {
159
+ if (!isFrameworkAttribute(attr.name)) {
160
+ el.removeAttribute(attr.name);
161
+ }
162
+ }
163
+ for (const attr of Array.from(serialized.attributes)) {
164
+ if (isFrameworkAttribute(attr.name)) {
165
+ continue;
166
+ }
167
+ if (attr.name === 'class') {
168
+ el.setAttribute('class', mergeClassNames(el.getAttribute('class'), attr.value));
169
+ continue;
170
+ }
171
+ el.setAttribute(attr.name, attr.value);
172
+ }
173
+ for (const [name, value] of preserved) {
174
+ el.setAttribute(name, value);
175
+ }
176
+ el.setAttribute('ngSkipHydration', '');
177
+ el.innerHTML = serialized.innerHTML;
178
+ for (const nested of Array.from(el.querySelectorAll('*'))) {
179
+ if (nested.tagName.toLowerCase().startsWith('xpl-')) {
180
+ nested.setAttribute('ngSkipHydration', '');
181
+ }
182
+ }
183
+ }
184
+ export function provideApolloSSR() {
185
+ return {
186
+ provide: BEFORE_APP_SERIALIZED,
187
+ multi: true,
188
+ deps: [DOCUMENT],
189
+ useFactory: (doc) => async () => {
190
+ const { renderToString } = await import(HYDRATE_MODULE);
191
+ const hosts = Array.from(doc.querySelectorAll('*')).filter((node) => {
192
+ if (!node.tagName.toLowerCase().startsWith('xpl-')) {
193
+ return false;
194
+ }
195
+ const parent = node.parentElement;
196
+ return !parent || !parent.tagName.toLowerCase().startsWith('xpl-');
197
+ });
198
+ for (const host of hosts) {
199
+ const markup = buildHydrateMarkup(host);
200
+ const { html } = await renderToString(markup, {
201
+ fullDocument: false,
202
+ serializeShadowRoot: false,
203
+ });
204
+ if (html) {
205
+ applySerialized(host, html);
206
+ }
207
+ }
208
+ },
209
+ };
210
+ }
211
+ //# sourceMappingURL=ssr.providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr.providers.js","sourceRoot":"","sources":["../src/ssr.providers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,19 @@
1
1
  {
2
2
  "name": "@xplortech/apollo-angular",
3
- "version": "3.2.1",
3
+ "version": "3.3.0",
4
4
  "description": "Angular bindings for Apollo design system web components",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./css/*": "./css/*",
14
+ "./dist/*": "./dist/*",
15
+ "./package.json": "./package.json"
16
+ },
8
17
  "private": false,
9
18
  "publishConfig": {
10
19
  "access": "public",
@@ -49,12 +58,13 @@
49
58
  "release": "release-it",
50
59
  "storybook": "ng run apollo-angular-storybook:storybook",
51
60
  "test": "node --test __tests__/apollo-angular.test.mjs __tests__/apollo-angular-css.test.mjs",
52
- "tsc": "tsc -p tsconfig.build.json",
61
+ "test:ssr": "vitest run src/ssr.test.ts",
62
+ "tsc": "ngc -p tsconfig.build.json",
53
63
  "typecheck": "tsc --noEmit -p tsconfig.build.json"
54
64
  },
55
65
  "dependencies": {
56
- "@xplortech/apollo-core": "3.2.1",
57
- "@xplortech/apollo-icons": "0.5.0"
66
+ "@xplortech/apollo-core": "3.3.0",
67
+ "@xplortech/apollo-icons": "0.5.1"
58
68
  },
59
69
  "devDependencies": {
60
70
  "@angular-devkit/build-angular": "^19.0.0",
@@ -67,11 +77,13 @@
67
77
  "@angular/forms": "^19.0.0",
68
78
  "@angular/platform-browser": "^19.0.0",
69
79
  "@angular/platform-browser-dynamic": "^19.0.0",
70
- "@storybook/addon-docs": "^10.5.8",
80
+ "@angular/platform-server": "^19.0.0",
81
+ "@storybook/addon-docs": "^10.5.10",
71
82
  "@storybook/angular": "^10.5.8",
72
83
  "rxjs": "^7.8.0",
73
84
  "storybook": "^10.5.8",
74
85
  "typescript": "^5.5.3",
86
+ "vitest": "^4.1.9",
75
87
  "zone.js": "~0.15.0"
76
88
  },
77
89
  "peerDependencies": {
@@ -111,6 +123,15 @@
111
123
  "platform:angular"
112
124
  ],
113
125
  "targets": {
126
+ "test:ssr": {
127
+ "dependsOn": [
128
+ {
129
+ "projects": "@xplortech/apollo-core",
130
+ "target": "build"
131
+ },
132
+ "build"
133
+ ]
134
+ },
114
135
  "build:storybook": {
115
136
  "dependsOn": [
116
137
  "^build",