qstd 0.2.17 → 0.2.19

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 (128) hide show
  1. package/dist/block/fns.d.ts +1 -0
  2. package/dist/block/fns.d.ts.map +1 -1
  3. package/dist/block/index.d.ts +6 -2
  4. package/dist/block/index.d.ts.map +1 -1
  5. package/dist/react/index.cjs +25 -13
  6. package/dist/react/index.js +25 -13
  7. package/package.json +2 -1
  8. package/styled-system/css/conditions.mjs +36 -0
  9. package/styled-system/css/css.d.ts +22 -0
  10. package/styled-system/css/css.mjs +45 -0
  11. package/styled-system/css/cva.d.ts +6 -0
  12. package/styled-system/css/cva.mjs +87 -0
  13. package/styled-system/css/cx.d.ts +5 -0
  14. package/styled-system/css/cx.mjs +15 -0
  15. package/styled-system/css/index.d.ts +5 -0
  16. package/styled-system/css/index.mjs +4 -0
  17. package/styled-system/css/sva.d.ts +4 -0
  18. package/styled-system/css/sva.mjs +46 -0
  19. package/styled-system/helpers.mjs +328 -0
  20. package/styled-system/jsx/aspect-ratio.d.ts +10 -0
  21. package/styled-system/jsx/aspect-ratio.mjs +14 -0
  22. package/styled-system/jsx/bleed.d.ts +10 -0
  23. package/styled-system/jsx/bleed.mjs +14 -0
  24. package/styled-system/jsx/box.d.ts +10 -0
  25. package/styled-system/jsx/box.mjs +14 -0
  26. package/styled-system/jsx/center.d.ts +10 -0
  27. package/styled-system/jsx/center.mjs +14 -0
  28. package/styled-system/jsx/circle.d.ts +10 -0
  29. package/styled-system/jsx/circle.mjs +14 -0
  30. package/styled-system/jsx/container.d.ts +10 -0
  31. package/styled-system/jsx/container.mjs +14 -0
  32. package/styled-system/jsx/cq.d.ts +10 -0
  33. package/styled-system/jsx/cq.mjs +14 -0
  34. package/styled-system/jsx/create-style-context.d.ts +54 -0
  35. package/styled-system/jsx/create-style-context.mjs +98 -0
  36. package/styled-system/jsx/divider.d.ts +10 -0
  37. package/styled-system/jsx/divider.mjs +14 -0
  38. package/styled-system/jsx/factory-helper.mjs +22 -0
  39. package/styled-system/jsx/factory.d.ts +3 -0
  40. package/styled-system/jsx/factory.mjs +89 -0
  41. package/styled-system/jsx/flex.d.ts +10 -0
  42. package/styled-system/jsx/flex.mjs +14 -0
  43. package/styled-system/jsx/float.d.ts +10 -0
  44. package/styled-system/jsx/float.mjs +14 -0
  45. package/styled-system/jsx/grid-item.d.ts +10 -0
  46. package/styled-system/jsx/grid-item.mjs +14 -0
  47. package/styled-system/jsx/grid.d.ts +10 -0
  48. package/styled-system/jsx/grid.mjs +14 -0
  49. package/styled-system/jsx/hstack.d.ts +10 -0
  50. package/styled-system/jsx/hstack.mjs +14 -0
  51. package/styled-system/jsx/index.d.ts +25 -0
  52. package/styled-system/jsx/index.mjs +23 -0
  53. package/styled-system/jsx/is-valid-prop.d.ts +11 -0
  54. package/styled-system/jsx/is-valid-prop.mjs +17 -0
  55. package/styled-system/jsx/link-overlay.d.ts +10 -0
  56. package/styled-system/jsx/link-overlay.mjs +14 -0
  57. package/styled-system/jsx/spacer.d.ts +10 -0
  58. package/styled-system/jsx/spacer.mjs +14 -0
  59. package/styled-system/jsx/square.d.ts +10 -0
  60. package/styled-system/jsx/square.mjs +14 -0
  61. package/styled-system/jsx/stack.d.ts +10 -0
  62. package/styled-system/jsx/stack.mjs +14 -0
  63. package/styled-system/jsx/visually-hidden.d.ts +10 -0
  64. package/styled-system/jsx/visually-hidden.mjs +14 -0
  65. package/styled-system/jsx/vstack.d.ts +10 -0
  66. package/styled-system/jsx/vstack.mjs +14 -0
  67. package/styled-system/jsx/wrap.d.ts +10 -0
  68. package/styled-system/jsx/wrap.mjs +14 -0
  69. package/styled-system/patterns/aspect-ratio.d.ts +20 -0
  70. package/styled-system/patterns/aspect-ratio.mjs +38 -0
  71. package/styled-system/patterns/bleed.d.ts +21 -0
  72. package/styled-system/patterns/bleed.mjs +24 -0
  73. package/styled-system/patterns/box.d.ts +20 -0
  74. package/styled-system/patterns/box.mjs +15 -0
  75. package/styled-system/patterns/center.d.ts +20 -0
  76. package/styled-system/patterns/center.mjs +21 -0
  77. package/styled-system/patterns/circle.d.ts +20 -0
  78. package/styled-system/patterns/circle.mjs +25 -0
  79. package/styled-system/patterns/container.d.ts +20 -0
  80. package/styled-system/patterns/container.mjs +21 -0
  81. package/styled-system/patterns/cq.d.ts +21 -0
  82. package/styled-system/patterns/cq.mjs +21 -0
  83. package/styled-system/patterns/divider.d.ts +22 -0
  84. package/styled-system/patterns/divider.mjs +25 -0
  85. package/styled-system/patterns/flex.d.ts +26 -0
  86. package/styled-system/patterns/flex.mjs +26 -0
  87. package/styled-system/patterns/float.d.ts +23 -0
  88. package/styled-system/patterns/float.mjs +52 -0
  89. package/styled-system/patterns/grid-item.d.ts +25 -0
  90. package/styled-system/patterns/grid-item.mjs +25 -0
  91. package/styled-system/patterns/grid.d.ts +24 -0
  92. package/styled-system/patterns/grid.mjs +27 -0
  93. package/styled-system/patterns/hstack.d.ts +21 -0
  94. package/styled-system/patterns/hstack.mjs +24 -0
  95. package/styled-system/patterns/index.d.ts +21 -0
  96. package/styled-system/patterns/index.mjs +20 -0
  97. package/styled-system/patterns/link-overlay.d.ts +20 -0
  98. package/styled-system/patterns/link-overlay.mjs +24 -0
  99. package/styled-system/patterns/spacer.d.ts +20 -0
  100. package/styled-system/patterns/spacer.mjs +21 -0
  101. package/styled-system/patterns/square.d.ts +20 -0
  102. package/styled-system/patterns/square.mjs +24 -0
  103. package/styled-system/patterns/stack.d.ts +23 -0
  104. package/styled-system/patterns/stack.mjs +24 -0
  105. package/styled-system/patterns/visually-hidden.d.ts +20 -0
  106. package/styled-system/patterns/visually-hidden.mjs +18 -0
  107. package/styled-system/patterns/vstack.d.ts +21 -0
  108. package/styled-system/patterns/vstack.mjs +24 -0
  109. package/styled-system/patterns/wrap.d.ts +24 -0
  110. package/styled-system/patterns/wrap.mjs +25 -0
  111. package/styled-system/styles.css +1733 -0
  112. package/styled-system/tokens/index.d.ts +9 -0
  113. package/styled-system/tokens/index.mjs +1976 -0
  114. package/styled-system/tokens/tokens.d.ts +60 -0
  115. package/styled-system/types/composition.d.ts +224 -0
  116. package/styled-system/types/conditions.d.ts +348 -0
  117. package/styled-system/types/csstype.d.ts +21298 -0
  118. package/styled-system/types/global.d.ts +20 -0
  119. package/styled-system/types/index.d.ts +8 -0
  120. package/styled-system/types/jsx.d.ts +67 -0
  121. package/styled-system/types/parts.d.ts +8 -0
  122. package/styled-system/types/pattern.d.ts +78 -0
  123. package/styled-system/types/prop-type.d.ts +277 -0
  124. package/styled-system/types/recipe.d.ts +181 -0
  125. package/styled-system/types/selectors.d.ts +59 -0
  126. package/styled-system/types/static-css.d.ts +56 -0
  127. package/styled-system/types/style-props.d.ts +7639 -0
  128. package/styled-system/types/system-types.d.ts +269 -0
@@ -36,6 +36,7 @@ export declare const extractElType: (is: _t.Is, props: {
36
36
  isBtnLike: boolean;
37
37
  isAccordion: boolean;
38
38
  filepickerAllowed: boolean | undefined;
39
+ isVoidElement: boolean;
39
40
  isTextarea: boolean;
40
41
  isCheckbox: boolean;
41
42
  isSkeleton: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../src/block/fns.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../src/block/fns.tsx"],"names":[],"mappings":"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"}
@@ -11,10 +11,14 @@ import * as _t from "./types";
11
11
  declare function Block<T extends _t.Is>(props: _t.BlockProps<T>): React.ReactElement;
12
12
  declare function Block(props: _t.BaseBlockProps): React.ReactElement;
13
13
  declare const TooltipNamespace: {
14
- readonly Container: React.ForwardRefExoticComponent<Omit<_t.BaseBlockProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
+ readonly Container: React.ForwardRefExoticComponent<Omit<_t.BaseBlockProps, "ref"> & React.RefAttributes<HTMLDivElement>> & {
15
+ isBlockTooltipContainer: true;
16
+ };
15
17
  };
16
18
  declare const MenuNamespace: {
17
- readonly Container: typeof MenuContainer;
19
+ readonly Container: typeof MenuContainer & {
20
+ isBlockMenuContainer: true;
21
+ };
18
22
  };
19
23
  declare const InputNamespace: {
20
24
  readonly Label: typeof InputLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAa,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAChD,OAAc,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAiB,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAkB,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI1D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAM9B,iBAAS,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;AAC7E,iBAAS,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC;AAyJ7D,QAAA,MAAM,gBAAgB;;CAA2C,CAAC;AAGlE,QAAA,MAAM,aAAa;;CAAwC,CAAC;AAG5D,QAAA,MAAM,cAAc;;;;CAIV,CAAC;AAGX,QAAA,MAAM,iBAAiB;;CAEb,CAAC;AAGX,QAAA,MAAM,cAAc;;CAEV,CAAC;AAGX,QAAA,MAAM,eAAe;;;CAA4B,CAAC;AAGlD,QAAA,MAAM,kBAAkB;;CAEd,CAAC;AAGX,QAAA,MAAM,eAAe;;;CAGX,CAAC;AAGX,QAAA,MAAM,iBAAiB;;;CAGb,CAAC;AAEX;;;GAGG;AACH,KAAK,cAAc,GAAG,OAAO,KAAK,GAAG;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,eAAe,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,eAAe,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,kBAAkB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,cAAc,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,cAAc,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC;CACrC,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,cAUM,CAAC;AAE5B,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAa,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAChD,OAAc,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAiB,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAkB,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI1D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAM9B,iBAAS,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;AAC7E,iBAAS,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC;AAoK7D,QAAA,MAAM,gBAAgB;;;;CAAiD,CAAC;AAGxE,QAAA,MAAM,aAAa;;;;CAA8C,CAAC;AAGlE,QAAA,MAAM,cAAc;;;;CAIV,CAAC;AAGX,QAAA,MAAM,iBAAiB;;CAEb,CAAC;AAGX,QAAA,MAAM,cAAc;;CAEV,CAAC;AAGX,QAAA,MAAM,eAAe;;;CAA4B,CAAC;AAGlD,QAAA,MAAM,kBAAkB;;CAEd,CAAC;AAGX,QAAA,MAAM,eAAe;;;CAGX,CAAC;AAGX,QAAA,MAAM,iBAAiB;;;CAGb,CAAC;AAEX;;;GAGG;AACH,KAAK,cAAc,GAAG,OAAO,KAAK,GAAG;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,eAAe,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,eAAe,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,kBAAkB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,cAAc,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,cAAc,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC;CACrC,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,cAUM,CAAC;AAE5B,eAAe,aAAa,CAAC"}
@@ -1017,6 +1017,7 @@ var extractElType = (is, props) => {
1017
1017
  const isAccordion = is === "accordion";
1018
1018
  const isBtnLike = is === "btn" || is === "link";
1019
1019
  const filepickerAllowed = !is && props.filepicker || is && (is === "txt" || is === "btn" || is === "link" || is === "img") && props.filepicker;
1020
+ const isVoidElement = el === "img" || el === "input" || el === "hr";
1020
1021
  return {
1021
1022
  el,
1022
1023
  is,
@@ -1028,6 +1029,7 @@ var extractElType = (is, props) => {
1028
1029
  isBtnLike,
1029
1030
  isAccordion,
1030
1031
  filepickerAllowed,
1032
+ isVoidElement,
1031
1033
  isTextarea,
1032
1034
  isCheckbox,
1033
1035
  isSkeleton,
@@ -3497,17 +3499,26 @@ function Block(props) {
3497
3499
  multiple,
3498
3500
  accept: anyProps.accept,
3499
3501
  style: { display: "none" },
3500
- onChange: async (e) => {
3502
+ onChange: (e) => {
3501
3503
  const files = Array.from(e.target.files ?? []);
3502
- const selectedFiles = files.length ? await prepareFiles(files) : [];
3503
- if (anyProps.onChange) {
3504
- anyProps.onChange(selectedFiles);
3504
+ if (files.length) {
3505
+ void prepareFiles(files).then((selectedFiles) => {
3506
+ if (anyProps.onChange) {
3507
+ anyProps.onChange(selectedFiles);
3508
+ }
3509
+ });
3510
+ } else if (anyProps.onChange) {
3511
+ anyProps.onChange([]);
3505
3512
  }
3506
3513
  },
3507
3514
  value: ""
3508
3515
  }
3509
3516
  )
3510
- ] }) : React12__namespace.createElement(
3517
+ ] }) : extract.isVoidElement ? React12__namespace.createElement(Comp, {
3518
+ ...isLoading && { "data-loading": isLoading },
3519
+ onContextMenu: (e) => e.preventDefault(),
3520
+ ...initialStyles
3521
+ }) : React12__namespace.createElement(
3511
3522
  Comp,
3512
3523
  {
3513
3524
  ...isLoading && { "data-loading": isLoading },
@@ -3527,18 +3538,19 @@ function Block(props) {
3527
3538
  const portalContainer = rest.portalContainer;
3528
3539
  const fallback = document.getElementById("portal") || document.body;
3529
3540
  const container = portalContainer ?? fallback;
3530
- return reactDom.createPortal(
3531
- component,
3532
- container
3533
- );
3541
+ return reactDom.createPortal(component, container);
3534
3542
  } else {
3535
3543
  return component;
3536
3544
  }
3537
3545
  }
3538
- TooltipContainer.isBlockTooltipContainer = true;
3539
- MenuContainer.isBlockMenuContainer = true;
3540
- var TooltipNamespace = { Container: TooltipContainer };
3541
- var MenuNamespace = { Container: MenuContainer };
3546
+ var TaggedTooltipContainer = Object.assign(TooltipContainer, {
3547
+ isBlockTooltipContainer: true
3548
+ });
3549
+ var TaggedMenuContainer = Object.assign(MenuContainer, {
3550
+ isBlockMenuContainer: true
3551
+ });
3552
+ var TooltipNamespace = { Container: TaggedTooltipContainer };
3553
+ var MenuNamespace = { Container: TaggedMenuContainer };
3542
3554
  var InputNamespace = {
3543
3555
  Label: Label2,
3544
3556
  RightSide,
@@ -994,6 +994,7 @@ var extractElType = (is, props) => {
994
994
  const isAccordion = is === "accordion";
995
995
  const isBtnLike = is === "btn" || is === "link";
996
996
  const filepickerAllowed = !is && props.filepicker || is && (is === "txt" || is === "btn" || is === "link" || is === "img") && props.filepicker;
997
+ const isVoidElement = el === "img" || el === "input" || el === "hr";
997
998
  return {
998
999
  el,
999
1000
  is,
@@ -1005,6 +1006,7 @@ var extractElType = (is, props) => {
1005
1006
  isBtnLike,
1006
1007
  isAccordion,
1007
1008
  filepickerAllowed,
1009
+ isVoidElement,
1008
1010
  isTextarea,
1009
1011
  isCheckbox,
1010
1012
  isSkeleton,
@@ -3474,17 +3476,26 @@ function Block(props) {
3474
3476
  multiple,
3475
3477
  accept: anyProps.accept,
3476
3478
  style: { display: "none" },
3477
- onChange: async (e) => {
3479
+ onChange: (e) => {
3478
3480
  const files = Array.from(e.target.files ?? []);
3479
- const selectedFiles = files.length ? await prepareFiles(files) : [];
3480
- if (anyProps.onChange) {
3481
- anyProps.onChange(selectedFiles);
3481
+ if (files.length) {
3482
+ void prepareFiles(files).then((selectedFiles) => {
3483
+ if (anyProps.onChange) {
3484
+ anyProps.onChange(selectedFiles);
3485
+ }
3486
+ });
3487
+ } else if (anyProps.onChange) {
3488
+ anyProps.onChange([]);
3482
3489
  }
3483
3490
  },
3484
3491
  value: ""
3485
3492
  }
3486
3493
  )
3487
- ] }) : React12.createElement(
3494
+ ] }) : extract.isVoidElement ? React12.createElement(Comp, {
3495
+ ...isLoading && { "data-loading": isLoading },
3496
+ onContextMenu: (e) => e.preventDefault(),
3497
+ ...initialStyles
3498
+ }) : React12.createElement(
3488
3499
  Comp,
3489
3500
  {
3490
3501
  ...isLoading && { "data-loading": isLoading },
@@ -3504,18 +3515,19 @@ function Block(props) {
3504
3515
  const portalContainer = rest.portalContainer;
3505
3516
  const fallback = document.getElementById("portal") || document.body;
3506
3517
  const container = portalContainer ?? fallback;
3507
- return createPortal(
3508
- component,
3509
- container
3510
- );
3518
+ return createPortal(component, container);
3511
3519
  } else {
3512
3520
  return component;
3513
3521
  }
3514
3522
  }
3515
- TooltipContainer.isBlockTooltipContainer = true;
3516
- MenuContainer.isBlockMenuContainer = true;
3517
- var TooltipNamespace = { Container: TooltipContainer };
3518
- var MenuNamespace = { Container: MenuContainer };
3523
+ var TaggedTooltipContainer = Object.assign(TooltipContainer, {
3524
+ isBlockTooltipContainer: true
3525
+ });
3526
+ var TaggedMenuContainer = Object.assign(MenuContainer, {
3527
+ isBlockMenuContainer: true
3528
+ });
3529
+ var TooltipNamespace = { Container: TaggedTooltipContainer };
3530
+ var MenuNamespace = { Container: TaggedMenuContainer };
3519
3531
  var InputNamespace = {
3520
3532
  Label: Label2,
3521
3533
  RightSide,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qstd",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "description": "Standard Block component and utilities library with Panda CSS",
5
5
  "author": "malin1",
6
6
  "license": "MIT",
@@ -34,6 +34,7 @@
34
34
  },
35
35
  "files": [
36
36
  "dist",
37
+ "styled-system",
37
38
  "panda.config.ts",
38
39
  "README.md",
39
40
  "CHANGELOG.md"
@@ -0,0 +1,36 @@
1
+ import { withoutSpace } from '../helpers.mjs';
2
+
3
+ const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_noscript,_invertedColors,_activeMouse,_activeKeyboard,_checkbox,_radioLabel,_radioDisabled,_radioSelected,_radioCircleOuter,_radioCircleInner,_radioFocusRing,_path,_svg,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,xsToSm,xsToMd,xsToLg,xsToXl,xsTo2xl,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,base"
4
+ const conditions = new Set(conditionsStr.split(','))
5
+
6
+ const conditionRegex = /^@|&|&$/
7
+
8
+ export function isCondition(value){
9
+ return conditions.has(value) || conditionRegex.test(value)
10
+ }
11
+
12
+ const underscoreRegex = /^_/
13
+ const conditionsSelectorRegex = /&|@/
14
+
15
+ export function finalizeConditions(paths){
16
+ return paths.map((path) => {
17
+ if (conditions.has(path)){
18
+ return path.replace(underscoreRegex, '')
19
+ }
20
+
21
+ if (conditionsSelectorRegex.test(path)){
22
+ return `[${withoutSpace(path.trim())}]`
23
+ }
24
+
25
+ return path
26
+ })}
27
+
28
+ export function sortConditions(paths){
29
+ return paths.sort((a, b) => {
30
+ const aa = isCondition(a)
31
+ const bb = isCondition(b)
32
+ if (aa && !bb) return 1
33
+ if (!aa && bb) return -1
34
+ return 0
35
+ })
36
+ }
@@ -0,0 +1,22 @@
1
+ /* eslint-disable */
2
+ import type { SystemStyleObject } from '../types/index';
3
+
4
+ type Styles = SystemStyleObject | undefined | null | false
5
+
6
+ interface CssRawFunction {
7
+ (styles: Styles): SystemStyleObject
8
+ (styles: Styles[]): SystemStyleObject
9
+ (...styles: Array<Styles | Styles[]>): SystemStyleObject
10
+ (styles: Styles): SystemStyleObject
11
+ }
12
+
13
+ interface CssFunction {
14
+ (styles: Styles): string
15
+ (styles: Styles[]): string
16
+ (...styles: Array<Styles | Styles[]>): string
17
+ (styles: Styles): string
18
+
19
+ raw: CssRawFunction
20
+ }
21
+
22
+ export declare const css: CssFunction;
@@ -0,0 +1,45 @@
1
+ import { createCss, createMergeCss, hypenateProperty, withoutSpace } from '../helpers.mjs';
2
+ import { sortConditions, finalizeConditions } from './conditions.mjs';
3
+
4
+ const utilities = "aspectRatio:asp/ar,boxDecorationBreak:bx-db,zIndex:z,boxSizing:bx-s,objectPosition:obj-p,objectFit:obj-f,overscrollBehavior:ovs-b,overscrollBehaviorX:ovs-bx,overscrollBehaviorY:ovs-by,position:pos/1,top:top,left:left,inset:inset,insetInline:inset-x/insetX,insetBlock:inset-y/insetY,insetBlockEnd:inset-be,insetBlockStart:inset-bs,insetInlineEnd:inset-e/insetEnd/end,insetInlineStart:inset-s/insetStart/start,right:right,bottom:bottom,float:float,visibility:vis,display:d,hideFrom:hide,hideBelow:show,flexBasis:flex-b,flex:flex,flexDirection:flex-d/flexDir,flexGrow:flex-g,flexShrink:flex-sh,gridTemplateColumns:grid-tc,gridTemplateRows:grid-tr,gridColumn:grid-c,gridRow:grid-r,gridColumnStart:grid-cs/colStart,gridColumnEnd:grid-ce/colEnd,gridAutoFlow:grid-af,gridAutoColumns:grid-ac/autoCols,gridAutoRows:grid-ar,gap:gap,gridGap:grid-g,gridRowGap:grid-rg,gridColumnGap:grid-cg,rowGap:rg/rowG,columnGap:cg/colG,justifyContent:jc,alignContent:ac,alignItems:ai,alignSelf:as,padding:p/1,paddingLeft:pl/1,paddingRight:pr/1,paddingTop:pt/1,paddingBottom:pb/1,paddingBlock:py/1/paddingY,paddingBlockEnd:pbe,paddingBlockStart:pbs,paddingInline:px/paddingX/1,paddingInlineEnd:pe/1/paddingEnd,paddingInlineStart:ps/1/paddingStart,marginLeft:ml/1,marginRight:mr/1,marginTop:mt/1,marginBottom:mb/1,margin:m/1,marginBlock:my/1/marginY,marginBlockEnd:mbe,marginBlockStart:mbs,marginInline:mx/1/marginX,marginInlineEnd:me/1/marginEnd,marginInlineStart:ms/1/marginStart,spaceX:sx,spaceY:sy,outlineWidth:ring-w/ringWidth,outlineColor:ring-c/ringColor,outline:ring/1,outlineOffset:ring-o/ringOffset,focusRing:focus-ring,focusVisibleRing:focus-v-ring,focusRingColor:focus-ring-c,focusRingOffset:focus-ring-o,focusRingWidth:focus-ring-w,focusRingStyle:focus-ring-s,divideX:dvd-x,divideY:dvd-y,divideColor:dvd-c,divideStyle:dvd-s,width:w/1,inlineSize:w-is,minWidth:min-w/minW,minInlineSize:min-w-is,maxWidth:max-w/maxW,maxInlineSize:max-w-is,height:h/1,blockSize:h-bs,minHeight:min-h/minH,minBlockSize:min-h-bs,maxHeight:max-h/maxH,maxBlockSize:max-b,boxSize:size,color:c,fontFamily:ff,fontSize:fs,fontSizeAdjust:fs-a,fontPalette:fp,fontKerning:fk,fontFeatureSettings:ff-s,fontWeight:fw,fontSmoothing:fsmt,fontVariant:fv,fontVariantAlternates:fv-alt,fontVariantCaps:fv-caps,fontVariationSettings:fv-s,fontVariantNumeric:fv-num,letterSpacing:ls,lineHeight:lh,textAlign:ta,textDecoration:td,textDecorationColor:td-c,textEmphasisColor:te-c,textDecorationStyle:td-s,textDecorationThickness:td-t,textUnderlineOffset:tu-o,textTransform:tt,textIndent:ti,textShadow:tsh,textShadowColor:tsh-c/textShadowColor,textOverflow:tov,verticalAlign:va,wordBreak:wb,textWrap:tw,truncate:trunc,lineClamp:lc,listStyleType:li-t,listStylePosition:li-pos,listStyleImage:li-img,listStyle:li-s,backgroundPosition:bg-p/bgPosition,backgroundPositionX:bg-p-x/bgPositionX,backgroundPositionY:bg-p-y/bgPositionY,backgroundAttachment:bg-a/bgAttachment,backgroundClip:bg-cp/bgClip,background:bg/1,backgroundColor:bg-c/bgColor,backgroundOrigin:bg-o/bgOrigin,backgroundImage:bg-i/bgImage,backgroundRepeat:bg-r/bgRepeat,backgroundBlendMode:bg-bm/bgBlendMode,backgroundSize:bg-s/bgSize,backgroundGradient:bg-grad/bgGradient,backgroundLinear:bg-linear/bgLinear,backgroundRadial:bg-radial/bgRadial,backgroundConic:bg-conic/bgConic,textGradient:txt-grad,gradientFromPosition:grad-from-pos,gradientToPosition:grad-to-pos,gradientFrom:grad-from,gradientTo:grad-to,gradientVia:grad-via,gradientViaPosition:grad-via-pos,borderRadius:rounded/br,borderTopLeftRadius:bdr-tl/roundedTopLeft,borderTopRightRadius:bdr-tr/roundedTopRight,borderBottomRightRadius:bdr-br/roundedBottomRight,borderBottomLeftRadius:bdr-bl/roundedBottomLeft,borderTopRadius:bdr-t/roundedTop,borderRightRadius:bdr-r/roundedRight,borderBottomRadius:bdr-b/roundedBottom,borderLeftRadius:bdr-l/roundedLeft,borderStartStartRadius:bdr-ss/roundedStartStart,borderStartEndRadius:bdr-se/roundedStartEnd,borderStartRadius:bdr-s/roundedStart,borderEndStartRadius:bdr-es/roundedEndStart,borderEndEndRadius:bdr-ee/roundedEndEnd,borderEndRadius:bdr-e/roundedEnd,border:bd,borderWidth:bd-w,borderTopWidth:bd-t-w,borderLeftWidth:bd-l-w,borderRightWidth:bd-r-w,borderBottomWidth:bd-b-w,borderBlockStartWidth:bd-bs-w,borderBlockEndWidth:bd-be-w,borderColor:bd-c,borderInline:bd-x/borderX,borderInlineWidth:bd-x-w/borderXWidth,borderInlineColor:bd-x-c/borderXColor,borderBlock:bd-y/borderY,borderBlockWidth:bd-y-w/borderYWidth,borderBlockColor:bd-y-c/borderYColor,borderLeft:bd-l,borderLeftColor:bd-l-c,borderInlineStart:bd-s/borderStart,borderInlineStartWidth:bd-s-w/borderStartWidth,borderInlineStartColor:bd-s-c/borderStartColor,borderRight:bd-r,borderRightColor:bd-r-c,borderInlineEnd:bd-e/borderEnd,borderInlineEndWidth:bd-e-w/borderEndWidth,borderInlineEndColor:bd-e-c/borderEndColor,borderTop:bd-t,borderTopColor:bd-t-c,borderBottom:bd-b,borderBottomColor:bd-b-c,borderBlockEnd:bd-be,borderBlockEndColor:bd-be-c,borderBlockStart:bd-bs,borderBlockStartColor:bd-bs-c,opacity:op,boxShadow:bx-sh/shadow,boxShadowColor:bx-sh-c/shadowColor,mixBlendMode:mix-bm,filter:filter,brightness:brightness,contrast:contrast,grayscale:grayscale,hueRotate:hue-rotate,invert:invert,saturate:saturate,sepia:sepia,dropShadow:drop-shadow,blur:blur,backdropFilter:bkdp,backdropBlur:bkdp-blur,backdropBrightness:bkdp-brightness,backdropContrast:bkdp-contrast,backdropGrayscale:bkdp-grayscale,backdropHueRotate:bkdp-hue-rotate,backdropInvert:bkdp-invert,backdropOpacity:bkdp-opacity,backdropSaturate:bkdp-saturate,backdropSepia:bkdp-sepia,borderCollapse:bd-cl,borderSpacing:bd-sp,borderSpacingX:bd-sx,borderSpacingY:bd-sy,tableLayout:tbl,transitionTimingFunction:trs-tmf,transitionDelay:trs-dly,transitionDuration:trs-dur,transitionProperty:trs-prop,transition:trs,animation:anim,animationName:anim-n,animationTimingFunction:anim-tmf,animationDuration:anim-dur,animationDelay:anim-dly,animationPlayState:anim-ps,animationComposition:anim-comp,animationFillMode:anim-fm,animationDirection:anim-dir,animationIterationCount:anim-ic,animationRange:anim-r,animationState:anim-s,animationRangeStart:anim-rs,animationRangeEnd:anim-re,animationTimeline:anim-tl,transformOrigin:trf-o,transformBox:trf-b,transformStyle:trf-s,transform:trf,rotate:rotate,rotateX:rotate-x,rotateY:rotate-y,rotateZ:rotate-z,scale:scale,scaleX:scale-x,scaleY:scale-y,translate:translate,translateX:translate-x/x,translateY:translate-y/y,translateZ:translate-z/z,accentColor:ac-c,caretColor:ca-c,scrollBehavior:scr-bhv,scrollbar:scr-bar,scrollbarColor:scr-bar-c,scrollbarGutter:scr-bar-g,scrollbarWidth:scr-bar-w,scrollMargin:scr-m,scrollMarginLeft:scr-ml,scrollMarginRight:scr-mr,scrollMarginTop:scr-mt,scrollMarginBottom:scr-mb,scrollMarginBlock:scr-my/scrollMarginY,scrollMarginBlockEnd:scr-mbe,scrollMarginBlockStart:scr-mbt,scrollMarginInline:scr-mx/scrollMarginX,scrollMarginInlineEnd:scr-me,scrollMarginInlineStart:scr-ms,scrollPadding:scr-p,scrollPaddingBlock:scr-py/scrollPaddingY,scrollPaddingBlockStart:scr-pbs,scrollPaddingBlockEnd:scr-pbe,scrollPaddingInline:scr-px/scrollPaddingX,scrollPaddingInlineEnd:scr-pe,scrollPaddingInlineStart:scr-ps,scrollPaddingLeft:scr-pl,scrollPaddingRight:scr-pr,scrollPaddingTop:scr-pt,scrollPaddingBottom:scr-pb,scrollSnapAlign:scr-sa,scrollSnapStop:scrs-s,scrollSnapType:scrs-t,scrollSnapStrictness:scrs-strt,scrollSnapMargin:scrs-m,scrollSnapMarginTop:scrs-mt,scrollSnapMarginBottom:scrs-mb,scrollSnapMarginLeft:scrs-ml,scrollSnapMarginRight:scrs-mr,scrollSnapCoordinate:scrs-c,scrollSnapDestination:scrs-d,scrollSnapPointsX:scrs-px,scrollSnapPointsY:scrs-py,scrollSnapTypeX:scrs-tx,scrollSnapTypeY:scrs-ty,scrollTimeline:scrtl,scrollTimelineAxis:scrtl-a,scrollTimelineName:scrtl-n,touchAction:tch-a,userSelect:us,overflow:ov,overflowWrap:ov-wrap,overflowX:ov-x,overflowY:ov-y,overflowAnchor:ov-a,overflowBlock:ov-b,overflowInline:ov-i,overflowClipBox:ovcp-bx,overflowClipMargin:ovcp-m,overscrollBehaviorBlock:ovs-bb,overscrollBehaviorInline:ovs-bi,fill:fill,stroke:stk,strokeWidth:stk-w,strokeDasharray:stk-dsh,strokeDashoffset:stk-do,strokeLinecap:stk-lc,strokeLinejoin:stk-lj,strokeMiterlimit:stk-ml,strokeOpacity:stk-op,srOnly:sr,debug:debug,appearance:ap,backfaceVisibility:bfv,clipPath:cp-path,hyphens:hy,mask:msk,maskImage:msk-i,maskSize:msk-s,textSizeAdjust:txt-adj,container:cq,containerName:cq-n,containerType:cq-t,cursor:cursor,gridRowStart:rowStart/1,gridRowEnd:rowEnd/1,textStyle:textStyle"
5
+
6
+ const classNameByProp = new Map()
7
+ const shorthands = new Map()
8
+ utilities.split(',').forEach((utility) => {
9
+ const [prop, meta] = utility.split(':')
10
+ const [className, ...shorthandList] = meta.split('/')
11
+ classNameByProp.set(prop, className)
12
+ if (shorthandList.length) {
13
+ shorthandList.forEach((shorthand) => {
14
+ shorthands.set(shorthand === '1' ? className : shorthand, prop)
15
+ })
16
+ }
17
+ })
18
+
19
+ const resolveShorthand = (prop) => shorthands.get(prop) || prop
20
+
21
+ const context = {
22
+
23
+ conditions: {
24
+ shift: sortConditions,
25
+ finalize: finalizeConditions,
26
+ breakpoints: { keys: ["base","xs","sm","md","lg","xl","2xl"] }
27
+ },
28
+ utility: {
29
+
30
+ transform: (prop, value) => {
31
+ const key = resolveShorthand(prop)
32
+ const propKey = classNameByProp.get(key) || hypenateProperty(key)
33
+ return { className: `${propKey}_${withoutSpace(value)}` }
34
+ },
35
+ hasShorthand: true,
36
+ toHash: (path, hashFn) => hashFn(path.join(":")),
37
+ resolveShorthand: resolveShorthand,
38
+ }
39
+ }
40
+
41
+ const cssFn = createCss(context)
42
+ export const css = (...styles) => cssFn(mergeCss(...styles))
43
+ css.raw = (...styles) => mergeCss(...styles)
44
+
45
+ export const { mergeCss, assignCss } = createMergeCss(context)
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ import type { RecipeCreatorFn } from '../types/recipe';
3
+
4
+ export declare const cva: RecipeCreatorFn
5
+
6
+ export type { RecipeVariant, RecipeVariantProps } from '../types/recipe';
@@ -0,0 +1,87 @@
1
+ import { compact, mergeProps, memo, splitProps, uniq } from '../helpers.mjs';
2
+ import { css, mergeCss } from './css.mjs';
3
+
4
+ const defaults = (conf) => ({
5
+ base: {},
6
+ variants: {},
7
+ defaultVariants: {},
8
+ compoundVariants: [],
9
+ ...conf,
10
+ })
11
+
12
+ export function cva(config) {
13
+ const { base, variants, defaultVariants, compoundVariants } = defaults(config)
14
+ const getVariantProps = (variants) => ({ ...defaultVariants, ...compact(variants) })
15
+
16
+ function resolve(props = {}) {
17
+ const computedVariants = getVariantProps(props)
18
+ let variantCss = { ...base }
19
+ for (const [key, value] of Object.entries(computedVariants)) {
20
+ if (variants[key]?.[value]) {
21
+ variantCss = mergeCss(variantCss, variants[key][value])
22
+ }
23
+ }
24
+ const compoundVariantCss = getCompoundVariantCss(compoundVariants, computedVariants)
25
+ return mergeCss(variantCss, compoundVariantCss)
26
+ }
27
+
28
+ function merge(__cva) {
29
+ const override = defaults(__cva.config)
30
+ const variantKeys = uniq(__cva.variantKeys, Object.keys(variants))
31
+ return cva({
32
+ base: mergeCss(base, override.base),
33
+ variants: Object.fromEntries(
34
+ variantKeys.map((key) => [key, mergeCss(variants[key], override.variants[key])]),
35
+ ),
36
+ defaultVariants: mergeProps(defaultVariants, override.defaultVariants),
37
+ compoundVariants: [...compoundVariants, ...override.compoundVariants],
38
+ })
39
+ }
40
+
41
+ function cvaFn(props) {
42
+ return css(resolve(props))
43
+ }
44
+
45
+ const variantKeys = Object.keys(variants)
46
+
47
+ function splitVariantProps(props) {
48
+ return splitProps(props, variantKeys)
49
+ }
50
+
51
+ const variantMap = Object.fromEntries(Object.entries(variants).map(([key, value]) => [key, Object.keys(value)]))
52
+
53
+ return Object.assign(memo(cvaFn), {
54
+ __cva__: true,
55
+ variantMap,
56
+ variantKeys,
57
+ raw: resolve,
58
+ config,
59
+ merge,
60
+ splitVariantProps,
61
+ getVariantProps
62
+ })
63
+ }
64
+
65
+ export function getCompoundVariantCss(compoundVariants, variantMap) {
66
+ let result = {}
67
+ compoundVariants.forEach((compoundVariant) => {
68
+ const isMatching = Object.entries(compoundVariant).every(([key, value]) => {
69
+ if (key === 'css') return true
70
+
71
+ const values = Array.isArray(value) ? value : [value]
72
+ return values.some((value) => variantMap[key] === value)
73
+ })
74
+
75
+ if (isMatching) {
76
+ result = mergeCss(result, compoundVariant.css)
77
+ }
78
+ })
79
+
80
+ return result
81
+ }
82
+
83
+ export function assertCompoundVariant(name, compoundVariants, variants, prop) {
84
+ if (compoundVariants.length > 0 && typeof variants?.[prop] === 'object') {
85
+ throw new Error(`[recipe:${name}:${prop}] Conditions are not supported when using compound variants.`)
86
+ }
87
+ }
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ type Argument = string | boolean | null | undefined
3
+
4
+ /** Conditionally join classNames into a single string */
5
+ export declare function cx(...args: Argument[]): string
@@ -0,0 +1,15 @@
1
+ function cx() {
2
+ let str = '',
3
+ i = 0,
4
+ arg
5
+
6
+ for (; i < arguments.length; ) {
7
+ if ((arg = arguments[i++]) && typeof arg === 'string') {
8
+ str && (str += ' ')
9
+ str += arg
10
+ }
11
+ }
12
+ return str
13
+ }
14
+
15
+ export { cx }
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ export * from './css';
3
+ export * from './cx';
4
+ export * from './cva';
5
+ export * from './sva';
@@ -0,0 +1,4 @@
1
+ export * from './css.mjs';
2
+ export * from './cx.mjs';
3
+ export * from './cva.mjs';
4
+ export * from './sva.mjs';
@@ -0,0 +1,4 @@
1
+ /* eslint-disable */
2
+ import type { SlotRecipeCreatorFn } from '../types/recipe';
3
+
4
+ export declare const sva: SlotRecipeCreatorFn
@@ -0,0 +1,46 @@
1
+ import { compact, getSlotRecipes, memo, splitProps } from '../helpers.mjs';
2
+ import { cva } from './cva.mjs';
3
+ import { cx } from './cx.mjs';
4
+
5
+ export function sva(config) {
6
+ const slots = Object.entries(getSlotRecipes(config)).map(([slot, slotCva]) => [slot, cva(slotCva)])
7
+ const defaultVariants = config.defaultVariants ?? {}
8
+
9
+ const classNameMap = slots.reduce((acc, [slot, cvaFn]) => {
10
+ if (config.className) acc[slot] = cvaFn.config.className
11
+ return acc
12
+ }, {})
13
+
14
+ function svaFn(props) {
15
+ const result = slots.map(([slot, cvaFn]) => [slot, cx(cvaFn(props), classNameMap[slot])])
16
+ return Object.fromEntries(result)
17
+ }
18
+
19
+ function raw(props) {
20
+ const result = slots.map(([slot, cvaFn]) => [slot, cvaFn.raw(props)])
21
+ return Object.fromEntries(result)
22
+ }
23
+
24
+ const variants = config.variants ?? {};
25
+ const variantKeys = Object.keys(variants);
26
+
27
+ function splitVariantProps(props) {
28
+ return splitProps(props, variantKeys);
29
+ }
30
+ const getVariantProps = (variants) => ({ ...defaultVariants, ...compact(variants) })
31
+
32
+ const variantMap = Object.fromEntries(
33
+ Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])
34
+ );
35
+
36
+ return Object.assign(memo(svaFn), {
37
+ __cva__: false,
38
+ raw,
39
+ config,
40
+ variantMap,
41
+ variantKeys,
42
+ classNameMap,
43
+ splitVariantProps,
44
+ getVariantProps,
45
+ })
46
+ }