qstd 0.2.18 → 0.2.20

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.
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../../src/block/test-types.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,eAAe,+CA2IpB,CAAC;AAeF,QAAA,MAAM,cAAc,YAMnB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../../src/block/test-types.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,eAAe,+CA2IpB,CAAC;AAGF,QAAA,MAAM,cAAc,YAMnB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,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,
@@ -1065,7 +1067,12 @@ var extractElAndStyles = (extract, anyProps) => {
1065
1067
  variants,
1066
1068
  transition: _motion ?? transition
1067
1069
  } : void 0;
1068
- const remaining = omit(rest, ["loadingPosition", "loadingIcon", "isLoading"]);
1070
+ const remaining = omit(rest, [
1071
+ "loadingPosition",
1072
+ "loadingIcon",
1073
+ "isLoading",
1074
+ "children"
1075
+ ]);
1069
1076
  const cursor = anyProps.isLoading ? "not-allowed" : "pointer";
1070
1077
  const btnClassName = extract.is === "btn" ? css({ display: "flex", alignI: "center", cursor }) : "";
1071
1078
  const linkClassName = extract.isLink ? css({
@@ -3497,17 +3504,26 @@ function Block(props) {
3497
3504
  multiple,
3498
3505
  accept: anyProps.accept,
3499
3506
  style: { display: "none" },
3500
- onChange: async (e) => {
3507
+ onChange: (e) => {
3501
3508
  const files = Array.from(e.target.files ?? []);
3502
- const selectedFiles = files.length ? await prepareFiles(files) : [];
3503
- if (anyProps.onChange) {
3504
- anyProps.onChange(selectedFiles);
3509
+ if (files.length) {
3510
+ void prepareFiles(files).then((selectedFiles) => {
3511
+ if (anyProps.onChange) {
3512
+ anyProps.onChange(selectedFiles);
3513
+ }
3514
+ });
3515
+ } else if (anyProps.onChange) {
3516
+ anyProps.onChange([]);
3505
3517
  }
3506
3518
  },
3507
3519
  value: ""
3508
3520
  }
3509
3521
  )
3510
- ] }) : React12__namespace.createElement(
3522
+ ] }) : extract.isVoidElement ? React12__namespace.createElement(Comp, {
3523
+ ...isLoading && { "data-loading": isLoading },
3524
+ onContextMenu: (e) => e.preventDefault(),
3525
+ ...initialStyles
3526
+ }) : React12__namespace.createElement(
3511
3527
  Comp,
3512
3528
  {
3513
3529
  ...isLoading && { "data-loading": isLoading },
@@ -3527,18 +3543,19 @@ function Block(props) {
3527
3543
  const portalContainer = rest.portalContainer;
3528
3544
  const fallback = document.getElementById("portal") || document.body;
3529
3545
  const container = portalContainer ?? fallback;
3530
- return reactDom.createPortal(
3531
- component,
3532
- container
3533
- );
3546
+ return reactDom.createPortal(component, container);
3534
3547
  } else {
3535
3548
  return component;
3536
3549
  }
3537
3550
  }
3538
- TooltipContainer.isBlockTooltipContainer = true;
3539
- MenuContainer.isBlockMenuContainer = true;
3540
- var TooltipNamespace = { Container: TooltipContainer };
3541
- var MenuNamespace = { Container: MenuContainer };
3551
+ var TaggedTooltipContainer = Object.assign(TooltipContainer, {
3552
+ isBlockTooltipContainer: true
3553
+ });
3554
+ var TaggedMenuContainer = Object.assign(MenuContainer, {
3555
+ isBlockMenuContainer: true
3556
+ });
3557
+ var TooltipNamespace = { Container: TaggedTooltipContainer };
3558
+ var MenuNamespace = { Container: TaggedMenuContainer };
3542
3559
  var InputNamespace = {
3543
3560
  Label: Label2,
3544
3561
  RightSide,
@@ -838,9 +838,6 @@
838
838
  .bg_white {
839
839
  background: var(--colors-white);
840
840
  }
841
- .bg_red\.500 {
842
- background: var(--colors-red-500);
843
- }
844
841
  .bg_rgba\(20\,20\,20\,0\.95\) {
845
842
  background: rgba(20, 20, 20, 0.95);
846
843
  }
@@ -946,9 +943,6 @@
946
943
  .trs_background-color_0\.2s_ease-in-out {
947
944
  transition: background-color 0.2s ease-in-out;
948
945
  }
949
- .py_3 {
950
- padding-block: var(--spacing-3);
951
- }
952
946
  .px_10px {
953
947
  padding-inline: 10px;
954
948
  }
@@ -1347,12 +1341,6 @@
1347
1341
  .h_fit-content {
1348
1342
  height: fit-content;
1349
1343
  }
1350
- .mr_2 {
1351
- margin-right: var(--spacing-2);
1352
- }
1353
- .h_true {
1354
- height: 100%;
1355
- }
1356
1344
  .top_1 {
1357
1345
  top: var(--spacing-1);
1358
1346
  }
@@ -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,
@@ -1042,7 +1044,12 @@ var extractElAndStyles = (extract, anyProps) => {
1042
1044
  variants,
1043
1045
  transition: _motion ?? transition
1044
1046
  } : void 0;
1045
- const remaining = omit(rest, ["loadingPosition", "loadingIcon", "isLoading"]);
1047
+ const remaining = omit(rest, [
1048
+ "loadingPosition",
1049
+ "loadingIcon",
1050
+ "isLoading",
1051
+ "children"
1052
+ ]);
1046
1053
  const cursor = anyProps.isLoading ? "not-allowed" : "pointer";
1047
1054
  const btnClassName = extract.is === "btn" ? css({ display: "flex", alignI: "center", cursor }) : "";
1048
1055
  const linkClassName = extract.isLink ? css({
@@ -3474,17 +3481,26 @@ function Block(props) {
3474
3481
  multiple,
3475
3482
  accept: anyProps.accept,
3476
3483
  style: { display: "none" },
3477
- onChange: async (e) => {
3484
+ onChange: (e) => {
3478
3485
  const files = Array.from(e.target.files ?? []);
3479
- const selectedFiles = files.length ? await prepareFiles(files) : [];
3480
- if (anyProps.onChange) {
3481
- anyProps.onChange(selectedFiles);
3486
+ if (files.length) {
3487
+ void prepareFiles(files).then((selectedFiles) => {
3488
+ if (anyProps.onChange) {
3489
+ anyProps.onChange(selectedFiles);
3490
+ }
3491
+ });
3492
+ } else if (anyProps.onChange) {
3493
+ anyProps.onChange([]);
3482
3494
  }
3483
3495
  },
3484
3496
  value: ""
3485
3497
  }
3486
3498
  )
3487
- ] }) : React12.createElement(
3499
+ ] }) : extract.isVoidElement ? React12.createElement(Comp, {
3500
+ ...isLoading && { "data-loading": isLoading },
3501
+ onContextMenu: (e) => e.preventDefault(),
3502
+ ...initialStyles
3503
+ }) : React12.createElement(
3488
3504
  Comp,
3489
3505
  {
3490
3506
  ...isLoading && { "data-loading": isLoading },
@@ -3504,18 +3520,19 @@ function Block(props) {
3504
3520
  const portalContainer = rest.portalContainer;
3505
3521
  const fallback = document.getElementById("portal") || document.body;
3506
3522
  const container = portalContainer ?? fallback;
3507
- return createPortal(
3508
- component,
3509
- container
3510
- );
3523
+ return createPortal(component, container);
3511
3524
  } else {
3512
3525
  return component;
3513
3526
  }
3514
3527
  }
3515
- TooltipContainer.isBlockTooltipContainer = true;
3516
- MenuContainer.isBlockMenuContainer = true;
3517
- var TooltipNamespace = { Container: TooltipContainer };
3518
- var MenuNamespace = { Container: MenuContainer };
3528
+ var TaggedTooltipContainer = Object.assign(TooltipContainer, {
3529
+ isBlockTooltipContainer: true
3530
+ });
3531
+ var TaggedMenuContainer = Object.assign(MenuContainer, {
3532
+ isBlockMenuContainer: true
3533
+ });
3534
+ var TooltipNamespace = { Container: TaggedTooltipContainer };
3535
+ var MenuNamespace = { Container: TaggedMenuContainer };
3519
3536
  var InputNamespace = {
3520
3537
  Label: Label2,
3521
3538
  RightSide,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qstd",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "Standard Block component and utilities library with Panda CSS",
5
5
  "author": "malin1",
6
6
  "license": "MIT",
@@ -42,24 +42,6 @@
42
42
  "sideEffects": [
43
43
  "dist/react/index.css"
44
44
  ],
45
- "scripts": {
46
- "build": "panda codegen && panda cssgen && tsup && tsc -p tsconfig.build.json && node scripts/inject-css-import.js",
47
- "build:js": "tsup",
48
- "build:types": "tsc -p tsconfig.build.json",
49
- "dev": "tsup --watch",
50
- "prepublishOnly": "pnpm build",
51
- "prepare:local": "pnpm build && cd playground && pnpm prepare",
52
- "test": "vitest run",
53
- "test:watch": "vitest",
54
- "test:all": "pnpx tsx tests/test-all.ts",
55
- "test:block": "node tests/test-block.tsx",
56
- "test:playground": "node tests/playground-e2e.mjs",
57
- "typecheck": "tsc --noEmit",
58
- "typecheck:perf": "tsc --noEmit --extendedDiagnostics",
59
- "typecheck:trace": "tsc --noEmit --generateTrace ./performance/ts-trace",
60
- "analyze:tsserver": "bash performance/analyze-tsserver.sh",
61
- "lint": "eslint ."
62
- },
63
45
  "peerDependencies": {
64
46
  "react": "^18.0.0 || ^19.0.0",
65
47
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -115,5 +97,22 @@
115
97
  "bugs": {
116
98
  "url": "https://github.com/55cancri/qstd/issues"
117
99
  },
118
- "homepage": "https://github.com/55cancri/qstd#readme"
119
- }
100
+ "homepage": "https://github.com/55cancri/qstd#readme",
101
+ "scripts": {
102
+ "build": "panda codegen && panda cssgen && tsup && tsc -p tsconfig.build.json && node scripts/inject-css-import.js",
103
+ "build:js": "tsup",
104
+ "build:types": "tsc -p tsconfig.build.json",
105
+ "dev": "tsup --watch",
106
+ "prepare:local": "pnpm build && cd playground && pnpm prepare",
107
+ "test": "vitest run",
108
+ "test:watch": "vitest",
109
+ "test:all": "pnpx tsx tests/test-all.ts",
110
+ "test:block": "node tests/test-block.tsx",
111
+ "test:playground": "node tests/playground-e2e.mjs",
112
+ "typecheck": "tsc --noEmit",
113
+ "typecheck:perf": "tsc --noEmit --extendedDiagnostics",
114
+ "typecheck:trace": "tsc --noEmit --generateTrace ./performance/ts-trace",
115
+ "analyze:tsserver": "bash performance/analyze-tsserver.sh",
116
+ "lint": "eslint ."
117
+ }
118
+ }
@@ -812,10 +812,6 @@
812
812
  background: var(--colors-white);
813
813
  }
814
814
 
815
- .bg_red\.500 {
816
- background: var(--colors-red-500);
817
- }
818
-
819
815
  .bg_rgba\(20\,20\,20\,0\.95\) {
820
816
  background: rgba(20,20,20,0.95);
821
817
  }
@@ -952,10 +948,6 @@
952
948
  transition: background-color 0.2s ease-in-out;
953
949
  }
954
950
 
955
- .py_3 {
956
- padding-block: var(--spacing-3);
957
- }
958
-
959
951
  .px_10px {
960
952
  padding-inline: 10px;
961
953
  }
@@ -1475,14 +1467,6 @@
1475
1467
  height: fit-content;
1476
1468
  }
1477
1469
 
1478
- .mr_2 {
1479
- margin-right: var(--spacing-2);
1480
- }
1481
-
1482
- .h_true {
1483
- height: 100%;
1484
- }
1485
-
1486
1470
  .top_1 {
1487
1471
  top: var(--spacing-1);
1488
1472
  }