@cocreate/api 1.22.1 → 1.22.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [1.22.2](https://github.com/CoCreate-app/CoCreate-api/compare/v1.22.1...v1.22.2) (2025-04-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * dispatch end event on action element rather than document ([805bb62](https://github.com/CoCreate-app/CoCreate-api/commit/805bb627f7de7dc918ca41ea57bfde1e82407e4e))
7
+ * update observer observe param to type and and attributeName to attributeFilter ([ea6ab8d](https://github.com/CoCreate-app/CoCreate-api/commit/ea6ab8d8408696fdcc8959ea7fc199d706a5c05b))
8
+
1
9
  ## [1.22.1](https://github.com/CoCreate-app/CoCreate-api/compare/v1.22.0...v1.22.1) (2025-01-18)
2
10
 
3
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/api",
3
- "version": "1.22.1",
3
+ "version": "1.22.2",
4
4
  "description": "A simple api helper component in vanilla javascript used by JavaScript developers to create thirdparty api intergrations. CoCreate-api includes the client component and server side for api processing. Thirdparty apis can be accessible using HTML5 attributes and/or JavaScript API. ",
5
5
  "keywords": [
6
6
  "thirdparty-api-intergration",
package/src/index.js CHANGED
@@ -55,7 +55,7 @@ const CoCreateApi = {
55
55
 
56
56
  Observer.init({
57
57
  name: `${name}NodeObserver`,
58
- observe: ["addedNodes"],
58
+ types: ["addedNodes"],
59
59
  selector: `[${name}]`,
60
60
  callback: function (mutation) {
61
61
  inputEvent(mutation.target);
@@ -69,8 +69,8 @@ const CoCreateApi = {
69
69
 
70
70
  Observer.init({
71
71
  name: `${name}AttributeObserver`,
72
- observe: ["attributes"],
73
- attributeName: [name],
72
+ types: ["attributes"],
73
+ attributeFilter: [name],
74
74
  callback: function (mutation) {
75
75
  self.request({
76
76
  name,
@@ -129,7 +129,7 @@ const CoCreateApi = {
129
129
  } else {
130
130
  CoCreateApi.setData(object);
131
131
 
132
- document.dispatchEvent(
132
+ object.element.dispatchEvent(
133
133
  new CustomEvent(object.endEvent, {
134
134
  detail: {
135
135
  data: object
@@ -167,13 +167,14 @@ const CoCreateApi = {
167
167
  if (!elements[i] || elements[i].closest("[template]")) continue;
168
168
  let key = elements[i].getAttribute(`${name}-key`);
169
169
  if (key) {
170
- let value = await elements[i].getValue();
170
+ let value =
171
+ elements[i].stripeElement || (await elements[i].getValue());
171
172
  if (key.endsWith("[]")) {
172
173
  if (!data[key]) data[key] = [];
173
174
 
174
175
  if (Array.isArray(value)) data[key].push(...value);
175
176
  else data[key].push(value);
176
- } else data[key] = await elements[i].getValue();
177
+ } else data[key] = value;
177
178
  }
178
179
 
179
180
  let endpoint = elements[i].getAttribute("endpoint");
@@ -212,7 +213,9 @@ const CoCreateApi = {
212
213
  let form = object.form;
213
214
  if (!form) form = document;
214
215
 
215
- let elements = form.querySelectorAll(`[${name}="${object.method}"]`);
216
+ let elements = form.querySelectorAll(
217
+ `[${name}="${object.method}"]:not([${name}-response="false"])`
218
+ );
216
219
  if (!elements || elements.length == 0) return;
217
220
 
218
221
  for (let i = 0; i < elements.length; i++) {
@@ -229,13 +232,24 @@ const CoCreateApi = {
229
232
  selector: `[template="${templateid}"]`,
230
233
  data
231
234
  });
235
+ } else if (elements[i].renderValue) {
236
+ let key = elements[i].getAttribute(`${name}-key`);
237
+ if (key === "{}") {
238
+ elements[i].renderValue(data[name]);
239
+ } else {
240
+ let value = getValueFromObject(data[name], key);
241
+ if (typeof value === "function") {
242
+ value = value(); // Call the function and assign its return value.
243
+ }
244
+ elements[i].renderValue(value);
245
+ }
232
246
  } else {
233
247
  let key = elements[i].getAttribute(`${name}-key`);
234
248
  if (key === "{}") elements[i].setValue(data[name]);
235
249
  else {
236
250
  let value = getValueFromObject(data[name], key);
237
251
  if (typeof value === "function") {
238
- value = value(); // Call the function and assign its return value
252
+ value = value(); // Call the function and assign its return value.
239
253
  }
240
254
  elements[i].setValue(value);
241
255
  }
@@ -247,7 +261,7 @@ const CoCreateApi = {
247
261
 
248
262
  Observer.init({
249
263
  name: `apiNodeObserver`,
250
- observe: ["addedNodes"],
264
+ types: ["addedNodes"],
251
265
  selector: "[module], [api]",
252
266
  callback: function (mutation) {
253
267
  let name =