@symbo.ls/create 2.11.449 → 2.11.450

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.
@@ -607,6 +607,7 @@ var require_object = __commonJS({
607
607
  exec: () => exec6,
608
608
  flattenRecursive: () => flattenRecursive,
609
609
  hasOwnProperty: () => hasOwnProperty,
610
+ isCyclic: () => isCyclic,
610
611
  isEmpty: () => isEmpty,
611
612
  isEmptyObject: () => isEmptyObject,
612
613
  isEqualDeep: () => isEqualDeep2,
@@ -1212,6 +1213,25 @@ var require_object = __commonJS({
1212
1213
  }
1213
1214
  }
1214
1215
  };
1216
+ var isCyclic = (obj) => {
1217
+ const seenObjects = [];
1218
+ function detect(obj2) {
1219
+ if (obj2 && typeof obj2 === "object") {
1220
+ if (seenObjects.indexOf(obj2) !== -1) {
1221
+ return true;
1222
+ }
1223
+ seenObjects.push(obj2);
1224
+ for (const key in obj2) {
1225
+ if (Object.hasOwnProperty.call(obj2, key) && detect(obj2[key])) {
1226
+ console.log(obj2, "cycle at " + key);
1227
+ return true;
1228
+ }
1229
+ }
1230
+ }
1231
+ return false;
1232
+ }
1233
+ return detect(obj);
1234
+ };
1215
1235
  }
1216
1236
  });
1217
1237
 
@@ -2460,6 +2480,7 @@ var require_cjs2 = __commonJS({
2460
2480
  exec: () => exec6,
2461
2481
  flattenRecursive: () => flattenRecursive,
2462
2482
  hasOwnProperty: () => hasOwnProperty,
2483
+ isCyclic: () => isCyclic,
2463
2484
  isEmpty: () => isEmpty,
2464
2485
  isEmptyObject: () => isEmptyObject,
2465
2486
  isEqualDeep: () => isEqualDeep2,
@@ -2585,20 +2606,28 @@ var require_cjs2 = __commonJS({
2585
2606
  }
2586
2607
  return clone2;
2587
2608
  };
2588
- var deepCloneWithExtend3 = (obj, excludeFrom = ["node"], options = {}) => {
2609
+ var deepCloneWithExtend3 = (obj, excludeFrom = ["node"], options = {}, visited = /* @__PURE__ */ new WeakSet()) => {
2610
+ if ((0, import_types.isObjectLike)(obj)) {
2611
+ if (visited.has(obj)) {
2612
+ return obj;
2613
+ }
2614
+ visited.add(obj);
2615
+ }
2589
2616
  const o = options.window ? (0, import_types.isArray)(obj) ? new options.window.Array([]) : new options.window.Object({}) : (0, import_types.isArray)(obj) ? [] : {};
2590
2617
  for (const prop in obj) {
2591
2618
  if (!Object.prototype.hasOwnProperty.call(obj, prop))
2592
2619
  continue;
2593
2620
  const objProp = obj[prop];
2594
- if (excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
2621
+ if (excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp)) {
2595
2622
  continue;
2623
+ }
2596
2624
  if ((0, import_types.isObjectLike)(objProp)) {
2597
- o[prop] = deepCloneWithExtend3(objProp, excludeFrom, options);
2625
+ o[prop] = deepCloneWithExtend3(objProp, excludeFrom, options, visited);
2598
2626
  } else if ((0, import_types.isFunction)(objProp) && options.window) {
2599
2627
  o[prop] = (options.window || import_globals3.window).eval("(" + objProp.toString() + ")");
2600
- } else
2628
+ } else {
2601
2629
  o[prop] = objProp;
2630
+ }
2602
2631
  }
2603
2632
  return o;
2604
2633
  };
@@ -3057,6 +3086,25 @@ var require_cjs2 = __commonJS({
3057
3086
  }
3058
3087
  }
3059
3088
  };
3089
+ var isCyclic = (obj) => {
3090
+ const seenObjects = [];
3091
+ function detect(obj2) {
3092
+ if (obj2 && typeof obj2 === "object") {
3093
+ if (seenObjects.indexOf(obj2) !== -1) {
3094
+ return true;
3095
+ }
3096
+ seenObjects.push(obj2);
3097
+ for (const key in obj2) {
3098
+ if (Object.hasOwnProperty.call(obj2, key) && detect(obj2[key])) {
3099
+ console.log(obj2, "cycle at " + key);
3100
+ return true;
3101
+ }
3102
+ }
3103
+ }
3104
+ return false;
3105
+ }
3106
+ return detect(obj);
3107
+ };
3060
3108
  }
3061
3109
  });
3062
3110
  var require_function3 = __commonJS2({
@@ -13181,6 +13229,7 @@ var require_iterate = __commonJS({
13181
13229
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
13182
13230
  var iterate_exports = {};
13183
13231
  __export2(iterate_exports, {
13232
+ throughExecProps: () => throughExecProps,
13184
13233
  throughInitialDefine: () => throughInitialDefine,
13185
13234
  throughInitialExec: () => throughInitialExec,
13186
13235
  throughUpdatedDefine: () => throughUpdatedDefine,
@@ -13226,6 +13275,20 @@ var require_iterate = __commonJS({
13226
13275
  }
13227
13276
  return changes;
13228
13277
  };
13278
+ var throughExecProps = (element) => {
13279
+ const { __ref: ref } = element;
13280
+ const { props: props2 } = element;
13281
+ for (const k in props2) {
13282
+ const isDefine = k.startsWith("is") || k.startsWith("has") || k.startsWith("use");
13283
+ const cachedExecProp = ref.__execProps[k];
13284
+ if ((0, import_utils32.isFunction)(cachedExecProp)) {
13285
+ props2[k] = (0, import_utils32.exec)(cachedExecProp, element);
13286
+ } else if (isDefine && (0, import_utils32.isFunction)(props2[k])) {
13287
+ ref.__execProps[k] = props2[k];
13288
+ props2[k] = (0, import_utils32.exec)(props2[k], element);
13289
+ }
13290
+ }
13291
+ };
13229
13292
  var throughInitialDefine = (element) => {
13230
13293
  const { define, context, __ref: ref } = element;
13231
13294
  let defineObj = {};
@@ -13435,6 +13498,7 @@ var require_node2 = __commonJS({
13435
13498
  if ((0, import_utils32.isFunction)(node3.setAttribute))
13436
13499
  node3.setAttribute("key", element.key);
13437
13500
  }
13501
+ (0, import_iterate.throughExecProps)(element);
13438
13502
  (0, import_iterate.throughInitialDefine)(element);
13439
13503
  (0, import_iterate.throughInitialExec)(element);
13440
13504
  if (element.tag !== "string" && element.tag !== "fragment") {
@@ -13568,16 +13632,13 @@ var require_update2 = __commonJS({
13568
13632
  if (beforeUpdateReturns === false)
13569
13633
  return element;
13570
13634
  }
13571
- const overwriteChanges = (0, import_utils32.overwriteDeep)(element, params, import_utils210.METHODS_EXL);
13572
- const execChanges = (0, import_iterate.throughUpdatedExec)(element, { ignore: UPDATE_DEFAULT_OPTIONS });
13573
- const definedChanges = (0, import_iterate.throughUpdatedDefine)(element);
13635
+ (0, import_utils32.overwriteDeep)(element, params, import_utils210.METHODS_EXL);
13636
+ (0, import_iterate.throughExecProps)(element);
13637
+ (0, import_iterate.throughUpdatedExec)(element, { ignore: UPDATE_DEFAULT_OPTIONS });
13638
+ (0, import_iterate.throughUpdatedDefine)(element);
13574
13639
  if (!options.isForced && !options.preventListeners) {
13575
13640
  (0, import_event.triggerEventOn)("beforeClassAssign", element, options);
13576
13641
  }
13577
- if (options.stackChanges && element.__stackChanges) {
13578
- const stackChanges = (0, import_utils32.merge)(definedChanges, (0, import_utils32.merge)(execChanges, overwriteChanges));
13579
- element.__stackChanges.push(stackChanges);
13580
- }
13581
13642
  if (!ref.__if)
13582
13643
  return false;
13583
13644
  if (!node3) {
@@ -14071,6 +14132,8 @@ var require_create4 = __commonJS({
14071
14132
  ref.__defineCache = {};
14072
14133
  if (!ref.__exec)
14073
14134
  ref.__exec = {};
14135
+ if (!ref.__execProps)
14136
+ ref.__execProps = {};
14074
14137
  if (!ref.__class)
14075
14138
  ref.__class = {};
14076
14139
  if (!ref.__classNames)
@@ -18239,14 +18302,14 @@ var applyVariableProps = (key, props2, result, element) => {
18239
18302
  };
18240
18303
  var applyConditionalCaseProps = (key, props2, result, element) => {
18241
18304
  const caseKey = key.slice(1);
18242
- const isPropTrue = element.props[caseKey] || element.state[caseKey] || element[caseKey];
18305
+ const isPropTrue = element.props[caseKey] === true || element.state[caseKey] || element[caseKey];
18243
18306
  if (!isPropTrue)
18244
18307
  return;
18245
18308
  return (0, import_utils7.overwriteDeep)(result, convertPropsToClass(props2, result, element));
18246
18309
  };
18247
18310
  var applyConditionalFalsyProps = (key, props2, result, element) => {
18248
18311
  const caseKey = key.slice(1);
18249
- const isPropTrue = element.props[caseKey] || element.state[caseKey] || element[caseKey];
18312
+ const isPropTrue = element.props[caseKey] === true || element.state[caseKey] || element[caseKey];
18250
18313
  if (!isPropTrue)
18251
18314
  return (0, import_utils7.overwriteDeep)(result, convertPropsToClass(props2, result, element));
18252
18315
  };
@@ -20775,8 +20838,8 @@ var Pills = {
20775
20838
  boxSize: "Y2",
20776
20839
  round: "A",
20777
20840
  background: "currentColor",
20778
- active: parseInt(key) === parseInt(state.active || parent.props.active),
20779
- "!active": { opacity: 0.35 }
20841
+ isActive: parseInt(key) === parseInt(state.active || parent.props.active),
20842
+ "!isActive": { opacity: 0.35 }
20780
20843
  })
20781
20844
  },
20782
20845
  on: {
@@ -21524,6 +21587,8 @@ var DropdownList = {
21524
21587
  style: { listStyleType: "none" },
21525
21588
  transition: "B defaultBezier",
21526
21589
  transitionProperty: "transform, opacity, visibility",
21590
+ children: ({ props: props2 }) => props2.options || [],
21591
+ childrenAs: "props",
21527
21592
  ".hidden": {
21528
21593
  transform: "translate3d(0,10%,0)",
21529
21594
  opacity: 0,
@@ -21533,8 +21598,8 @@ var DropdownList = {
21533
21598
  childExtend: {
21534
21599
  extend: "Button",
21535
21600
  state: {},
21536
- props: ({ key, state }) => ({
21537
- active: state.active === key,
21601
+ props: {
21602
+ isActive: ({ key, state }) => state.active === key,
21538
21603
  position: "relative",
21539
21604
  round: "0",
21540
21605
  align: "center flex-end",
@@ -21549,7 +21614,7 @@ var DropdownList = {
21549
21614
  }
21550
21615
  },
21551
21616
  Icon: {
21552
- active: state.active === key,
21617
+ isActive: ({ key, state }) => state.active === key,
21553
21618
  name: "checkmark",
21554
21619
  opacity: "0.1",
21555
21620
  ".active": { opacity: "1" }
@@ -21559,9 +21624,8 @@ var DropdownList = {
21559
21624
  "@light": { border: "gray11, solid" },
21560
21625
  borderWidth: "1px 0 0"
21561
21626
  }
21562
- })
21563
- },
21564
- $propsCollection: ({ props: props2 }) => props2.options
21627
+ }
21628
+ }
21565
21629
  };
21566
21630
  var DropdownParent = {
21567
21631
  props: {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@symbo.ls/create",
3
- "version": "2.11.449",
3
+ "version": "2.11.450",
4
4
  "license": "MIT",
5
- "gitHead": "4b7f8173844a92575be87e42a3e93bb71ccf4a19",
5
+ "gitHead": "4153a92a328d62db727ee4c99cd53f389ee6e05b",
6
6
  "files": [
7
7
  "src",
8
8
  "dist"
@@ -34,11 +34,11 @@
34
34
  "@domql/emotion": "^2.5.0",
35
35
  "@domql/report": "^2.5.0",
36
36
  "@domql/router": "^2.5.0",
37
- "@symbo.ls/fetch": "^2.11.446",
38
- "@symbo.ls/init": "^2.11.446",
39
- "@symbo.ls/scratch": "^2.11.446",
40
- "@symbo.ls/sync": "^2.11.448",
41
- "@symbo.ls/uikit": "^2.11.448",
37
+ "@symbo.ls/fetch": "^2.11.450",
38
+ "@symbo.ls/init": "^2.11.450",
39
+ "@symbo.ls/scratch": "^2.11.450",
40
+ "@symbo.ls/sync": "^2.11.450",
41
+ "@symbo.ls/uikit": "^2.11.450",
42
42
  "@symbo.ls/utils": "^2.11.446",
43
43
  "domql": "^2.5.0"
44
44
  },