@vitus-labs/rocketstories 2.6.1 → 2.6.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.
Files changed (2) hide show
  1. package/lib/index.js +56 -74
  2. package/package.json +4 -4
package/lib/index.js CHANGED
@@ -476,30 +476,28 @@ var text_default = {
476
476
  * and component-specific default controls.
477
477
  */
478
478
  /** Normalizes user-supplied control shorthand (string or object) into full ControlConfiguration objects. */
479
- const createControls = (props) => Object.entries(props).reduce((acc, [key, value]) => {
480
- if (typeof value === "string") return {
481
- ...acc,
482
- [key]: { type: value }
483
- };
484
- if (typeof value === "object" && value !== null) return {
485
- ...acc,
486
- [key]: value
487
- };
488
- return acc;
489
- }, {});
479
+ const createControls = (props) => {
480
+ const result = {};
481
+ for (const key in props) {
482
+ const value = props[key];
483
+ if (typeof value === "string") result[key] = { type: value };
484
+ else if (typeof value === "object" && value !== null) result[key] = value;
485
+ }
486
+ return result;
487
+ };
490
488
  /** Converts rocketstyle dimension metadata into select/multi-select Storybook controls. */
491
- const convertDimensionsToControls = ({ dimensions, multiKeys }) => Object.entries(dimensions).reduce((acc, [key, value]) => {
492
- const valueKeys = Object.keys(value);
493
- const control = {
494
- type: !!multiKeys[key] ? "multi-select" : "select",
495
- options: valueKeys,
496
- group: "Dimensions [Rocketstyle (Vitus-Labs)]"
497
- };
498
- return {
499
- ...acc,
500
- [key]: control
501
- };
502
- }, {});
489
+ const convertDimensionsToControls = ({ dimensions, multiKeys }) => {
490
+ const result = {};
491
+ for (const key in dimensions) {
492
+ const value = dimensions[key];
493
+ result[key] = {
494
+ type: multiKeys[key] ? "multi-select" : "select",
495
+ options: Object.keys(value),
496
+ group: "Dimensions [Rocketstyle (Vitus-Labs)]"
497
+ };
498
+ }
499
+ return result;
500
+ };
503
501
  /** Returns pre-defined controls based on the component's Vitus Labs type (Element, List, Text, Overlay). */
504
502
  const getDefaultVitusLabsControls = (component) => {
505
503
  const { IS_ROCKETSTYLE, VITUS_LABS__COMPONENT } = component;
@@ -531,18 +529,13 @@ const makeStorybookControls = (obj, props) => Object.entries(obj).reduce((acc, [
531
529
  };
532
530
  return acc;
533
531
  }, {});
534
- const disableControl = (name) => ({ [name]: { table: { disable: true } } });
535
532
  const disableDimensionControls = (dimensions, dimensionName) => {
536
- const result = dimensionName ? disableControl(dimensionName) : {};
537
- return Object.values(dimensions).reduce((acc, value) => {
538
- Object.keys(value).forEach((item) => {
539
- acc = {
540
- ...acc,
541
- ...disableControl(item)
542
- };
543
- });
544
- return acc;
545
- }, result);
533
+ const result = dimensionName ? { [dimensionName]: { table: { disable: true } } } : {};
534
+ for (const key in dimensions) {
535
+ const value = dimensions[key];
536
+ for (const item in value) result[item] = { table: { disable: true } };
537
+ }
538
+ return result;
546
539
  };
547
540
 
548
541
  //#endregion
@@ -638,37 +631,29 @@ component$1.displayName = "@vitus-labs/rocketstories/Empty";
638
631
 
639
632
  //#endregion
640
633
  //#region src/utils/code.ts
641
- const parseProps = (props) => Object.entries(props).reduce((acc, [key, value]) => {
642
- if (value === null) return acc;
643
- const valueType = typeof value;
644
- if ([
645
- "string",
646
- "number",
647
- "boolean",
648
- "bigint"
649
- ].includes(valueType)) return {
650
- ...acc,
651
- [key]: value
652
- };
653
- if (Array.isArray(value)) return {
654
- ...acc,
655
- [key]: value
656
- };
657
- if (valueType === "object") {
658
- const type = get(value, "type");
659
- const options = get(value, "options");
660
- const defaultValue = get(value, "value");
661
- if (type && options && defaultValue) return {
662
- ...acc,
663
- [key]: defaultValue || options
664
- };
665
- return {
666
- ...acc,
667
- [key]: value
668
- };
634
+ const parseProps = (props) => {
635
+ const result = {};
636
+ for (const key in props) {
637
+ const value = props[key];
638
+ if (value === null) continue;
639
+ const valueType = typeof value;
640
+ if (valueType === "string" || valueType === "number" || valueType === "boolean" || valueType === "bigint") {
641
+ result[key] = value;
642
+ continue;
643
+ }
644
+ if (Array.isArray(value)) {
645
+ result[key] = value;
646
+ continue;
647
+ }
648
+ if (valueType === "object") {
649
+ const type = get(value, "type");
650
+ const options = get(value, "options");
651
+ const defaultValue = get(value, "value");
652
+ result[key] = type && options && defaultValue ? defaultValue || options : value;
653
+ }
669
654
  }
670
- return acc;
671
- }, {});
655
+ return result;
656
+ };
672
657
  const stringifyArray = (props) => {
673
658
  let result = "[";
674
659
  const arrayLength = props.length;
@@ -914,16 +899,13 @@ const renderDimension = (dimension, { name, component: component$2, attrs = {},
914
899
  //#region src/utils/dimensions.ts
915
900
  const extractDefaultBooleanProps = ({ dimensions, multiKeys, useBooleans }) => {
916
901
  if (!useBooleans) return null;
917
- return Object.entries(dimensions).reduce((acc, [key, value]) => {
918
- if (!multiKeys[key]) {
919
- const propName = Object.keys(value)[0];
920
- return {
921
- ...acc,
922
- [propName]: true
923
- };
924
- }
925
- return acc;
926
- }, {});
902
+ const result = {};
903
+ for (const key in dimensions) if (!multiKeys[key]) {
904
+ const value = dimensions[key];
905
+ const propName = Object.keys(value)[0];
906
+ result[propName] = true;
907
+ }
908
+ return result;
927
909
  };
928
910
 
929
911
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/rocketstories",
3
- "version": "2.6.1",
3
+ "version": "2.6.2",
4
4
  "license": "MIT",
5
5
  "author": "Vit Bokisch <vit@bokisch.cz>",
6
6
  "maintainers": [
@@ -65,9 +65,9 @@
65
65
  },
66
66
  "peerDependencies": {
67
67
  "@storybook/react": "^10.3.6",
68
- "@vitus-labs/core": "^2.6.1",
69
- "@vitus-labs/rocketstyle": "^2.6.1",
70
- "@vitus-labs/unistyle": "^2.6.1",
68
+ "@vitus-labs/core": "^2.6.2",
69
+ "@vitus-labs/rocketstyle": "^2.6.2",
70
+ "@vitus-labs/unistyle": "^2.6.2",
71
71
  "react": ">= 19"
72
72
  },
73
73
  "dependencies": {