@digipair/skill-web 0.45.6 → 0.46.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/index.cjs.js CHANGED
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var engine = require('@digipair/engine');
6
+ var jsdom = require('jsdom');
6
7
 
7
8
  function _extends() {
8
9
  _extends = Object.assign || function assign(target) {
@@ -67,6 +68,38 @@ let WebService = class WebService {
67
68
  }
68
69
  return output;
69
70
  }
71
+ async pins2html(pins) {
72
+ const dom = new jsdom.JSDOM();
73
+ const element = dom.window.document.createElement('section');
74
+ await this.generateElementsFromPins(pins, element, dom);
75
+ return element.innerHTML;
76
+ }
77
+ async generateElementsFromPins(pinsList, parent, dom) {
78
+ for(let i = 0; i < pinsList.length; i++){
79
+ const item = pinsList[i];
80
+ await this.generateElementFromPins(item, parent, dom);
81
+ }
82
+ }
83
+ async generateElementFromPins(pinsSettings, parent, dom) {
84
+ const element = dom.window.document.createElement(pinsSettings.element);
85
+ element.setAttribute('data-ssr', '1');
86
+ // const settings = await preparePinsSettings(pinsSettings, context);
87
+ const settings = pinsSettings;
88
+ Object.entries(settings.properties || {}).forEach(([key, value])=>{
89
+ if (key === 'textContent') {
90
+ element.textContent = value;
91
+ } else if (key === 'innerHTML') {
92
+ element.innerHTML = value;
93
+ } else if (typeof value === 'string') {
94
+ element.setAttribute(key, value);
95
+ } else {
96
+ element[key] = value;
97
+ }
98
+ });
99
+ const pinsList = settings.pins || [];
100
+ await this.generateElementsFromPins(pinsList, element, dom);
101
+ parent.appendChild(element);
102
+ }
70
103
  async page(params, _pinsSettingsList, context) {
71
104
  var _context_request_body;
72
105
  const { body, title = 'Digipair', favicon = 'https://res.cloudinary.com/do87nxq3l/image/upload/fl_preserve_transparency/v1717769492/logo-digipair_oyvvxz.png?_s=public-apps', styleHtml = '', styleBody = '', baseUrl = 'https://cdn.jsdelivr.net/npm', factoryInitialize = [], browserInitialize = [], browserLoad = [] } = params;
@@ -119,6 +152,7 @@ let WebService = class WebService {
119
152
  await executePinsList(${JSON.stringify(this.prepareBrowserPinsSettings('browserInitialize', browserInitialize))}, context);
120
153
 
121
154
  const pinsList = ${JSON.stringify(this.prepareBrowserPinsSettings('body', body))};
155
+ document.querySelectorAll('body > [data-ssr]').forEach((element) => element.remove()); // Remove SSR elements
122
156
  for (let i = 0; i < pinsList.length; i++) {
123
157
  const item = pinsList[i];
124
158
  await generateElementFromPins(item, document.body, { ...context, data: ${JSON.stringify(preparedData)} });
@@ -128,6 +162,8 @@ let WebService = class WebService {
128
162
  await executePinsList(${JSON.stringify(this.prepareBrowserPinsSettings('browserLoad', browserLoad))}, context);
129
163
  }, 1);
130
164
  </script>
165
+
166
+ ${await this.pins2html(body)}
131
167
  </body>
132
168
  </html>
133
169
  `;
package/index.esm.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { JSDOM } from 'jsdom';
2
+
1
3
  function _extends() {
2
4
  _extends = Object.assign || function assign(target) {
3
5
  for(var i = 1; i < arguments.length; i++){
@@ -23899,14 +23901,14 @@ function indent(str, spaces) {
23899
23901
  var match = parseIdentifier(input, i1, namePart) || namePart && parseAdditionalSymbol(input, i1) || maybeSpace && parseSpaces(input, i1);
23900
23902
  // match is required
23901
23903
  if (!match) {
23902
- return nextMatch = nextMatch1, i = i1, tokens = tokens1, {
23904
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, {
23903
23905
  v: nextMatch1
23904
23906
  };
23905
23907
  }
23906
23908
  var token = match.token, offset = match.offset;
23907
23909
  i1 += offset;
23908
23910
  if (token === " ") {
23909
- return nextMatch = nextMatch1, i = i1, tokens = tokens1, "continue";
23911
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, "continue";
23910
23912
  }
23911
23913
  tokens1 = _to_consumable_array$1(tokens1).concat([
23912
23914
  token
@@ -23925,7 +23927,7 @@ function indent(str, spaces) {
23925
23927
  if (contextKeys.some(function(el) {
23926
23928
  return el.startsWith(name);
23927
23929
  })) {
23928
- return nextMatch = nextMatch1, i = i1, tokens = tokens1, "continue";
23930
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, "continue";
23929
23931
  }
23930
23932
  if (dateTimeIdentifiers.some(function(el) {
23931
23933
  return el === name;
@@ -23944,9 +23946,9 @@ function indent(str, spaces) {
23944
23946
  if (dateTimeIdentifiers.some(function(el) {
23945
23947
  return el.startsWith(name);
23946
23948
  })) {
23947
- return nextMatch = nextMatch1, i = i1, tokens = tokens1, "continue";
23949
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, "continue";
23948
23950
  }
23949
- return nextMatch = nextMatch1, i = i1, tokens = tokens1, {
23951
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, {
23950
23952
  v: nextMatch1
23951
23953
  };
23952
23954
  };
@@ -28005,6 +28007,38 @@ let WebService = class WebService {
28005
28007
  }
28006
28008
  return output;
28007
28009
  }
28010
+ async pins2html(pins) {
28011
+ const dom = new JSDOM();
28012
+ const element = dom.window.document.createElement('section');
28013
+ await this.generateElementsFromPins(pins, element, dom);
28014
+ return element.innerHTML;
28015
+ }
28016
+ async generateElementsFromPins(pinsList, parent, dom) {
28017
+ for(let i = 0; i < pinsList.length; i++){
28018
+ const item = pinsList[i];
28019
+ await this.generateElementFromPins(item, parent, dom);
28020
+ }
28021
+ }
28022
+ async generateElementFromPins(pinsSettings, parent, dom) {
28023
+ const element = dom.window.document.createElement(pinsSettings.element);
28024
+ element.setAttribute('data-ssr', '1');
28025
+ // const settings = await preparePinsSettings(pinsSettings, context);
28026
+ const settings = pinsSettings;
28027
+ Object.entries(settings.properties || {}).forEach(([key, value])=>{
28028
+ if (key === 'textContent') {
28029
+ element.textContent = value;
28030
+ } else if (key === 'innerHTML') {
28031
+ element.innerHTML = value;
28032
+ } else if (typeof value === 'string') {
28033
+ element.setAttribute(key, value);
28034
+ } else {
28035
+ element[key] = value;
28036
+ }
28037
+ });
28038
+ const pinsList = settings.pins || [];
28039
+ await this.generateElementsFromPins(pinsList, element, dom);
28040
+ parent.appendChild(element);
28041
+ }
28008
28042
  async page(params, _pinsSettingsList, context) {
28009
28043
  var _context_request_body;
28010
28044
  const { body, title = 'Digipair', favicon = 'https://res.cloudinary.com/do87nxq3l/image/upload/fl_preserve_transparency/v1717769492/logo-digipair_oyvvxz.png?_s=public-apps', styleHtml = '', styleBody = '', baseUrl = 'https://cdn.jsdelivr.net/npm', factoryInitialize = [], browserInitialize = [], browserLoad = [] } = params;
@@ -28057,6 +28091,7 @@ let WebService = class WebService {
28057
28091
  await executePinsList(${JSON.stringify(this.prepareBrowserPinsSettings('browserInitialize', browserInitialize))}, context);
28058
28092
 
28059
28093
  const pinsList = ${JSON.stringify(this.prepareBrowserPinsSettings('body', body))};
28094
+ document.querySelectorAll('body > [data-ssr]').forEach((element) => element.remove()); // Remove SSR elements
28060
28095
  for (let i = 0; i < pinsList.length; i++) {
28061
28096
  const item = pinsList[i];
28062
28097
  await generateElementFromPins(item, document.body, { ...context, data: ${JSON.stringify(preparedData)} });
@@ -28066,6 +28101,8 @@ let WebService = class WebService {
28066
28101
  await executePinsList(${JSON.stringify(this.prepareBrowserPinsSettings('browserLoad', browserLoad))}, context);
28067
28102
  }, 1);
28068
28103
  </script>
28104
+
28105
+ ${await this.pins2html(body)}
28069
28106
  </body>
28070
28107
  </html>
28071
28108
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digipair/skill-web",
3
- "version": "0.45.6",
3
+ "version": "0.46.0",
4
4
  "dependencies": {},
5
5
  "main": "./index.cjs.js",
6
6
  "module": "./index.esm.js"
File without changes
File without changes