qstd 0.1.5 → 0.2.0

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
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.0] - 2025-11-22
11
+
12
+ ### Added
13
+
14
+ - Enhanced `center` utility to support directional centering
15
+ - `center` - centers both axes (placeContent + placeItems)
16
+ - `center="x"` - centers horizontally (justifyContent)
17
+ - `center="y"` - centers vertically (alignItems)
18
+ - Added `prepare:local` convenience script for local testing workflow
19
+ - Updated DEVELOPMENT.md with local testing workflow using playground symbolic link
20
+
21
+ ## [0.1.6] - Previous
22
+
10
23
  ### Added
11
24
 
12
25
  - Initial package structure
@@ -17,7 +30,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
30
  - Panda CSS preset placeholder
18
31
  - Block component placeholder
19
32
 
20
- ## [0.1.0] - TBD
21
-
22
- Initial beta release (to be published)
23
-
@@ -146,9 +146,16 @@ var preset = {
146
146
  }
147
147
  },
148
148
  center: {
149
- values: { type: "boolean" },
150
- transform() {
151
- return { placeContent: "center", placeItems: "center" };
149
+ values: { type: "boolean | 'x' | 'y'" },
150
+ transform(value) {
151
+ if (value === "x") {
152
+ return { justifyContent: "center" };
153
+ }
154
+ if (value === "y") {
155
+ return { alignItems: "center" };
156
+ } else {
157
+ return { placeContent: "center", placeItems: "center" };
158
+ }
152
159
  }
153
160
  },
154
161
  relative: {
@@ -144,9 +144,16 @@ var preset = {
144
144
  }
145
145
  },
146
146
  center: {
147
- values: { type: "boolean" },
148
- transform() {
149
- return { placeContent: "center", placeItems: "center" };
147
+ values: { type: "boolean | 'x' | 'y'" },
148
+ transform(value) {
149
+ if (value === "x") {
150
+ return { justifyContent: "center" };
151
+ }
152
+ if (value === "y") {
153
+ return { alignItems: "center" };
154
+ } else {
155
+ return { placeContent: "center", placeItems: "center" };
156
+ }
150
157
  }
151
158
  },
152
159
  relative: {
@@ -11,7 +11,6 @@ var reactSpinners = require('react-spinners');
11
11
  var reactLoaderSpinner = require('react-loader-spinner');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
  var nanoid = require('nanoid');
14
- var mmb = require('music-metadata-browser');
15
14
  var reactFontawesome = require('@fortawesome/react-fontawesome');
16
15
  var fontawesomeSvgCore = require('@fortawesome/fontawesome-svg-core');
17
16
  var freeRegularSvgIcons = require('@fortawesome/free-regular-svg-icons');
@@ -38,7 +37,8 @@ function _interopNamespace(e) {
38
37
  }
39
38
 
40
39
  var React11__namespace = /*#__PURE__*/_interopNamespace(React11);
41
- var mmb__namespace = /*#__PURE__*/_interopNamespace(mmb);
40
+
41
+ // src/react/index.ts
42
42
 
43
43
  // styled-system/helpers.mjs
44
44
  function isObject(value) {
@@ -905,7 +905,8 @@ var extractImageMetadata = (f) => {
905
905
  });
906
906
  };
907
907
  var extractAudioMetadata = async (f) => {
908
- const meta = await mmb__namespace.parseBlob(f, { duration: true });
908
+ const mmb = await import('music-metadata-browser');
909
+ const meta = await mmb.parseBlob(f, { duration: true });
909
910
  return new Promise((res, rej) => {
910
911
  if (!f) rej("No audio file provided.");
911
912
  const ext = f.name.split(".").pop();